aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Wilson <wilson@cygnus.com>1998-04-21 19:43:55 +0000
committerJim Wilson <wilson@gcc.gnu.org>1998-04-21 12:43:55 -0700
commit0dacbd0e171bc16e917dc611f564e71cd5922d1f (patch)
tree23cc828dc0b45ba19c70710fbf42a44d2b68bf6d
parent2c5873953f9f865cb555ff24af23d26fbb81fd37 (diff)
downloadgcc-0dacbd0e171bc16e917dc611f564e71cd5922d1f.zip
gcc-0dacbd0e171bc16e917dc611f564e71cd5922d1f.tar.gz
gcc-0dacbd0e171bc16e917dc611f564e71cd5922d1f.tar.bz2
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
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/stmt.c14
2 files changed, 13 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 58dc7f7..779e3c6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+1998-04-21 Jim Wilson <wilson@cygnus.com>
+
+ * 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 <jfc@mit.edu>
* genemit.c (gen_exp): Allow machine description to set mode of
diff --git a/gcc/stmt.c b/gcc/stmt.c
index d4ff2e6..19f3e37 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;
}
}