// { dg-do compile { target c++11 } }
// Origin: Benjamin Kosnik <bkoz at gcc dot gnu dot org>
// PR c++/17743: Attributes applied to typedefs.

struct A {
  typedef char layout_type[sizeof(double)]
  [[gnu::aligned(alignof(double))]];
  layout_type data;
};

struct B {
  typedef char layout_type[sizeof(double)];
  layout_type data  [[gnu::aligned(alignof(double))]];
};

template<bool> struct StaticAssert;
template<> struct StaticAssert<true> {};

StaticAssert<alignof(A) == alignof(B)> a1;
