aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2003-05-07 13:37:57 +0000
committerAlan Modra <amodra@gcc.gnu.org>2003-05-07 23:07:57 +0930
commitffea5d1e438e9f07d1a003c026a68513b1664f16 (patch)
tree27d8cd19379c5056ad82773989f7dc733d5d0ff6 /gcc
parentcd96b185c55c02d9a74755489deffd3e287e6060 (diff)
downloadgcc-ffea5d1e438e9f07d1a003c026a68513b1664f16.zip
gcc-ffea5d1e438e9f07d1a003c026a68513b1664f16.tar.gz
gcc-ffea5d1e438e9f07d1a003c026a68513b1664f16.tar.bz2
function.c (assign_parms): Correct reversed reg_parm_stack_space test.
* function.c (assign_parms): Correct reversed reg_parm_stack_space test. Add partial in-regs size to stack_args_size. From-SVN: r66560
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/function.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ccb3fc1..09c1efa 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2003-05-07 Alan Modra <amodra@bigpond.net.au>
+
+ * function.c (assign_parms): Correct reversed reg_parm_stack_space
+ test. Add partial in-regs size to stack_args_size.
+
2003-05-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
* doc/invoke.texi (Warning Options): Mark -Wmissing-declarations
diff --git a/gcc/function.c b/gcc/function.c
index 232771e..f9c0e42 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -4644,7 +4644,7 @@ assign_parms (fndecl)
/* When REG_PARM_STACK_SPACE is nonzero, stack space for
split parameters was allocated by our caller, so we
won't be pushing it in the prolog. */
- if (reg_parm_stack_space)
+ if (reg_parm_stack_space == 0)
#endif
current_function_pretend_args_size
= (((partial * UNITS_PER_WORD) + (PARM_BOUNDARY / BITS_PER_UNIT) - 1)
@@ -4694,6 +4694,9 @@ assign_parms (fndecl)
)
{
stack_args_size.constant += locate.size.constant;
+ /* locate.size doesn't include the part in regs. */
+ if (partial)
+ stack_args_size.constant += current_function_pretend_args_size;
if (locate.size.var)
ADD_PARM_SIZE (stack_args_size, locate.size.var);
}