(assign_parms): When copy arg passed by invisible
authorJim Wilson <wilson@gcc.gnu.org>
Mon, 17 Aug 1992 18:53:26 +0000 (11:53 -0700)
committerJim Wilson <wilson@gcc.gnu.org>
Mon, 17 Aug 1992 18:53:26 +0000 (11:53 -0700)
reference to pseudo reg, don't use nominal_mode.

From-SVN: r1876

gcc/function.c

index 685fcc386fc1a15645f6a4d48c542310b57b5b40..52d0e6de0372638fde8abf01da16a18f43d55af9 100644 (file)
@@ -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;
            }