re PR middle-end/66685 (conftest.c:16:1: internal compiler error: in as_a, at is...
authorRichard Sandiford <richard.sandiford@arm.com>
Wed, 1 Jul 2015 08:41:33 +0000 (08:41 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Wed, 1 Jul 2015 08:41:33 +0000 (08:41 +0000)
gcc/
PR bootstrap/66685
* rtl.c (classify_insn): Handle returns in PARALLELs.

From-SVN: r225230

gcc/ChangeLog
gcc/rtl.c

index abbdf4641611d4a6837545dc3866063f86d2ce5c..40754f10c944c48af249e11c827f42511710b34c 100644 (file)
@@ -1,3 +1,8 @@
+2015-07-01  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR bootstrap/66685
+       * rtl.c (classify_insn): Handle returns in PARALLELs.
+
 2015-07-01  Eric Botcazou  <ebotcazou@adacore.com>
 
        PR middle-end/66633
index 346155e9fafe0c5acac6b1baeb3d5d1e6f4f7bb5..2f32c649b4d128cd5f18f83d57886d1d277da258 100644 (file)
--- a/gcc/rtl.c
+++ b/gcc/rtl.c
@@ -686,6 +686,8 @@ classify_insn (rtx x)
       for (j = XVECLEN (x, 0) - 1; j >= 0; j--)
        if (GET_CODE (XVECEXP (x, 0, j)) == CALL)
          return CALL_INSN;
+       else if (ANY_RETURN_P (XVECEXP (x, 0, j)))
+         return JUMP_INSN;
        else if (GET_CODE (XVECEXP (x, 0, j)) == SET
                 && GET_CODE (SET_DEST (XVECEXP (x, 0, j))) == PC)
          return JUMP_INSN;