diff options
author | Jason Merrill <jason@yorick.cygnus.com> | 1998-03-03 01:57:32 +0000 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 1998-03-02 20:57:32 -0500 |
commit | 494321710472a23a9a75d046f9a0fb413e33d2d2 (patch) | |
tree | 6e51715d20d4ec0d5df52d95017ec5e8ee6d94ab | |
parent | 5f9e09cd6ceed932b871479931dd2c9b8c587766 (diff) | |
download | gcc-494321710472a23a9a75d046f9a0fb413e33d2d2.zip gcc-494321710472a23a9a75d046f9a0fb413e33d2d2.tar.gz gcc-494321710472a23a9a75d046f9a0fb413e33d2d2.tar.bz2 |
* pt.c (unify): Don't allow reduced cv-quals when strict.
From-SVN: r18383
-rw-r--r-- | gcc/cp/ChangeLog | 2 | ||||
-rw-r--r-- | gcc/cp/pt.c | 7 |
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index d8adeec..73b3b3a 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,7 @@ Tue Mar 3 01:38:17 1998 Jason Merrill <jason@yorick.cygnus.com> + * 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 3a3db96..36f8aaf 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: |