diff options
author | Doug Evans <devans@cygnus.com> | 1997-10-29 06:54:49 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1997-10-28 23:54:49 -0700 |
commit | de957303924bc42d2ca1f0c2c910046958112d0d (patch) | |
tree | d3405dc4fcb4098d4fe963d62423ce89dc144675 /gcc/function.c | |
parent | 074c2cffc8f3230163407ca246b880f6f5347749 (diff) | |
download | gcc-de957303924bc42d2ca1f0c2c910046958112d0d.zip gcc-de957303924bc42d2ca1f0c2c910046958112d0d.tar.gz gcc-de957303924bc42d2ca1f0c2c910046958112d0d.tar.bz2 |
function.c (assign_parms): Correct mode of stack_parm if entry_parm underwent a mode conversion.
* function.c (assign_parms): Correct mode of stack_parm if
entry_parm underwent a mode conversion.
From-SVN: r16228
Diffstat (limited to 'gcc/function.c')
-rw-r--r-- | gcc/function.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/function.c b/gcc/function.c index 61a72fe..057da55 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -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 (); |