aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason@gcc.gnu.org>1998-07-11 23:08:33 -0400
committerJason Merrill <jason@gcc.gnu.org>1998-07-11 23:08:33 -0400
commit841f616caa2b103ba32f637c5f71bd18c31e2f79 (patch)
tree5647e004ba82bac8f8d8de0e64a16af5aae39ba0
parent744fac594b8f707fc4bbb7acbdcf4b8753d4cd71 (diff)
downloadgcc-841f616caa2b103ba32f637c5f71bd18c31e2f79.zip
gcc-841f616caa2b103ba32f637c5f71bd18c31e2f79.tar.gz
gcc-841f616caa2b103ba32f637c5f71bd18c31e2f79.tar.bz2
new
From-SVN: r21074
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp3.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp45.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp46.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp47.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp48.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp49.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp50.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp51.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp52.C18
9 files changed, 91 insertions, 1 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp3.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp3.C
index db22c6f..9a047a8 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp3.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/ttp3.C
@@ -5,7 +5,7 @@ template<class E,class F> class D
};
template<template<class> class D,class E> class C
-{ // ERROR - ref below
+{
};
int main()
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp45.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp45.C
new file mode 100644
index 0000000..05fcd9d
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.pt/ttp45.C
@@ -0,0 +1,7 @@
+// Build don't link:
+
+template<class M, class T> struct temp2;
+template<template<class> class M, class T> struct temp2<M<T>, T> {};
+
+template<class M> struct temp1;
+template<template<class> class M, class T> struct temp1<M<T> > {};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp46.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp46.C
new file mode 100644
index 0000000..23a32a8
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.pt/ttp46.C
@@ -0,0 +1,4 @@
+// Build don't link:
+
+template <template<class> class TT> void f() {}
+template <template<class,class> class TT> void f() {}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp47.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp47.C
new file mode 100644
index 0000000..731ce40
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.pt/ttp47.C
@@ -0,0 +1,16 @@
+template <template<class,class> class TT, class T> void f(T)
+{
+}
+
+template <template<class> class TT, class T> void f(T)
+{
+}
+
+template <class T> class C {};
+template <class T,class U> class D {};
+
+int main()
+{
+ f<C>(1);
+ f<D>(1);
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp48.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp48.C
new file mode 100644
index 0000000..33d0d47
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.pt/ttp48.C
@@ -0,0 +1,16 @@
+template <template<int> class TT, class T> void f(T)
+{
+}
+
+template <template<class> class TT, class T> void f(T)
+{
+}
+
+template <class T> class C {};
+template <int> class D {};
+
+int main()
+{
+ f<C>(1);
+ f<D>(1);
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp49.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp49.C
new file mode 100644
index 0000000..b0a02d2
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.pt/ttp49.C
@@ -0,0 +1,9 @@
+// Build don't link:
+
+template <int i> class C {};
+template <template <long> class TT> class D {};
+
+int main()
+{
+ D<C> d; // ERROR - args not match
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp50.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp50.C
new file mode 100644
index 0000000..4892e0c
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.pt/ttp50.C
@@ -0,0 +1,7 @@
+template <class T, template <T> class TT> class C {};
+template <int> class D {};
+
+int main()
+{
+ C<int,D> c;
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp51.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp51.C
new file mode 100644
index 0000000..9a497b7
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.pt/ttp51.C
@@ -0,0 +1,13 @@
+template<class E, int i, class F, class G=int, int j=i, class H=E> class D
+{
+};
+
+template<template<class,int,class,class> class D,class E> class C
+{
+ D<E,2,char,bool> d;
+};
+
+int main()
+{
+ C<D,int> c;
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp52.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp52.C
new file mode 100644
index 0000000..3a0fb59
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.pt/ttp52.C
@@ -0,0 +1,18 @@
+// Build don't link:
+
+template<class A,class B> class mymap {};
+
+template<class Key,
+ class Value,
+ template<class, class > class MapT>
+class base
+{
+
+};
+
+// specialization
+template<class Key, class Value>
+class base<Key, Value, mymap<int, int > > // ERROR - mymap<...> is not a template
+{ // ERROR - Bad class name
+
+};