https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65690
Bug ID: 65690 Summary: [5 Regression] typedef alignment lost since r219705 Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jakub at gcc dot gnu.org 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.