aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/template/nested3.C
blob: 1ae4bf7647d4ac4a05c68042809ad9baee9db615 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
template <class T1, class T2>
class A {
  template <class S>
  class SubA {
    int _k;
  };
  T1 _t1;
  T2 _t2; // { dg-message "instantiated" }
};

template <class U>
class B { // { dg-error "declaration" }
  class SubB1 {
    B _i; // { dg-error "incomplete type" }
  };

  class SubB2 {
    int _j;
  };
  A<U,SubB1>::SubA<SubB2> _a; // { dg-error "not a base type" "not base" }
		// { dg-message "note" "note" { target *-*-* } 20 }
		// { dg-message "instantiated" "inst" { target *-*-* } 20 }
		// { dg-error "non-template" "non-template" { target *-*-* } 20 }
};


int main() {
  B<char> objB; // { dg-message "instantiated" }

  return 0;
}