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
This commit is contained in:
parent
b2f24c85c8
commit
1fd0507398
@ -1,3 +1,9 @@
|
||||
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;
|
||||
|
Loading…
Reference in New Issue
Block a user