On 05/02/13 10:50, Jakub Jelinek wrote: > On Tue, Feb 05, 2013 at 10:41:51AM +0100, Tom de Vries wrote: >> On 05/02/13 10:02, Eric Botcazou wrote: >>>> The problem is that in delete_insn, while deleting an undeletable label (in >>>> other words, transforming a label into a INSN_NOTE_DELETED_LABEL): >>>> - we try to find the bb of a NOTE_INSN_BASIC_BLOCK following the label >>>> using >>>> BLOCK_FOR_INSN (which is NULL) instead of NOTE_BASIC_BLOCK (which is not >>>> NULL), and >>>> - we don't handle the case that we find a NULL pointer for that bb >>>> gracefully. >>> >>> Can the NOTE_BASIC_BLOCK of a NOTE_INSN_BASIC_BLOCK really be NULL? >>> >> >> I don't know, I was just trying to do defensive programming. > > I'd say the bug is in whatever made the note not contain the appropriate bb. >
Jakub, I'm not sure I understand your comment. The BLOCK_FOR_INSN of the note was NULL. The NOTE_BASIC_BLOCK of the note was correct. Are you saying that the BLOCK_FOR_INSN should not have been NULL? Thanks, - Tom > Jakub >