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.
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: