From: Jason Merrill Date: Tue, 3 Mar 1998 01:57:32 +0000 (+0000) Subject: * pt.c (unify): Don't allow reduced cv-quals when strict. X-Git-Tag: prereleases/egcs-1.1-prerelease~2208 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=494321710472a23a9a75d046f9a0fb413e33d2d2;p=thirdparty%2Fgcc.git * pt.c (unify): Don't allow reduced cv-quals when strict. From-SVN: r18383 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index d8adeecfda0a..73b3b3ac1901 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,7 @@ Tue Mar 3 01:38:17 1998 Jason Merrill + * pt.c (unify): Don't allow reduced cv-quals when strict. + * call.c, class.c, pt.c, cp-tree.h: Remove nsubsts parm from *type_unification* and unify. diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 3a3db96cce6f..36f8aafa5541 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -5290,6 +5290,13 @@ unify (tparms, targs, ntparms, parm, arg, strict) if (arg == parm) return 0; + /* We can't remove cv-quals when strict. */ + if (strict && TREE_CODE (arg) == TREE_CODE (parm) + && TREE_CODE_CLASS (TREE_CODE (arg)) == 't' + && (TYPE_READONLY (arg) < TYPE_READONLY (parm) + || TYPE_VOLATILE (arg) < TYPE_VOLATILE (parm))) + return 1; + switch (TREE_CODE (parm)) { case TYPENAME_TYPE: