This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Fix debug/49827
- From: Richard Henderson <rth at redhat dot com>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Sun, 24 Jul 2011 20:23:33 -0700
- Subject: Fix debug/49827
This fixes the examples given in the PR building libgcc
for Sparc and CRIS. A full bootstrap on sparc64-linux
is underway, but it'll take some time to complete. In
the meantime it's well past the stage1 failure.
Just a silly oversight in processing sequences, after
having copied the code from pre-delay-slot make_edges.
r~
PR debug/49827
* dwarf2cfi.c (create_trace_edges): Handle sequences properly.
diff --git a/gcc/dwarf2cfi.c b/gcc/dwarf2cfi.c
index fd5f680..9e64de6 100644
--- a/gcc/dwarf2cfi.c
+++ b/gcc/dwarf2cfi.c
@@ -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)