diff options
author | Jim Wilson <wilson@gcc.gnu.org> | 1992-08-17 11:53:26 -0700 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1992-08-17 11:53:26 -0700 |
commit | 2654605aa7145af085e835960105285ddafbae8b (patch) | |
tree | a6f240144b5411467cc2776bef5d043848422ad5 | |
parent | 3c3fa1471c4de6abbf9841155c0f2865bfc099d6 (diff) | |
download | gcc-2654605aa7145af085e835960105285ddafbae8b.zip gcc-2654605aa7145af085e835960105285ddafbae8b.tar.gz gcc-2654605aa7145af085e835960105285ddafbae8b.tar.bz2 |
(assign_parms): When copy arg passed by invisible
reference to pseudo reg, don't use nominal_mode.
From-SVN: r1876
-rw-r--r-- | gcc/function.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/function.c b/gcc/function.c index 685fcc386..52d0e6d 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -2879,7 +2879,9 @@ assign_parms (fndecl, second_time) || (flag_float_store && TREE_CODE (TREE_TYPE (parm)) == REAL_TYPE))) { - parmreg = gen_reg_rtx (nominal_mode); + /* We can't use nominal_mode, because it will have been set to + Pmode above. We must use the actual mode of the parm. */ + parmreg = gen_reg_rtx (TYPE_MODE (TREE_TYPE (parm))); emit_move_insn (parmreg, DECL_RTL (parm)); DECL_RTL (parm) = parmreg; } |