From 665381933b28226f275d86853b0bbfe96693759b Mon Sep 17 00:00:00 2001 From: Richard Stallman Date: Fri, 19 Mar 1993 08:42:28 +0000 Subject: [PATCH] (expand_assignment): Pass to_rtx's mode to expand_expr when assigning a result_decl. (expand_assignment): Pass to_rtx's mode to expand_expr when assigning a result_decl. (expand_expr): For ERROR_MARK, give back 0 in TMODE if possible. From-SVN: r3784 --- gcc/expr.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gcc/expr.c b/gcc/expr.c index 894545195b2..b1d091ec7e2 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -2801,7 +2801,7 @@ expand_assignment (to, from, want_value, suggest_reg) /* Don't move directly into a return register. */ if (TREE_CODE (to) == RESULT_DECL && GET_CODE (to_rtx) == REG) { - rtx temp = expand_expr (from, 0, VOIDmode, 0); + rtx temp = expand_expr (from, 0, GET_MODE (to_rtx), 0); emit_move_insn (to_rtx, temp); preserve_temp_slots (to_rtx); free_temp_slots (); @@ -5813,6 +5813,9 @@ expand_expr (exp, target, tmode, modifier) } case ERROR_MARK: + op0 = CONST0_RTX (tmode); + if (op0 != 0) + return op0; return const0_rtx; default: -- 2.30.2