diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/fortran/io.c | 3 |
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; |