Commit ffea5d1e by Alan Modra Committed by Alan Modra

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
parent cd96b185
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> 2003-05-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
* doc/invoke.texi (Warning Options): Mark -Wmissing-declarations * doc/invoke.texi (Warning Options): Mark -Wmissing-declarations
......
...@@ -4644,7 +4644,7 @@ assign_parms (fndecl) ...@@ -4644,7 +4644,7 @@ assign_parms (fndecl)
/* When REG_PARM_STACK_SPACE is nonzero, stack space for /* When REG_PARM_STACK_SPACE is nonzero, stack space for
split parameters was allocated by our caller, so we split parameters was allocated by our caller, so we
won't be pushing it in the prolog. */ won't be pushing it in the prolog. */
if (reg_parm_stack_space) if (reg_parm_stack_space == 0)
#endif #endif
current_function_pretend_args_size current_function_pretend_args_size
= (((partial * UNITS_PER_WORD) + (PARM_BOUNDARY / BITS_PER_UNIT) - 1) = (((partial * UNITS_PER_WORD) + (PARM_BOUNDARY / BITS_PER_UNIT) - 1)
...@@ -4694,6 +4694,9 @@ assign_parms (fndecl) ...@@ -4694,6 +4694,9 @@ assign_parms (fndecl)
) )
{ {
stack_args_size.constant += locate.size.constant; 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) if (locate.size.var)
ADD_PARM_SIZE (stack_args_size, locate.size.var); ADD_PARM_SIZE (stack_args_size, locate.size.var);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment