This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Fix PR debug/33921, lost lexical blocks


The code in reemit_insn_block_notes chooses the innermost block to
assign to a SEQUENCE based on the locators of all the insns in the
sequence.  It completely ignores the locator of the sequence itself.
So I think the easiest fix is to leave the locator on both the
SEQUENCE and the leading JUMP_INSN.

I can't readily bootstrap on any platform with delay slots.  Dave,
would you rather I test this with a MIPS cross compiler or do it
yourself on hppa-linux?

-- 
Daniel Jacobowitz
CodeSourcery

2007-10-27  Daniel Jacobowitz  <dan@codesourcery.com>

	* reorg.c (emit_delay_sequence): Do not clear the locator on
	the jump instruction.

Index: reorg.c
===================================================================
--- reorg.c	(revision 129651)
+++ reorg.c	(working copy)
@@ -513,7 +513,6 @@ emit_delay_sequence (rtx insn, rtx list,
   PREV_INSN (delay_insn) = PREV_INSN (seq_insn);
 
   INSN_LOCATOR (seq_insn) = INSN_LOCATOR (delay_insn);
-  INSN_LOCATOR (delay_insn) = 0;
 
   for (li = list; li; li = XEXP (li, 1), i++)
     {


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]