diff options
author | Steve Ellcey <sje@cup.hp.com> | 2003-03-04 20:16:24 +0000 |
---|---|---|
committer | Steve Ellcey <sje@gcc.gnu.org> | 2003-03-04 20:16:24 +0000 |
commit | 3ac1a3195468709f36f7f2ad6773aa796fd22a6d (patch) | |
tree | 1fdaf8e197009030623828433ba87a237b25a8a2 /gcc/expr.c | |
parent | 23cae84fbb26f73019cd5330ce960a3661d430ac (diff) | |
download | gcc-3ac1a3195468709f36f7f2ad6773aa796fd22a6d.zip gcc-3ac1a3195468709f36f7f2ad6773aa796fd22a6d.tar.gz gcc-3ac1a3195468709f36f7f2ad6773aa796fd22a6d.tar.bz2 |
* expr.c (expand_expr): Call promote_mode to set unsignedp.
From-SVN: r63796
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -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); } |