2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
[official-gcc.git] / gcc / testsuite / gcc.dg / pragma-align.c
blobf5d457e69d517f6d79aae4b74619bae6a1b2c47c
1 /* Prove that HANDLE_SYSTEMV_PRAGMA alignment handling works somewhat. */
3 /* { dg-do compile { target i?86-*-linux* i?86-*-*bsd* i?86-*-sco3.2v5* } } */
5 struct {
6 char one;
7 long two;
8 } defaultalign;
10 #pragma pack(4)
11 struct {
12 char one;
13 long two;
14 } sixteen;
16 #pragma pack(1)
17 struct {
18 char one;
19 long two;
20 } two;
22 #pragma pack(2)
23 struct {
24 char one;
25 long two;
26 } three;
28 #pragma pack()
29 struct {
30 char one;
31 long two;
32 } resetalign;
34 main()
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;