1272343Sngie#include <unistd.h> 2272343Sngie 3272343Sngie#ifdef CHECK_STACK_ALIGNMENT 4272343Sngie#include <stdlib.h> 5272343Sngie 6272343Sngieextern "C" int check_stack_alignment(void); 7272343Sngie#endif 8272343Sngie 9272343Sngieclass Test { 10272343Sngiepublic: 11272343Sngie Test() 12272343Sngie { 13272343Sngie static const char msg[] = "constructor executed\n"; 14272343Sngie write(STDOUT_FILENO, msg, sizeof(msg) - 1); 15272343Sngie#ifdef CHECK_STACK_ALIGNMENT 16272343Sngie if (!check_stack_alignment()) { 17272343Sngie static const char msg2[] = "stack unaligned \n"; 18272343Sngie write(STDOUT_FILENO, msg2, sizeof(msg2) - 1); 19272343Sngie exit(1); 20272343Sngie } 21272343Sngie#endif 22272343Sngie } 23272343Sngie ~Test() 24272343Sngie { 25272343Sngie static const char msg[] = "destructor executed\n"; 26272343Sngie write(STDOUT_FILENO, msg, sizeof(msg) - 1); 27272343Sngie#ifdef CHECK_STACK_ALIGNMENT 28272343Sngie if (!check_stack_alignment()) { 29272343Sngie static const char msg2[] = "stack unaligned \n"; 30272343Sngie write(STDOUT_FILENO, msg2, sizeof(msg2) - 1); 31272343Sngie exit(1); 32272343Sngie } 33272343Sngie#endif 34272343Sngie } 35272343Sngie}; 36272343Sngie 37272343SngieTest test; 38