summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsje <sje@138bc75d-0d04-0410-961f-82ee72b054a4>2003-03-04 20:16:24 +0000
committersje <sje@138bc75d-0d04-0410-961f-82ee72b054a4>2003-03-04 20:16:24 +0000
commita0d86b72818ebc19bc5e976df5a906195a2207e2 (patch)
tree1fdaf8e197009030623828433ba87a237b25a8a2
parent15f50c412b28a433a01a751d3ea608976d826e42 (diff)
downloadppe42-gcc-a0d86b72818ebc19bc5e976df5a906195a2207e2.tar.gz
ppe42-gcc-a0d86b72818ebc19bc5e976df5a906195a2207e2.zip
* expr.c (expand_expr): Call promote_mode to set unsignedp.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@63796 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/expr.c4
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 <sje@cup.hp.com>
+
+ * expr.c (expand_expr): Call promote_mode to set unsignedp.
+
2003-03-04 Daniel Jacobowitz <drow@mvista.com>
* 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);
}
OpenPOWER on IntegriCloud