This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Fix PR56131 - gcc.dg/pr56035.c ICEs gcc on sparc-linux
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Tom de Vries <Tom_deVries at mentor dot com>
- Cc: Eric Botcazou <ebotcazou at adacore dot com>, gcc-patches at gcc dot gnu dot org, Mikael Pettersson <mikpe at it dot uu dot se>
- Date: Tue, 5 Feb 2013 10:50:00 +0100
- Subject: Re: [PATCH] Fix PR56131 - gcc.dg/pr56035.c ICEs gcc on sparc-linux
- References: <510FF01D.email@example.com> <1551618.pBYOJKzDYv@polaris> <5110D3DF.firstname.lastname@example.org>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
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.