aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/scanner.c
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2016-10-15 18:38:54 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2016-10-15 18:38:54 +0000
commit523ee218bbdc17a0cd1137e20671d73da990d329 (patch)
tree7434e20fe63a2bbbb5e5ea9fc6f02a76d59feac4 /gcc/fortran/scanner.c
parente2a02db7690190247c42bf233384530ef65d8881 (diff)
downloadgcc-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.c5
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 "