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