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

Reply via email to