aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/error.c3
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 88c1a11..82f816d 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -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
diff --git a/gcc/fortran/error.c b/gcc/fortran/error.c
index 7689bbd..3825751 100644
--- a/gcc/fortran/error.c
+++ b/gcc/fortran/error.c
@@ -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;
}