https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65715
Bug ID: 65715 Summary: Aligned attribute C++ issues Product: gcc Version: 5.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jakub at gcc dot gnu.org CC: hubicka at gcc dot gnu.org, jason at gcc dot gnu.org Depends on: 65690 +++ This bug was initially created as a clone of Bug #65690 +++ typedef double T[4][4] __attribute__((aligned (16))); void foo (const T); struct S { T s; }; int main () { if (__alignof__ (struct S) < 16 || __alignof__ (T) < 16) __builtin_abort (); return 0; } (distilled from WebKit) fails with C++ starting with r219705 (but keeps working with C). Without the const T in the argument list of foo (or with just T in there) it works.