re PR fortran/67429 (Missing part of error messages.)
authorManuel López-Ibáñez <manu@gcc.gnu.org>
Fri, 4 Sep 2015 18:37:50 +0000 (18:37 +0000)
committerPaul Thomas <pault@gcc.gnu.org>
Fri, 4 Sep 2015 18:37:50 +0000 (18:37 +0000)
2015-09-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR fortran/67429
* error.c (gfc_clear_pp_buffer): Reset last_location, otherwise
caret lines might be skipped when actually giving a diagnostic.

From-SVN: r227500

gcc/fortran/ChangeLog
gcc/fortran/error.c

index 88c1a117caafa83460198e44f26f4dd3067a7ffd..82f816d30c0e0c069ef06c2ac1daf37923bb544b 100644 (file)
@@ -1,3 +1,9 @@
+2015-09-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+       PR fortran/67429
+       * error.c (gfc_clear_pp_buffer): Reset last_location, otherwise
+       caret lines might be skipped when actually giving a diagnostic.
+
 2015-08-31  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
 
        PR fortran/54833
index 7689bbd89415d8c90f7652c2b36cec1b3ca8c1d2..3825751ddd01f0e5811e4937f107c877d746ded5 100644 (file)
@@ -757,6 +757,9 @@ gfc_clear_pp_buffer (output_buffer *this_buffer)
   pp->buffer = this_buffer;
   pp_clear_output_area (pp);
   pp->buffer = tmp_buffer;
+  /* We need to reset last_location, otherwise we may skip caret lines
+     when we actually give a diagnostic.  */
+  global_dc->last_location = UNKNOWN_LOCATION;
 }