Dodji Seketeli <do...@redhat.com> writes: > diff --git a/gcc/testsuite/g++.dg/cpp0x/gen-attrs-52.C > b/gcc/testsuite/g++.dg/cpp0x/gen-attrs-52.C > new file mode 100644 > index 0000000..0f87fd4 > --- /dev/null > +++ b/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"); > +}
This fails on m68k. Andreas. * g++.dg/cpp0x/gen-attrs-52.C: Allow alignment of aa to be less than 4. --- gcc/testsuite/g++.dg/cpp0x/gen-attrs-52.C | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/testsuite/g++.dg/cpp0x/gen-attrs-52.C b/gcc/testsuite/g++.dg/cpp0x/gen-attrs-52.C index 0f87fd4..08906aa 100644 --- a/gcc/testsuite/g++.dg/cpp0x/gen-attrs-52.C +++ b/gcc/testsuite/g++.dg/cpp0x/gen-attrs-52.C @@ -16,6 +16,6 @@ main () 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__ (aa) <= 4, "alignof (aa) should be <=4"); static_assert (__alignof__ (bb) == 16, "alignof (bb) should be 16"); } -- 1.7.12.3 -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different."