------- Comment #4 from drow at gcc dot gnu dot org 2007-10-27 17:42 ------- Confirmed. Here the &xyzzy and the call are in the same line. That means that previously the sequence got the right locator by accident, and the jump kept the right locator. Afterwards the sequence has the right locator and the jump has none.
When reorder_blocks reconstructs block nesting from notes, it does not attach the subblock. That's because a NOTE_INSN_BLOCK_BEG is missing. reemit_insn_block_notes: /* For sequences compute scope resulting from merging all scopes of instructions nested inside. */ It ignores the locator on the sequence itself and selects one based on the block inside. I'm not sure that code makes any sense. Anyway, the easiest fix is to leave the locator on the jump alone. -- drow at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at gcc dot gnu |drow at gcc dot gnu dot org |dot org | Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2007-10-27 17:42:51 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33921