* gcc.dg/pragma-align-2.c: New test.
[official-gcc.git] / gcc / testsuite / gcc.dg / pragma-align-2.c
blob3d5e0da32707ef30154eac0dd499aab339c90369
1 /* { dg-do run { target *-*-solaris2.* } } */
3 void abort (void);
5 #pragma align 1(x1)
6 #pragma align 2(x2)
7 #pragma align 4(x4)
8 #pragma align 8(x8,y8,z8)
9 #pragma align 16(x16)
10 #pragma align 32(x32)
11 #pragma align 64(x64)
12 #pragma align 128(x128)
14 #pragma align 8(not_defined)
16 #pragma align 9(odd_align) /* { dg-error "invalid alignment" } */
17 #pragma align 256(high_align) /* { dg-error "invalid alignment" } */
18 #pragma align -1(neg_align) /* { dg-error "malformed" } */
19 #pragma align bad_align /* { dg-error "malformed" } */
20 #pragma align 1(bad_align /* { dg-error "malformed" } */
22 int x, x1, x2, x4, x8, y8, z8, x16, x32, x64, x128;
24 #pragma align 16(x) /* { dg-error "must appear before" } */
26 int
27 main ()
29 if (__alignof__ (x4) < 4)
30 abort ();
32 if (__alignof__ (x8) < 8)
33 abort ();
35 if (__alignof__ (y8) < 8)
36 abort ();
38 if (__alignof__ (z8) < 8)
39 abort ();
41 if (__alignof__ (x16) < 16)
42 abort ();
44 if (__alignof__ (x32) < 32)
45 abort ();
47 if (__alignof__ (x64) < 64)
48 abort ();
50 if (__alignof__ (x128) < 128)
51 abort ();
53 return 0;