re PR debug/49827 (sparc64-linux and cris-elf bootstrap failures due to ICE in dwarf2...
authorRichard Henderson <rth@redhat.com>
Mon, 25 Jul 2011 03:18:13 +0000 (20:18 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Mon, 25 Jul 2011 03:18:13 +0000 (20:18 -0700)
PR debug/49827
        * dwarf2cfi.c (create_trace_edges): Handle sequences properly.

From-SVN: r176728

gcc/ChangeLog
gcc/dwarf2cfi.c

index ab089e5..4fc18ee 100644 (file)
@@ -1,5 +1,10 @@
 2011-07-24  Richard Henderson  <rth@redhat.com>
 
+       PR debug/49827
+       * dwarf2cfi.c (create_trace_edges): Handle sequences properly.
+
+2011-07-24  Richard Henderson  <rth@redhat.com>
+
        * dwarf2cfi.c (maybe_record_trace_start): Add abnormal parameter.
        Zero args_size for abnormal edges.  Adjust all callers.
 
index fd5f680..9e64de6 100644 (file)
@@ -2507,6 +2507,14 @@ create_trace_edges (rtx insn)
        for (lab = nonlocal_goto_handler_labels; lab; lab = XEXP (lab, 1))
          maybe_record_trace_start (XEXP (lab, 0), insn, true);
     }
+  else if (GET_CODE (PATTERN (insn)) == SEQUENCE)
+    {
+      rtx seq = PATTERN (insn);
+      int i, n = XVECLEN (seq, 0);
+      for (i = 0; i < n; ++i)
+       create_trace_edges (XVECEXP (seq, 0, i));
+      return;
+    }
 
   /* Process EH edges.  */
   if (CALL_P (insn) || cfun->can_throw_non_call_exceptions)