call.c (implicit_conversion): Don't call build_user_type_conversion_1 with a NULL expr, since it will crash.

* call.c (implicit_conversion): Don't call
	build_user_type_conversion_1 with a NULL expr, since it will
	crash.

	* pt.c (unify): Don't try to unify array bounds if either array is
	unbounded.

From-SVN: r17095
This commit is contained in:
Mark Mitchell 1997-12-15 04:40:01 +00:00 committed by Jason Merrill
parent be296fdb53
commit 3042d5bea2
3 changed files with 17 additions and 3 deletions

View File

@ -1,3 +1,12 @@
Sun Dec 14 20:38:35 1997 Mark Mitchell <mmitchell@usa.net>
* call.c (implicit_conversion): Don't call
build_user_type_conversion_1 with a NULL expr, since it will
crash.
* pt.c (unify): Don't try to unify array bounds if either array is
unbounded.
Fri Dec 12 16:09:14 1997 Jason Merrill <jason@yorick.cygnus.com>
* errfn.c (cp_pedwarn, cp_pedwarn_at, cp_error_at, cp_warning_at):

View File

@ -3318,7 +3318,8 @@ implicit_conversion (to, from, expr, flags)
if (conv)
;
else if ((IS_AGGR_TYPE (non_reference (from))
else if (expr != NULL_TREE
&& (IS_AGGR_TYPE (non_reference (from))
|| IS_AGGR_TYPE (non_reference (to)))
&& (flags & LOOKUP_NO_CONVERSION) == 0)
{

View File

@ -3873,8 +3873,12 @@ unify (tparms, targs, ntparms, parm, arg, nsubsts, strict)
case ARRAY_TYPE:
if (TREE_CODE (arg) != ARRAY_TYPE)
return 1;
if (unify (tparms, targs, ntparms, TYPE_DOMAIN (parm), TYPE_DOMAIN (arg),
nsubsts, strict) != 0)
if ((TYPE_DOMAIN (parm) == NULL_TREE)
!= (TYPE_DOMAIN (arg) == NULL_TREE))
return 1;
if (TYPE_DOMAIN (parm) != NULL_TREE
&& unify (tparms, targs, ntparms, TYPE_DOMAIN (parm),
TYPE_DOMAIN (arg), nsubsts, strict) != 0)
return 1;
return unify (tparms, targs, ntparms, TREE_TYPE (parm), TREE_TYPE (arg),
nsubsts, strict);