OSDN Git Service

Merge tree-ssa-20020619-branch into mainline.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / pragma-align.c
1 /* Prove that HANDLE_SYSTEMV_PRAGMA alignment handling works somewhat. */
2
3 /* { dg-do compile { target i?86-*-linux* i?86-*-*bsd* i?86-*-sco3.2v5* } } */
4
5 struct {
6         char one;
7         long two;
8 } defaultalign;
9
10 #pragma pack(4)
11 struct {
12         char one;
13         long two;
14 } sixteen;
15
16 #pragma pack(1)
17 struct {
18         char one;
19         long two;
20 } two;
21
22 #pragma pack(2)
23 struct {
24         char one;
25         long two;
26 } three;
27
28 #pragma pack()
29 struct {
30         char one;
31         long two;
32 } resetalign;
33
34 main()
35 {
36         if(sizeof(sixteen) < sizeof(defaultalign)) abort();
37         if(sizeof(two) >= sizeof(defaultalign)) abort();
38         if(sizeof(three) <= sizeof(two)) abort();
39         if(sizeof(resetalign) != sizeof(defaultalign)) abort();
40         return 0;
41 }
42