From 523ee218bbdc17a0cd1137e20671d73da990d329 Mon Sep 17 00:00:00 2001 From: Jerry DeLisle Date: Sat, 15 Oct 2016 18:38:54 +0000 Subject: re PR fortran/77972 (ICE on broken character continuation with -Wall etc.) 2016-10-15 Jerry DeLisle PR fortran/77972 * scanner.c (gfc_next_char_literal): If nextc is null do not decrement the pointer and call the diagnostics. PR fortran/77972 * gfortran.dg/unexpected_eof_4.f90: New test. From-SVN: r241201 --- gcc/fortran/ChangeLog | 6 ++++++ gcc/fortran/scanner.c | 5 ++--- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'gcc/fortran') diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index a3e1f49..6dce4eb 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2016-10-15 Jerry DeLisle + + PR fortran/77972 + * scanner.c (gfc_next_char_literal): If nextc is null do not + decrement the pointer and call the diagnostics. + 2016-10-14 Andre Vehreschild * resolve.c (resolve_symbol): Add unimplemented message for diff --git a/gcc/fortran/scanner.c b/gcc/fortran/scanner.c index be9c509..5e35535 100644 --- a/gcc/fortran/scanner.c +++ b/gcc/fortran/scanner.c @@ -1414,10 +1414,9 @@ restart: if (c != '&') { - if (in_string) + if (in_string && gfc_current_locus.nextc) { - if (gfc_current_locus.nextc) - gfc_current_locus.nextc--; + gfc_current_locus.nextc--; if (warn_ampersand && in_string == INSTRING_WARN) gfc_warning (OPT_Wampersand, "Missing %<&%> in continued character " -- cgit v1.1