aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog7
-rw-r--r--gcc/fortran/io.c3
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index e6edc16..b2354e7 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,10 @@
+2016-06-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/71404
+ * io.c (match_io): For READ, commit in pending symbols in the
+ current statement before trying to match an expression so that
+ if the match fails and we undo symbols we dont toss good symbols.
+
2016-06-05 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/69659
diff --git a/gcc/fortran/io.c b/gcc/fortran/io.c
index 204cce2..d538d84 100644
--- a/gcc/fortran/io.c
+++ b/gcc/fortran/io.c
@@ -3772,6 +3772,9 @@ match_io (io_kind k)
}
if (k == M_READ)
{
+ /* Commit any pending symbols now so that when we undo
+ symbols later we wont lose them. */
+ gfc_commit_symbols ();
/* Reset current locus to get the initial '(' in an expression. */
gfc_current_locus = where;
dt->format_expr = NULL;