diff options
author | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2016-10-15 18:38:54 +0000 |
---|---|---|
committer | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2016-10-15 18:38:54 +0000 |
commit | 523ee218bbdc17a0cd1137e20671d73da990d329 (patch) | |
tree | 7434e20fe63a2bbbb5e5ea9fc6f02a76d59feac4 /gcc/fortran/scanner.c | |
parent | e2a02db7690190247c42bf233384530ef65d8881 (diff) | |
download | gcc-523ee218bbdc17a0cd1137e20671d73da990d329.zip gcc-523ee218bbdc17a0cd1137e20671d73da990d329.tar.gz gcc-523ee218bbdc17a0cd1137e20671d73da990d329.tar.bz2 |
re PR fortran/77972 (ICE on broken character continuation with -Wall etc.)
2016-10-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
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
Diffstat (limited to 'gcc/fortran/scanner.c')
-rw-r--r-- | gcc/fortran/scanner.c | 5 |
1 files changed, 2 insertions, 3 deletions
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 " |