blob: e5817c3d9fa255fa9b5d2af809b2e7f11bbfacd7 [file] [log] [blame]
// { dg-do compile { target c++11 } }
inline namespace N __attribute__((__abi_tag__ ("foo"))) {}
template <typename> struct A {};
namespace N {
template <typename> class B {};
}
template <typename T> class __attribute__((__aligned__ (sizeof (T)))) C {};
template <typename> struct D {
template <typename _Up> using G = C<_Up>;
};
template <typename T> struct F {
template <typename U> struct H {
typedef typename D<T>::template G<U> I;
};
};
template <typename T, typename = C<T>> struct J {
C<A<const B<char>>> L;
typedef F<C<int>>::H<A<const B<char>>>::I M;
J<M> *a;
};