aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMark Mitchell <mmitchell@usa.net>1998-03-11 07:37:49 +0000
committerMark Mitchell <mmitchell@gcc.gnu.org>1998-03-11 07:37:49 +0000
commit283badc2c677ff45926217b0c3d8bf4f3a4dfeb5 (patch)
treeb711ac795c9db978c6d1f1907841dd34dd1f95fb /gcc
parent070d3be3644d7d4f479cd7d11d60fd5475f34140 (diff)
downloadgcc-283badc2c677ff45926217b0c3d8bf4f3a4dfeb5.zip
gcc-283badc2c677ff45926217b0c3d8bf4f3a4dfeb5.tar.gz
gcc-283badc2c677ff45926217b0c3d8bf4f3a4dfeb5.tar.bz2
pt.c (tsubst): Clear TYPE_REFERENCE_TO when creating a reduced-level template type parameter.
* pt.c (tsubst): Clear TYPE_REFERENCE_TO when creating a reduced-level template type parameter. From-SVN: r18472
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp72.C17
2 files changed, 22 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 45cc241..6e1c4ef 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -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
index 0000000..52332c6
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.pt/memtemp72.C
@@ -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;
+