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: r162967
This commit is contained in:
Eric Botcazou 2010-08-06 23:22:52 +00:00 committed by Eric Botcazou
parent 8a0f25c3e7
commit e0c7ff2305
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 Richard Guenther <rguenther@suse.de>
* tree-ssa-ccp.c (struct prop_value_d): Add mask member.

View file

@ -5809,14 +5809,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)
{