Remove old autovect-branch by moving to "dead" directory.
[official-gcc.git] / old-autovect-branch / gcc / testsuite / gcc.dg / pragma-align.c
blobb00ed7592966ccca6e8a0d51a384662958ed8d8e
1 /* Prove that HANDLE_SYSTEMV_PRAGMA alignment handling works somewhat. */
3 /* { dg-do run { target i?86-*-linux* x86_64-*-linux* i?86-*-*bsd* i?86-*-sco3.2v5* *-*-solaris2.* } } */
5 extern void abort (void);
7 struct {
8 char one;
9 long two;
10 } defaultalign;
12 #if defined(__LP64__)
13 #pragma pack(8)
14 #else
15 #pragma pack(4)
16 #endif
17 struct {
18 char one;
19 long two;
20 } sixteen;
22 #pragma pack(1)
23 struct {
24 char one;
25 long two;
26 } two;
28 #pragma pack(2)
29 struct {
30 char one;
31 long two;
32 } three;
34 #pragma pack()
35 struct {
36 char one;
37 long two;
38 } resetalign;
40 main()
42 if(sizeof(sixteen) < sizeof(defaultalign)) abort();
43 if(sizeof(two) >= sizeof(defaultalign)) abort();
44 if(sizeof(three) <= sizeof(two)) abort();
45 if(sizeof(resetalign) != sizeof(defaultalign)) abort();
46 return 0;