From de957303924bc42d2ca1f0c2c910046958112d0d Mon Sep 17 00:00:00 2001 From: Doug Evans Date: Wed, 29 Oct 1997 06:54:49 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/function.c | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 182a76e1ef6f..2f30148c21d0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 * global.c (global_alloc): Use xmalloc instead of alloca for diff --git a/gcc/function.c b/gcc/function.c index 61a72fe7d96d..057da555c71a 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 (); -- 2.47.2