From: Jim Wilson Date: Tue, 21 Apr 1998 19:43:55 +0000 (+0000) Subject: Fix fortran failure reported by Craig Burley. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0dacbd0e171bc16e917dc611f564e71cd5922d1f;p=gcc.git Fix fortran failure reported by Craig Burley. * stmt.c (check_seenlabel): When search for line number note for warning, handle case where there is no such note. From-SVN: r19364 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 58dc7f73864..779e3c6897e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +1998-04-21 Jim Wilson + + * stmt.c (check_seenlabel): When search for line number note for + warning, handle case where there is no such note. + Tue Apr 21 20:48:37 1998 John Carr * genemit.c (gen_exp): Allow machine description to set mode of diff --git a/gcc/stmt.c b/gcc/stmt.c index d4ff2e69036..19f3e37b08a 100644 --- a/gcc/stmt.c +++ b/gcc/stmt.c @@ -3848,12 +3848,14 @@ check_seenlabel () { do insn = PREV_INSN (insn); - while (GET_CODE (insn) != NOTE || NOTE_LINE_NUMBER (insn) < 0); - - warning_with_file_and_line (NOTE_SOURCE_FILE(insn), - NOTE_LINE_NUMBER(insn), - "unreachable code at beginning of %s", - case_stack->data.case_stmt.printname); + while (insn && (GET_CODE (insn) != NOTE || NOTE_LINE_NUMBER (insn) < 0)); + + /* If insn is zero, then there must have been a syntax error. */ + if (insn) + warning_with_file_and_line (NOTE_SOURCE_FILE(insn), + NOTE_LINE_NUMBER(insn), + "unreachable code at beginning of %s", + case_stack->data.case_stmt.printname); break; } }