summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.pt/crash66.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.pt/crash66.C')
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash66.C40
1 files changed, 40 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash66.C b/gcc/testsuite/g++.old-deja/g++.pt/crash66.C
new file mode 100644
index 000000000..cbcef1886
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.pt/crash66.C
@@ -0,0 +1,40 @@
+// { dg-do assemble }
+//
+// Copyright (C) 2001 Free Software Foundation, Inc.
+// Contributed by Nathan Sidwell 7 May 2001 <nathan@codesourcery.com>
+
+// Bug 2525. We ICEd when a namespace scope template was erroneously
+// given as a base member init.
+
+namespace N1
+{
+ template<typename T>
+ struct B
+ {
+ B (T);
+ };
+
+ template<typename T>
+ struct D : B<T>
+ {
+ D (T r)
+ : B (r) // { dg-error "" } no field named B
+ {}
+ };
+}
+
+template<typename T>
+struct D1 : N1::B<T>
+{
+ D1 (T r)
+ : N1::B<T> (r)
+ {}
+};
+
+template<typename T>
+struct D2 : N1::B<T>
+{
+ D2 (T r)
+ : N1::B (r) // { dg-error "" } no field named N1::B
+ {}
+};