-
- Downloads
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
Showing
- gcc/testsuite/ChangeLog 9 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/gfortran.dg/advance_6.f90 76 additions, 0 deletionsgcc/testsuite/gfortran.dg/advance_6.f90
- gcc/testsuite/gfortran.dg/direct_io_7.f90 31 additions, 0 deletionsgcc/testsuite/gfortran.dg/direct_io_7.f90
- gcc/testsuite/gfortran.dg/streamio_13.f90 15 additions, 0 deletionsgcc/testsuite/gfortran.dg/streamio_13.f90
- libgfortran/ChangeLog 26 additions, 0 deletionslibgfortran/ChangeLog
- libgfortran/io/file_pos.c 49 additions, 5 deletionslibgfortran/io/file_pos.c
- libgfortran/io/io.h 5 additions, 1 deletionlibgfortran/io/io.h
- libgfortran/io/transfer.c 8 additions, 1 deletionlibgfortran/io/transfer.c
- libgfortran/io/unit.c 26 additions, 21 deletionslibgfortran/io/unit.c
Loading
Please register or sign in to comment