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