]>
Commit | Line | Data |
---|---|---|
790ecf85 JJ |
1 | // { dg-do compile { target c++11 } } |
2 | ||
3 | inline namespace N __attribute__((__abi_tag__ ("foo"))) {} | |
4 | template <typename> struct A {}; | |
5 | namespace N { | |
6 | template <typename> class B {}; | |
7 | } | |
8 | template <typename T> class __attribute__((__aligned__ (sizeof (T)))) C {}; | |
9 | template <typename> struct D { | |
10 | template <typename _Up> using G = C<_Up>; | |
11 | }; | |
12 | template <typename T> struct F { | |
13 | template <typename U> struct H { | |
14 | typedef typename D<T>::template G<U> I; | |
15 | }; | |
16 | }; | |
17 | template <typename T, typename = C<T>> struct J { | |
18 | C<A<const B<char>>> L; | |
19 | typedef F<C<int>>::H<A<const B<char>>>::I M; | |
20 | J<M> *a; | |
21 | }; |