re PR fortran/29752 (write(*,*,advance='NO'), READ(): Data not flushed)

2006-11-08  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/29752
	* io/transfer.c (finalize_transfer): Flush on ADVANCE_NO.

From-SVN: r118612
This commit is contained in:
Jerry DeLisle
2006-11-09 03:32:19 +00:00
parent 6bb8127481
commit 60e111ea82
2 changed files with 11 additions and 3 deletions

View File

@@ -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>
PR libgfortran/25545

View File

@@ -2349,9 +2349,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;
@@ -2359,6 +2356,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);
}