aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1992-10-22 12:04:56 +0000
committerRichard Stallman <rms@gnu.org>1992-10-22 12:04:56 +0000
commit4cdb3e7843ead19ab0e8a49af32dc76bbc8755ef (patch)
tree90ab5221609cf365ef9916771f1bbc495e27f84c
parent11b459cf9a8c22c43b919c94b72c2f71298b94ec (diff)
downloadgcc-4cdb3e7843ead19ab0e8a49af32dc76bbc8755ef.zip
gcc-4cdb3e7843ead19ab0e8a49af32dc76bbc8755ef.tar.gz
gcc-4cdb3e7843ead19ab0e8a49af32dc76bbc8755ef.tar.bz2
(put_var_into_stack): When we operate on a pseudo
that holds the address, use proper modes. From-SVN: r2552
-rw-r--r--gcc/function.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/function.c b/gcc/function.c
index 7a94474..1ff2778 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -848,7 +848,10 @@ put_var_into_stack (decl)
&& GET_CODE (reg) == MEM
&& GET_CODE (XEXP (reg, 0)) == REG
&& REGNO (XEXP (reg, 0)) > LAST_VIRTUAL_REGISTER)
- reg = XEXP (reg, 0);
+ {
+ reg = XEXP (reg, 0);
+ decl_mode = promoted_mode = GET_MODE (reg);
+ }
if (GET_CODE (reg) != REG)
return;