]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
function.c (assign_parms): Correct mode of stack_parm if entry_parm underwent a mode...
authorDoug Evans <devans@cygnus.com>
Wed, 29 Oct 1997 06:54:49 +0000 (06:54 +0000)
committerJeff Law <law@gcc.gnu.org>
Wed, 29 Oct 1997 06:54:49 +0000 (23:54 -0700)
        * function.c (assign_parms): Correct mode of stack_parm if
        entry_parm underwent a mode conversion.

From-SVN: r16228

gcc/ChangeLog
gcc/function.c

index 182a76e1ef6f4a75f8ddd8c9ef3185ba10b04287..2f30148c21d00dd6c0f787e7625a31502b5ef186 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 61a72fe7d96d12178920c5d6895d21a6ede27538..057da555c71ab4211e211150df151e4a2d5cfc62 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 ();