diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index edd525ac2b6..2fc135f3b50 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2005-01-29 Thomas Koenig + + PR libfortran/19595 + * gfortran.dg/eor_1.f90: New test. + 2005-01-29 Steven G. Kargl PR fortran/19589 diff --git a/gcc/testsuite/gfortran.dg/eor_1.f90 b/gcc/testsuite/gfortran.dg/eor_1.f90 new file mode 100644 index 00000000000..c61a0b7c87f --- /dev/null +++ b/gcc/testsuite/gfortran.dg/eor_1.f90 @@ -0,0 +1,10 @@ +! { dg do-run } +! PR 19451: The test for advance='NO' with eor used to be reversed. +program main + character*2 c + open(12, status='SCRATCH') + write(12, '(A)') '123', '456' + rewind(12) + read(12, '(A2)', advance='NO', eor=100) c +100 continue +end program main diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index effa7673313..be7bfa8f343 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,8 @@ +2005-01-29 Thomas Koenig + + PR libfortran/19595 + * io/transfer.c (data_transfer_init): eor requires advance="NO". + 2005-01-25 Tobias Schl"uter PR libfortran/19524 diff --git a/libgfortran/io/transfer.c b/libgfortran/io/transfer.c index c69d3092ca2..a55936f9e6c 100644 --- a/libgfortran/io/transfer.c +++ b/libgfortran/io/transfer.c @@ -1041,7 +1041,7 @@ data_transfer_init (int read_flag) if (read_flag) { - if (ioparm.eor != 0 && advance_status == ADVANCE_NO) + if (ioparm.eor != 0 && advance_status != ADVANCE_NO) generate_error (ERROR_MISSING_OPTION, "EOR specification requires an ADVANCE specification of NO");