diff options
author | jvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-11-09 03:03:40 +0000 |
---|---|---|
committer | jvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-11-09 03:03:40 +0000 |
commit | 74d61f290d37a821511ba57151a784fee3951de9 (patch) | |
tree | 868ed8120265ac3970f16270d0a7f143c43b80a6 /libgfortran | |
parent | 0d470a4444ee34ef44e5f2dacad9303a58b86f81 (diff) | |
download | gcc-74d61f290d37a821511ba57151a784fee3951de9.tar.gz |
2006-11-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/29752
* io/transfer.c (finalize_transfer): Flush on ADVANCE_NO.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118611 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgfortran')
-rw-r--r-- | libgfortran/ChangeLog | 5 | ||||
-rw-r--r-- | libgfortran/io/transfer.c | 9 |
2 files changed, 11 insertions, 3 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 3ca21723ac0..f8a16721ff8 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,8 @@ +2006-11-08 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libgfortran/29752 + * io/transfer.c (finalize_transfer): Flush on ADVANCE_NO. + 2006-11-05 Jerry DeLisle <jvdelisle@gcc.gnu.org> * io/transfer.c (next_record_w): Fix indentation. diff --git a/libgfortran/io/transfer.c b/libgfortran/io/transfer.c index 4711be55b0f..c8fd5571e5f 100644 --- a/libgfortran/io/transfer.c +++ b/libgfortran/io/transfer.c @@ -2359,9 +2359,6 @@ finalize_transfer (st_parameter_dt *dtp) dtp->u.p.current_unit->current_record = 0; - if (dtp->u.p.advance_status == ADVANCE_NO) - return; - if (!is_internal_unit (dtp) && dtp->u.p.seen_dollar) { dtp->u.p.seen_dollar = 0; @@ -2369,6 +2366,12 @@ finalize_transfer (st_parameter_dt *dtp) return; } + if (dtp->u.p.advance_status == ADVANCE_NO) + { + flush (dtp->u.p.current_unit->s); + return; + } + next_record (dtp, 1); sfree (dtp->u.p.current_unit->s); } |