OSDN Git Service

Merge from transactional-memory branch.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / pragma-align-2.c
index 3d5e0da..5cdaff9 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do run { target *-*-solaris2.* } } */
+/* { dg-options "-std=gnu99" } */
 
 void abort (void);
 
@@ -11,17 +12,23 @@ 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 ()
@@ -50,5 +57,11 @@ main ()
   if (__alignof__ (x128) < 128)
     abort ();
 
+  if (__alignof__ (y128) < 128)
+    abort ();
+
+  if (__alignof__ (z128) < 128)
+    abort (); 
+
   return 0;
 }