aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason@gcc.gnu.org>1998-08-10 08:39:12 -0400
committerJason Merrill <jason@gcc.gnu.org>1998-08-10 08:39:12 -0400
commit77d7c64b6ef508ae849d01ff938a495c190d3ac4 (patch)
tree0a492c06bf5b16d76c564aa204f89f05517657de
parentf625817271a4eafaceff61672314e2da9d50235b (diff)
downloadgcc-77d7c64b6ef508ae849d01ff938a495c190d3ac4.zip
gcc-77d7c64b6ef508ae849d01ff938a495c190d3ac4.tar.gz
gcc-77d7c64b6ef508ae849d01ff938a495c190d3ac4.tar.bz2
new
From-SVN: r21654
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/lookup3.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t35a.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/test4.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/typename9.C16
4 files changed, 42 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/lookup3.C b/gcc/testsuite/g++.old-deja/g++.pt/lookup3.C
new file mode 100644
index 0000000..9ada72f
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.pt/lookup3.C
@@ -0,0 +1,17 @@
+template<class T>
+class A {
+public:
+ void f() { }
+};
+
+class B : public A<int> {
+public:
+ void f();
+};
+
+int main()
+{
+ B b;
+ B& b1 = b;
+ b1.A<int>::f();
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t35a.C b/gcc/testsuite/g++.old-deja/g++.pt/t35a.C
new file mode 100644
index 0000000..40fba4d
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.pt/t35a.C
@@ -0,0 +1,5 @@
+// Build don't link:
+
+template <class X> struct A { };
+struct A<int> { int foo (); };
+int A<int>::foo () { return 37; }
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/test4.C b/gcc/testsuite/g++.old-deja/g++.pt/test4.C
new file mode 100644
index 0000000..f4c2a20
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.pt/test4.C
@@ -0,0 +1,4 @@
+// Build don't link:
+
+class B { };
+template <class x, int b> class X : public B { int y[b]; };
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typename9.C b/gcc/testsuite/g++.old-deja/g++.pt/typename9.C
new file mode 100644
index 0000000..027d0a0
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.pt/typename9.C
@@ -0,0 +1,16 @@
+// Test to make sure that implicit typename doesn't break name binding rules.
+// Special g++ Options: -w
+
+typedef double A;
+template<class T> class B {
+ typedef char A;
+};
+template<class T> struct X : B<T> {
+ A a;
+};
+
+int main()
+{
+ X<char*> x;
+ return sizeof (x.a) != sizeof (double);
+}