aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/scanner.c8
2 files changed, 12 insertions, 2 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 8c91f18..6ac8eaf 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2016-06-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/71686
+ * scanner.c (gfc_next_char_literal): Only decrement nextc if it
+ is not NULL.
+
2016-06-29 Cesar Philippidis <cesar@codesourcery.com>
* openmp.c (match_oacc_clause_gang): Rename to ...
diff --git a/gcc/fortran/scanner.c b/gcc/fortran/scanner.c
index 6a7a5b6..be9c509 100644
--- a/gcc/fortran/scanner.c
+++ b/gcc/fortran/scanner.c
@@ -1416,7 +1416,8 @@ restart:
{
if (in_string)
{
- gfc_current_locus.nextc--;
+ if (gfc_current_locus.nextc)
+ gfc_current_locus.nextc--;
if (warn_ampersand && in_string == INSTRING_WARN)
gfc_warning (OPT_Wampersand,
"Missing %<&%> in continued character "
@@ -1427,7 +1428,10 @@ restart:
/* Both !$omp and !$ -fopenmp continuation lines have & on the
continuation line only optionally. */
else if (openmp_flag || openacc_flag || openmp_cond_flag)
- gfc_current_locus.nextc--;
+ {
+ if (gfc_current_locus.nextc)
+ gfc_current_locus.nextc--;
+ }
else
{
c = ' ';