/* PR c++/65690 */
/* { dg-do run } */

typedef double T[4][4] __attribute__((aligned (2 * __alignof__ (double))));
void foo (const T);
struct S { T s; };

int
main ()
{
  if (__alignof__ (struct S) != 2 * __alignof__ (double)
      || __alignof__ (T) != 2 * __alignof__ (double)
      || __alignof__ (const struct S) != 2 * __alignof__ (double)
      || __alignof__ (const T) != 2 * __alignof__ (double))
    __builtin_abort ();
  return 0;
}

#if defined(__cplusplus) && __cplusplus >= 201103L
static_assert (alignof (S) == 2 * __alignof__ (double), "alignment of S");
static_assert (alignof (T) == 2 * __alignof__ (double), "alignment of T");
static_assert (alignof (const S) == 2 * __alignof__ (double), "alignment of const S");
static_assert (alignof (const T) == 2 * __alignof__ (double), "alignment of const T");
#endif
