summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/template/nested3.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.dg/template/nested3.C')
-rw-r--r--gcc/testsuite/g++.dg/template/nested3.C30
1 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/template/nested3.C b/gcc/testsuite/g++.dg/template/nested3.C
new file mode 100644
index 000000000..5652e178a
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/nested3.C
@@ -0,0 +1,30 @@
+template <class T1, class T2>
+class A {
+ template <class S>
+ class SubA {
+ int _k;
+ };
+ T1 _t1;
+ T2 _t2;
+};
+
+template <class U>
+class B {
+ class SubB1 {
+ B _i;
+ };
+
+ 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-error "non-template" "non-template" { target *-*-* } 20 }
+};
+
+
+int main() {
+ B<char> objB; // { dg-message "instantiated" }
+
+ return 0;
+}