2006-12-06 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/30009 PR libfortran/30056 * gfortran.dg/read_eof_4.f90: Add tests. * gfortran.dg/readwrite_unf_direct_eor_1.f90: New test. * gfortran.dg/unf_read_corrupted_1.f90: New test. 2006-12-06 Thomas Koenig <Thomas.Koenig@online.de> PR libfortran/30009 PR libfortran/30056 * libgfortran.h: Add ERROR_CORRUPT_FILE to error_codes. * runtime/error.c (translate_error): Add handling for ERROR_CORRUPT_FILE. * io/transfer.c (read_block_direct): Add comment about EOR for stream files. Remove test for no bytes left for direct access files. Generate an ERROR_SHORT_RECORD if the read was short. For unformatted sequential files: Check endfile condition. Remove test for no bytes left. End of file here means that the file structure has been corrupted. Pre-position the file for the next record in case of error. (write_buf): Whitespace fix. Subtract the number of bytes written from bytes_left. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119592 138bc75d-0d04-0410-961f-82ee72b054a4
Showing
- gcc/testsuite/ChangeLog 8 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/gfortran.dg/read_eof_4.f90 21 additions, 7 deletionsgcc/testsuite/gfortran.dg/read_eof_4.f90
- gcc/testsuite/gfortran.dg/readwrite_unf_direct_eor_1.f90 13 additions, 0 deletionsgcc/testsuite/gfortran.dg/readwrite_unf_direct_eor_1.f90
- gcc/testsuite/gfortran.dg/unf_read_corrupted_1.f90 27 additions, 0 deletionsgcc/testsuite/gfortran.dg/unf_read_corrupted_1.f90
- libgfortran/ChangeLog 18 additions, 0 deletionslibgfortran/ChangeLog
- libgfortran/io/transfer.c 26 additions, 32 deletionslibgfortran/io/transfer.c
- libgfortran/libgfortran.h 1 addition, 0 deletionslibgfortran/libgfortran.h
- libgfortran/runtime/error.c 4 additions, 0 deletionslibgfortran/runtime/error.c
Loading
Please register or sign in to comment