PR middle-end/85602 - -Wsizeof-pointer-memaccess for strncat with size of source
[official-gcc.git] / gcc / testsuite / gcc.dg / pragma-align-2.c
blob5cdaff9586fdd8312e59939c0f1e0c853b60cb2e
1 /* { dg-do run { target *-*-solaris2.* } } */
2 /* { dg-options "-std=gnu99" } */
4 void abort (void);
6 #pragma align 1(x1)
7 #pragma align 2(x2)
8 #pragma align 4(x4)
9 #pragma align 8(x8,y8,z8)
10 #pragma align 16(x16)
11 #pragma align 32(x32)
12 #pragma align 64(x64)
13 #pragma align 128(x128)
15 #define MACRO 128
16 #define MACRO2(A) A
18 #pragma align MACRO(y128)
19 #pragma align MACRO2(MACRO) (z128)
21 #pragma align 8(not_defined)
23 #pragma align 9(odd_align) /* { dg-warning "invalid alignment" } */
24 #pragma align 256(high_align) /* { dg-warning "invalid alignment" } */
25 #pragma align -1(neg_align) /* { dg-warning "malformed" } */
26 #pragma align bad_align /* { dg-warning "malformed" } */
27 #pragma align 1(bad_align /* { dg-warning "malformed" } */
29 int x, x1, x2, x4, x8, y8, z8, x16, x32, x64, x128, y128, z128;
31 #pragma align 16(x) /* { dg-warning "must appear before" } */
33 int
34 main ()
36 if (__alignof__ (x4) < 4)
37 abort ();
39 if (__alignof__ (x8) < 8)
40 abort ();
42 if (__alignof__ (y8) < 8)
43 abort ();
45 if (__alignof__ (z8) < 8)
46 abort ();
48 if (__alignof__ (x16) < 16)
49 abort ();
51 if (__alignof__ (x32) < 32)
52 abort ();
54 if (__alignof__ (x64) < 64)
55 abort ();
57 if (__alignof__ (x128) < 128)
58 abort ();
60 if (__alignof__ (y128) < 128)
61 abort ();
63 if (__alignof__ (z128) < 128)
64 abort ();
66 return 0;