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()10main () 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