From 201c811d49e228c5e88f1e794f05d145b50e9128 Mon Sep 17 00:00:00 2001 From: Jerry DeLisle Date: Sun, 1 Apr 2007 15:29:05 +0000 Subject: re PR fortran/31366 ([4.2 only] Last record truncated for read after short write, direct access file) 2007-04-01 Jerry DeLisle PR libgfortran/31366 * gfortran.dg/direct_io_6.f90: New test. 2007-04-01 Jerry DeLisle PR libgfortran/31207 * gfortran.dg/advance_5.f90: New test. * gfortran.dg/advance_6.f90: New test. From-SVN: r123402 --- gcc/testsuite/ChangeLog | 11 +++++++++++ gcc/testsuite/gfortran.dg/advance_4.f90 | 10 ++++++++++ gcc/testsuite/gfortran.dg/advance_5.f90 | 17 +++++++++++++++++ gcc/testsuite/gfortran.dg/direct_io_6.f90 | 16 ++++++++++++++++ 4 files changed, 54 insertions(+) create mode 100644 gcc/testsuite/gfortran.dg/advance_4.f90 create mode 100644 gcc/testsuite/gfortran.dg/advance_5.f90 create mode 100644 gcc/testsuite/gfortran.dg/direct_io_6.f90 (limited to 'gcc') diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index b524f7b..c04ae81 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,14 @@ +2007-04-01 Jerry DeLisle + + PR libgfortran/31366 + * gfortran.dg/direct_io_6.f90: New test. + +2007-04-01 Jerry DeLisle + + PR libgfortran/31207 + * gfortran.dg/advance_5.f90: New test. + * gfortran.dg/advance_6.f90: New test. + 2007-04-01 Danny Smith * g++.dg/ext/dllimport6.C: Remove extra ';'. diff --git a/gcc/testsuite/gfortran.dg/advance_4.f90 b/gcc/testsuite/gfortran.dg/advance_4.f90 new file mode 100644 index 0000000..ab22311 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/advance_4.f90 @@ -0,0 +1,10 @@ +! { dg-do run } +! PR31207 Last record truncated for read after short write +program main + character(10) :: answer + write (12,'(A,T2,A)',advance="no") 'XXXXXX','ABCD' + close (12) + read (12, '(6A)') answer + close (12, status="delete") + if (answer /= "XABCDX") call abort() +end program main \ No newline at end of file diff --git a/gcc/testsuite/gfortran.dg/advance_5.f90 b/gcc/testsuite/gfortran.dg/advance_5.f90 new file mode 100644 index 0000000..3a48e53 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/advance_5.f90 @@ -0,0 +1,17 @@ +! { dg-do run } +! PR31207 Last record truncated for read after short write. +character(len=20) :: b +! write something no advance +open(10,file="fort.10",position="rewind") +write(10, '(a,t1,a)',advance='no') 'xxxxxx', 'abc' +close(10) +! append some data +open(10,file="fort.10",position="append") +write(10, '(a)') 'def' +close(10) +! check what is in the first record +open(10,file="fort.10",position="rewind") +read(10,'(a)') b +close(10, status="delete") +if (b.ne."abcxxx") call abort() +end diff --git a/gcc/testsuite/gfortran.dg/direct_io_6.f90 b/gcc/testsuite/gfortran.dg/direct_io_6.f90 new file mode 100644 index 0000000..d090704 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/direct_io_6.f90 @@ -0,0 +1,16 @@ +! { dg-do run } +! pr31366 last record truncated for read after short write, direct access file. +! test case derived from pr, submitted by jerry delisle