1 // { dg-do compile { target c++11 } }
2 
3 struct A {int i;}  a [[gnu::aligned(16)]];
4 struct B {int i;} __attribute__((aligned(16))) b;
5 
6 constexpr unsigned si = sizeof(int);
7 constexpr unsigned ai = alignof(int);
8 
9 int
main()10 main ()
11 {
12  A aa;
13  B bb;
14 
15  static_assert (sizeof (a) == si, "sizeof (a) should be 4");
16  static_assert (sizeof (b) == 16, "sizeof (b) should be 16");
17  static_assert (sizeof (aa) == si, "sizeof (aa) should be 4");
18  static_assert (sizeof (bb) == 16, "sizeof (bb) should be 16");
19 
20  static_assert (__alignof__  (a) == 16, "alignof (a) should be 16");
21  static_assert (__alignof__  (b) == 16, "alignof (b) should be 16");
22  static_assert (__alignof__  (aa) == ai, "alignof (aa) should be 4");
23  static_assert (__alignof__  (bb) == 16, "alignof (bb) should be 16");
24 }
25