From: Jan Hubicka Date: Sat, 12 Jan 2002 17:02:43 +0000 (+0100) Subject: unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note referencing outside. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9d5608608ce71fbfe4e0fcc247ec166c47ff3f53;p=platform%2Fupstream%2Fgcc.git unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note referencing outside. * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note referencing outside. From-SVN: r48803 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c1ff26b..22ee1b1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Sat Jan 12 17:38:11 CET 2002 Jan Hubicka + + * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note + referencing outside. + Sat Jan 12 08:54:51 2002 Richard Kenner * diagnostic.c (warn_deprecated_use): Rework to lower indentation. diff --git a/gcc/unroll.c b/gcc/unroll.c index df02b7c..aa1b2c6 100644 --- a/gcc/unroll.c +++ b/gcc/unroll.c @@ -1741,11 +1741,16 @@ final_reg_note_copy (notesp, map) { rtx insn = map->insn_map[INSN_UID (XEXP (note, 0))]; - /* If we failed to remap the note, something is awry. */ + /* If we failed to remap the note, something is awry. + Allow REG_LABEL as it may reference label outside + the unrolled loop. */ if (!insn) - abort (); - - XEXP (note, 0) = insn; + { + if (REG_NOTE_KIND (note) != REG_LABEL) + abort (); + } + else + XEXP (note, 0) = insn; } }