re PR target/44942 (Bug in argument passing of long double)

PR target/44942
	* config/sparc/sparc.c (function_arg_advance): Always take into account
	the padding, if any.

From-SVN: r162969
This commit is contained in:
Eric Botcazou 2010-08-06 23:23:29 +00:00 committed by Eric Botcazou
parent 8f14d009f4
commit a349873ef7
2 changed files with 10 additions and 5 deletions

View File

@ -1,3 +1,9 @@
2010-08-06 Eric Botcazou <ebotcazou@adacore.com>
PR target/44942
* config/sparc/sparc.c (function_arg_advance): Always take into account
the padding, if any.
2010-08-06 Uros Bizjak <ubizjak@gmail.com>
* expmed.c (expand_mult_const) <case alg_shift>: Expand shift into

View File

@ -5418,14 +5418,13 @@ void
function_arg_advance (struct sparc_args *cum, enum machine_mode mode,
tree type, int named)
{
int slotno, regno, padding;
int regno, padding;
/* We pass 0 for incoming_p here, it doesn't matter. */
slotno = function_arg_slotno (cum, mode, type, named, 0, &regno, &padding);
function_arg_slotno (cum, mode, type, named, 0, &regno, &padding);
/* If register required leading padding, add it. */
if (slotno != -1)
cum->words += padding;
/* If argument requires leading padding, add it. */
cum->words += padding;
if (TARGET_ARCH32)
{