OSDN Git Service

Restore canonical type comparison for dependent type(def)s
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / template / canon-type-11.C
1 // Contributed by Dodji Seketeli <dodji@redhat.com>
2 // { dg-do "compile" }
3
4 template<class T>
5 struct C
6 {
7   void bar();
8 };
9
10 template<class T>
11 void
12 C<T>::bar()
13 {
14 }
15
16
17 template<class U,
18          template<class TT0_T0> class TT0 = C,
19          template<class TT1_T0> class TT1 = TT0>
20 struct S
21 {
22   C<U> s;
23
24   void foo(TT1<U>);
25
26   void bar()
27   {
28     foo(s);
29   }
30 };
31
32 template<class T,
33          template<class TT0_T0> class TT0,
34          template<class TT1_T0> class TT1>
35 void
36 S<T, TT0, TT1>::foo(TT1<T>)
37 {
38   C<T> c;
39 }