From: Richard Kenner Date: Sun, 24 Apr 1994 15:17:02 +0000 (-0400) Subject: (expand_expr, case SAVE_EXPR): Fix error in last change. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e70d22c84f32856cbbccb3bfde51e8a2dcbf8ba2;p=gcc.git (expand_expr, case SAVE_EXPR): Fix error in last change. From-SVN: r7141 --- diff --git a/gcc/expr.c b/gcc/expr.c index 7f04af40ad8..a21ad1cc915 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -3952,8 +3952,9 @@ expand_expr (exp, target, tmode, modifier) if (GET_CODE (SAVE_EXPR_RTL (exp)) == REG && GET_MODE (SAVE_EXPR_RTL (exp)) != mode) { - temp = gen_rtx (SUBREG, promote_mode (type, mode, &unsignedp, 0), - SAVE_EXPR_RTL (exp), 0); + /* Compute the signedness and make the proper SUBREG. */ + promote_mode (type, mode, &unsignedp, 0); + temp = gen_rtx (SUBREG, mode, SAVE_EXPR_RTL (exp), 0); SUBREG_PROMOTED_VAR_P (temp) = 1; SUBREG_PROMOTED_UNSIGNED_P (temp) = unsignedp; return temp;