OSDN Git Service

* function.c (assign_parms): Correct mode of stack_parm if
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 29 Oct 1997 06:54:49 +0000 (06:54 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 29 Oct 1997 06:54:49 +0000 (06:54 +0000)
        entry_parm underwent a mode conversion.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16228 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/function.c

index 182a76e..2f30148 100644 (file)
@@ -1,3 +1,8 @@
+Tue Oct 28 23:55:27 1997  Doug Evans  (devans@cygnus.com)
+
+       * function.c (assign_parms): Correct mode of stack_parm if
+       entry_parm underwent a mode conversion.
+
 1997-10-28  Brendan Kehoe  <brendan@lisa.cygnus.com>
 
        * global.c (global_alloc): Use xmalloc instead of alloca for
index 61a72fe..057da55 100644 (file)
@@ -4053,6 +4053,12 @@ assign_parms (fndecl, second_time)
              push_to_sequence (conversion_insns);
              entry_parm = convert_to_mode (nominal_mode, tempreg,
                                            TREE_UNSIGNED (TREE_TYPE (parm)));
+             if (stack_parm)
+               {
+                 /* ??? This may need a big-endian conversion on sparc64.  */
+                 stack_parm = change_address (stack_parm, nominal_mode,
+                                              NULL_RTX);
+               }
              conversion_insns = get_insns ();
              did_conversion = 1;
              end_sequence ();