/* { dg-do run { target *-*-solaris2.* } } */
+/* { dg-options "-std=gnu99" } */
void abort (void);
#pragma align 64(x64)
#pragma align 128(x128)
+#define MACRO 128
+#define MACRO2(A) A
+
+#pragma align MACRO(y128)
+#pragma align MACRO2(MACRO) (z128)
+
#pragma align 8(not_defined)
-#pragma align 9(odd_align) /* { dg-error "invalid alignment" } */
-#pragma align 256(high_align) /* { dg-error "invalid alignment" } */
-#pragma align -1(neg_align) /* { dg-error "malformed" } */
-#pragma align bad_align /* { dg-error "malformed" } */
-#pragma align 1(bad_align /* { dg-error "malformed" } */
+#pragma align 9(odd_align) /* { dg-warning "invalid alignment" } */
+#pragma align 256(high_align) /* { dg-warning "invalid alignment" } */
+#pragma align -1(neg_align) /* { dg-warning "malformed" } */
+#pragma align bad_align /* { dg-warning "malformed" } */
+#pragma align 1(bad_align /* { dg-warning "malformed" } */
-int x, x1, x2, x4, x8, y8, z8, x16, x32, x64, x128;
+int x, x1, x2, x4, x8, y8, z8, x16, x32, x64, x128, y128, z128;
-#pragma align 16(x) /* { dg-error "must appear before" } */
+#pragma align 16(x) /* { dg-warning "must appear before" } */
int
main ()
if (__alignof__ (x128) < 128)
abort ();
+ if (__alignof__ (y128) < 128)
+ abort ();
+
+ if (__alignof__ (z128) < 128)
+ abort ();
+
return 0;
}