(store_one_arg): Don't pass ARG->STACK as TARGET if it is a different

mode than the expression (i.e., a promoted mode).

From-SVN: r5063
This commit is contained in:
Richard Kenner 1993-08-03 17:34:43 -04:00
parent 377017c491
commit 3a08477ac5
1 changed files with 4 additions and 1 deletions

View File

@ -2805,7 +2805,10 @@ store_one_arg (arg, argblock, may_be_alloca, variable_size, fndecl,
if (arg->pass_on_stack)
stack_arg_under_construction++;
#endif
arg->value = expand_expr (pval, partial ? NULL_RTX : arg->stack,
arg->value = expand_expr (pval,
(partial
|| TYPE_MODE (TREE_TYPE (pval)) != arg->mode)
? NULL_RTX : arg->stack,
VOIDmode, 0);
/* If we are promoting object (or for any other reason) the mode