1template <class T1, class T2> 2class A { 3 template <class S> 4 class SubA { 5 int _k; 6 }; 7 T1 _t1; 8 T2 _t2; 9}; 10 11template <class U> 12class B { 13 class SubB1 { 14 B _i; 15 }; 16 17 class SubB2 { 18 int _j; 19 }; 20 A<U,SubB1>::SubA<SubB2> _a; // { dg-error "not a base type" "not base" } 21 // { dg-message "note" "note" { target *-*-* } 20 } 22 // { dg-error "non-template" "non-template" { target *-*-* } 20 } 23}; 24 25 26int main() { 27 B<char> objB; // { dg-message "instantiated" } 28 29 return 0; 30} 31