// { dg-do compile { target c++11 } } typedef char layout_type; template struct A { layout_type member alignas (double) alignas (int); }; // Here, the spec says that A should have the stricter alignment, // so that would be the alignment of 'double', not 'int'. static_assert (alignof (A) == alignof (double), "alignment of struct A must be alignof (double)"); template struct alignas (1) alignas (alignof (long double)) B { layout_type member; }; // Similarly, the B should have the stricter alignment, so that would // so that would be the alignment of 'long double', not '1'. static_assert (alignof (B) == alignof (long double), "alignment of struct A must be alignof (double double)");