pt.c (tsubst): Clear TYPE_REFERENCE_TO when creating a reduced-level template type...
authorMark Mitchell <mmitchell@usa.net>
Wed, 11 Mar 1998 07:37:49 +0000 (07:37 +0000)
committerMark Mitchell <mmitchell@gcc.gnu.org>
Wed, 11 Mar 1998 07:37:49 +0000 (07:37 +0000)
* pt.c (tsubst): Clear TYPE_REFERENCE_TO when creating a
        reduced-level template type parameter.

From-SVN: r18472

gcc/cp/ChangeLog
gcc/testsuite/g++.old-deja/g++.pt/memtemp72.C [new file with mode: 0644]

index 45cc241e0ba3091539642dc3fc3a3b7bba498b98..6e1c4ef23307c5d255a271ab0810eff6ec6c56b1 100644 (file)
@@ -1,3 +1,8 @@
+Wed Mar 11 07:31:08 1998  Mark Mitchell  <mmitchell@usa.net>
+
+       * pt.c (tsubst): Clear TYPE_REFERENCE_TO when creating a
+        reduced-level template type parameter.
+
 Wed Mar 11 07:25:20 1998  Mark Mitchell  <mmitchell@usa.net>
 
        * parse.y (new_initializer): Make sure all initializers are
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp72.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp72.C
new file mode 100644 (file)
index 0000000..52332c6
--- /dev/null
@@ -0,0 +1,17 @@
+// Build don't link:
+
+template<class P> struct B
+{
+  template<class T> void f(T& t) { t = T(); }
+};
+
+enum ptype { t1, t2};
+
+struct D : public B<ptype>
+{
+  void g(double& d) { f(d); }
+};
+
+
+D d;