I plan to commit this patch as obvious and simple.

Regression tested on x86-64.  I will provide two test cases from the PR

Regards,

Jerry

2016-06-28  Jerry DeLisle  <jvdeli...@gcc.gnu.org>

        PR fortran/71686
        * scanner.c (gfc_next_char_literal): Only decrement nextc if it
        is not NULL.

diff --git a/gcc/fortran/scanner.c b/gcc/fortran/scanner.c
index 6a7a5b68..be9c5091 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 = ' ';

Reply via email to