Merged revisions 208012,208018-208019,208021,208023-208030,208033,208037,208040-20804...
[official-gcc.git] / main / gcc / testsuite / g++.dg / cpp0x / alias-decl-41.C
blobc444217b0ee0aa5c09e2fc801f547ef78e7886b6
1 // PR c++/60182
2 // { dg-require-effective-target c++11 }
4 class B {};
5 template <typename> using __allocator_base = B;
6 template <typename> class F : __allocator_base<int> {};
7 class C {};
8 template <typename, typename = F<int> > class G : C {};
9 template <typename> class D;
10 class A {
11   using Container = G<D<char>>;
12   A();
13   A(D<char> const &);
14   Container m_elements;
16 template <template <class, class> class C, class A = F<D<int>>>
17 void doSomething(C<D<char>, A> &);
18 A::A(D<char> const &) : A() { doSomething(m_elements); }