[PATCH] Fix PR56131 - gcc.dg/pr56035.c ICEs gcc on sparc-linux
Tom de Vries
Tue Feb 5 10:01:00 GMT 2013
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
>>> 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.
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?
More information about the Gcc-patches