aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorSteve Ellcey <sje@cup.hp.com>2003-03-04 20:16:24 +0000
committerSteve Ellcey <sje@gcc.gnu.org>2003-03-04 20:16:24 +0000
commit3ac1a3195468709f36f7f2ad6773aa796fd22a6d (patch)
tree1fdaf8e197009030623828433ba87a237b25a8a2 /gcc/expr.c
parent23cae84fbb26f73019cd5330ce960a3661d430ac (diff)
downloadgcc-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.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index 9643a55..39940cb 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);
}