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: r118611
This commit is contained in:
Jerry DeLisle 2006-11-09 03:03:40 +00:00
parent 6e410d2e6d
commit 54938c1127
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>
* io/transfer.c (next_record_w): Fix indentation.

View File

@ -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);
}