aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/g++.dg/cpp0x/gen-attrs-52.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/g++.dg/cpp0x/gen-attrs-52.C')
-rw-r--r--gcc-4.9/gcc/testsuite/g++.dg/cpp0x/gen-attrs-52.C21
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/g++.dg/cpp0x/gen-attrs-52.C b/gcc-4.9/gcc/testsuite/g++.dg/cpp0x/gen-attrs-52.C
new file mode 100644
index 000000000..0f87fd490
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/g++.dg/cpp0x/gen-attrs-52.C
@@ -0,0 +1,21 @@
+// { dg-do compile { target c++11 } }
+
+struct A {int i;} a [[gnu::aligned(16)]];
+struct B {int i;} __attribute__((aligned(16))) b;
+
+int
+main ()
+{
+ A aa;
+ B bb;
+
+ static_assert (sizeof (a) == 4, "sizeof (a) should be 4");
+ static_assert (sizeof (b) == 16, "sizeof (b) should be 16");
+ static_assert (sizeof (aa) == 4, "sizeof (aa) should be 4");
+ static_assert (sizeof (bb) == 16, "sizeof (bb) should be 16");
+
+ static_assert (__alignof__ (a) == 16, "alignof (a) should be 16");
+ static_assert (__alignof__ (b) == 16, "alignof (b) should be 16");
+ static_assert (__alignof__ (aa) == 4, "alignof (aa) should be 4");
+ static_assert (__alignof__ (bb) == 16, "alignof (bb) should be 16");
+}