diff options
author | Thomas Koenig <tkoenig@gcc.gnu.org> | 2007-12-13 19:35:09 +0000 |
---|---|---|
committer | Thomas Koenig <tkoenig@gcc.gnu.org> | 2007-12-13 19:35:09 +0000 |
commit | 108bc19009355ab635eb01262cb9e66a8f3e29c4 (patch) | |
tree | 7ee9f3011890308864977fc29d3c36da9d6ab850 /gcc/tree-flow.h | |
parent | a2b3eb5c97d0b35a55de39878e8fe2231b03de53 (diff) | |
download | gcc-108bc19009355ab635eb01262cb9e66a8f3e29c4.zip gcc-108bc19009355ab635eb01262cb9e66a8f3e29c4.tar.gz gcc-108bc19009355ab635eb01262cb9e66a8f3e29c4.tar.bz2 |
re PR libfortran/34370 (file positioning after nonadvancing i/o)
2007-12-13 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/34370
PR libfortran/34323
PR libfortran/34405
* io/io.h: Add previous_nonadvancing_write to gfc_unit.
Add prototype for finish_last_advance_record.
* io/file_pos.c (st_backspace): Generate error if backspace is
attempted for direct access or unformatted stream.
If there are bytes left from a previous ADVANCE="no", write
them out before performing the backspace.
(st_endfile): Generate error if endfile is attempted for
direct access.
If there are bytes left from a previous ADVANCE="no", write
them out before performing the endfile.
(st_rewind): Generate error if rewind is attempted for
direct access.
* unit.c (close_unit_1): Move functionality to write
previously written bytes to...
(finish_last_advance_record): ... here.
* transfer.c (data_transfer_init): If reading, reset
previous_nonadvancing_write.
(finalize_transfer): Set the previous_noadvancing_write
flag if we are writing and ADVANCE="no" was specified.
Only call next_record() if advance="no" wasn't specified.
2007-12-13 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/34370
PR libfortran/34323
PR libfortran/34405
* gfortran.dg/advance_6.f90: New test case.
* gfortran.dg/direct_io_7.f90: New test case.
* gfortran.dg/streamio_13.f90: New test case.
From-SVN: r130912
Diffstat (limited to 'gcc/tree-flow.h')
0 files changed, 0 insertions, 0 deletions