Home | History | Annotate | Line # | Download | only in dso
      1 #include <unistd.h>
      2 
      3 #ifdef CHECK_STACK_ALIGNMENT
      4 #include <stdlib.h>
      5 
      6 extern "C" int check_stack_alignment(void);
      7 #endif
      8 
      9 class Test2 {
     10 public:
     11 	Test2()
     12 	{
     13 		static const char msg[] = "constructor2 executed\n";
     14 		write(STDOUT_FILENO, msg, sizeof(msg) - 1);
     15 #ifdef CHECK_STACK_ALIGNMENT
     16 		if (!check_stack_alignment()) {
     17 			static const char msg2[] = "stack unaligned \n";
     18 			write(STDOUT_FILENO, msg2, sizeof(msg2) - 1);
     19 			exit(1);
     20 		}
     21 #endif
     22 	}
     23 	~Test2()
     24 	{
     25 		static const char msg[] = "destructor2 executed\n";
     26 		write(STDOUT_FILENO, msg, sizeof(msg) - 1);
     27 #ifdef CHECK_STACK_ALIGNMENT
     28 		if (!check_stack_alignment()) {
     29 			static const char msg2[] = "stack unaligned \n";
     30 			write(STDOUT_FILENO, msg2, sizeof(msg2) - 1);
     31 			exit(1);
     32 		}
     33 #endif
     34 	}
     35 };
     36 
     37 Test2 test2;
     38