Commit 1fd05073 by Eric Botcazou Committed by Eric Botcazou

re PR target/13559 (deviation from the psABI for small structures)

	PR target/13559
	* config/sparc/sparc.c (function_arg_record_value_3): Revert
	to 'word_mode' once the first slot has been filled.

From-SVN: r76342
parent b2f24c85
2004-01-22 Eric Botcazou <ebotcazou@libertysurf.fr>
PR target/13559
* config/sparc/sparc.c (function_arg_record_value_3): Revert
to 'word_mode' once the first slot has been filled.
2004-01-22 Olivier Hainque <hainque@act-europe.fr>
* config/sparc/sparc.c (function_arg_record_value_1): Fix
......
......@@ -4972,7 +4972,7 @@ struct function_arg_record_value_parms
int named; /* whether the argument is named. */
int regbase; /* regno of the base register. */
int stack; /* 1 if part of the argument is on the stack. */
int intoffset; /* offset of the pending integer field. */
int intoffset; /* offset of the first pending integer field. */
unsigned int nregs; /* number of words passed in registers. */
};
......@@ -5124,6 +5124,7 @@ function_arg_record_value_3 (HOST_WIDE_INT bitpos,
this_slotno += 1;
intoffset = (intoffset | (UNITS_PER_WORD-1)) + 1;
mode = word_mode;
parms->nregs += 1;
intslots -= 1;
}
......@@ -5251,6 +5252,7 @@ function_arg_record_value (tree type, enum machine_mode mode,
parms.intoffset = 0;
function_arg_record_value_1 (type, 0, &parms, false);
/* Take into account pending integer fields. */
if (parms.intoffset != -1)
{
unsigned int startbit, endbit;
......
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