]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR tree-optimization/55890 (calling a builtin func through a cast triggers an...
authorTom de Vries <tom@codesourcery.com>
Fri, 11 Jan 2013 23:39:18 +0000 (23:39 +0000)
committerTom de Vries <vries@gcc.gnu.org>
Fri, 11 Jan 2013 23:39:18 +0000 (23:39 +0000)
2013-01-12  Tom de Vries  <tom@codesourcery.com>

PR middle-end/55890
* calls.c (expand_call): Check if arg_nr is valid.

From-SVN: r195119

gcc/ChangeLog
gcc/calls.c

index e5e2b8e8a4cb5b91b99b2cace1a2cecef11578a6..295e266499d0ffdc29241f593b60f1fb1e2a16f2 100644 (file)
@@ -1,3 +1,8 @@
+2013-01-12  Tom de Vries  <tom@codesourcery.com>
+
+       PR middle-end/55890
+       * calls.c (expand_call): Check if arg_nr is valid.
+
 2013-01-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
 
        * doc/extend.texi (X86 Built-in Functions): Add whitespace in
index 94628afd1e8ae23496121593d05b3b75e81dac21..dd034b40099270d315e26501f124ed751df8dc47 100644 (file)
@@ -3134,7 +3134,9 @@ expand_call (tree exp, rtx target, int ignore)
          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))