From 3ac1a3195468709f36f7f2ad6773aa796fd22a6d Mon Sep 17 00:00:00 2001 From: Steve Ellcey Date: Tue, 4 Mar 2003 20:16:24 +0000 Subject: [PATCH] * expr.c (expand_expr): Call promote_mode to set unsignedp. From-SVN: r63796 --- gcc/ChangeLog | 4 ++++ gcc/expr.c | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4bb936d2239..a79b9806fb0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2003-03-04 Steve Ellcey + + * expr.c (expand_expr): Call promote_mode to set unsignedp. + 2003-03-04 Daniel Jacobowitz * configure.in: Don't always define TARGET_SYSTEM_ROOT. diff --git a/gcc/expr.c b/gcc/expr.c index 9643a558c73..39940cb609d 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -6883,12 +6883,12 @@ expand_expr (exp, target, tmode, modifier) /* If the mode of TEMP does not match that of the expression, it must be a promoted value. We pass store_expr a SUBREG of the wanted mode but mark it so that we know that it was already - extended. Note that `unsignedp' was modified above in - this case. */ + extended. */ if (GET_CODE (temp) == REG && GET_MODE (temp) != mode) { temp = gen_lowpart_SUBREG (mode, SAVE_EXPR_RTL (exp)); + promote_mode (type, mode, &unsignedp, 0); SUBREG_PROMOTED_VAR_P (temp) = 1; SUBREG_PROMOTED_UNSIGNED_SET (temp, unsignedp); } -- 2.30.2