+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
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. */
};
this_slotno += 1;
intoffset = (intoffset | (UNITS_PER_WORD-1)) + 1;
+ mode = word_mode;
parms->nregs += 1;
intslots -= 1;
}
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;