On Wed, Jan 09, 2013 at 11:11:13AM +0100, Tom de Vries wrote: > OK for trunk after I've tested this on mips64?
Yes, thanks. > 2013-01-09 Tom de Vries <t...@codesourcery.com> > > PR middle-end/55890 > * calls.c (expand_call): Check if arg_nr is valid. > > Index: gcc/calls.c > =================================================================== > --- gcc/calls.c (revision 195008) > +++ gcc/calls.c (working copy) > @@ -3136,7 +3136,9 @@ expand_call (tree exp, rtx target, int i > int arg_nr = return_flags & ERF_RETURN_ARG_MASK; > if (PUSH_ARGS_REVERSED) > arg_nr = num_actuals - arg_nr - 1; > - if (args[arg_nr].reg > + if (arg_nr >= 0 > + && arg_nr < num_actuals > + && args[arg_nr].reg > && valreg > && REG_P (valreg) > && GET_MODE (args[arg_nr].reg) == GET_MODE (valreg)) Jakub