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.

Reply via email to