new
authorJason Merrill <jason@gcc.gnu.org>
Sun, 12 Jul 1998 03:08:33 +0000 (23:08 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Sun, 12 Jul 1998 03:08:33 +0000 (23:08 -0400)
From-SVN: r21074

gcc/testsuite/g++.old-deja/g++.pt/ttp3.C
gcc/testsuite/g++.old-deja/g++.pt/ttp45.C [new file with mode: 0644]
gcc/testsuite/g++.old-deja/g++.pt/ttp46.C [new file with mode: 0644]
gcc/testsuite/g++.old-deja/g++.pt/ttp47.C [new file with mode: 0644]
gcc/testsuite/g++.old-deja/g++.pt/ttp48.C [new file with mode: 0644]
gcc/testsuite/g++.old-deja/g++.pt/ttp49.C [new file with mode: 0644]
gcc/testsuite/g++.old-deja/g++.pt/ttp50.C [new file with mode: 0644]
gcc/testsuite/g++.old-deja/g++.pt/ttp51.C [new file with mode: 0644]
gcc/testsuite/g++.old-deja/g++.pt/ttp52.C [new file with mode: 0644]

index db22c6f0c653fbfe171bdae739ff1690063f82f3..9a047a846f03ff08986b729f372f83f1318c2049 100644 (file)
@@ -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 (file)
index 0000000..05fcd9d
--- /dev/null
@@ -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 (file)
index 0000000..23a32a8
--- /dev/null
@@ -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 (file)
index 0000000..731ce40
--- /dev/null
@@ -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 (file)
index 0000000..33d0d47
--- /dev/null
@@ -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 (file)
index 0000000..b0a02d2
--- /dev/null
@@ -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 (file)
index 0000000..4892e0c
--- /dev/null
@@ -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 (file)
index 0000000..9a497b7
--- /dev/null
@@ -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 (file)
index 0000000..3a0fb59
--- /dev/null
@@ -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
+  
+};