diff options
author | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2008-01-25 23:40:23 +0000 |
---|---|---|
committer | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2008-01-25 23:40:23 +0000 |
commit | c6a4852ec6f7e1268fa87aafcaf7c3e825f7e5d9 (patch) | |
tree | 93b12411f8f17c5f8eb015301c3672110b21e52d | |
parent | 12d9e9beffd90cfdd7b3715186465099c13ae6ea (diff) | |
download | gcc-c6a4852ec6f7e1268fa87aafcaf7c3e825f7e5d9.zip gcc-c6a4852ec6f7e1268fa87aafcaf7c3e825f7e5d9.tar.gz gcc-c6a4852ec6f7e1268fa87aafcaf7c3e825f7e5d9.tar.bz2 |
re PR fortran/34876 (Can't read/write array sections with negative stride not specified)
2008-01-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/34876
* gfortran.dg/direct_io_9.f: New test.
From-SVN: r131850
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/direct_io_9.f | 39 |
2 files changed, 44 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 0ea5119..4bb6a97 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2008-01-25 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libfortran/34876 + * gfortran.dg/direct_io_9.f: New test. + 2008-01-25 Daniel Franke <franke.daniel@gmail.com> PR fortran/34661 diff --git a/gcc/testsuite/gfortran.dg/direct_io_9.f b/gcc/testsuite/gfortran.dg/direct_io_9.f new file mode 100644 index 0000000..bdb4045 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/direct_io_9.f @@ -0,0 +1,39 @@ +! { dg-do run } +! PR34876 can't read/write zero length array sections +! Test case from PR by Dick Hendrikson + program qi0011 + character(9) bda(10) + character(9) bda1(10) + integer j_len + istat = -314 + + inquire(iolength = j_len) bda1 + + istat = -314 + open (unit=48, + $ status='scratch', + $ access='direct', + $ recl = j_len, + $ iostat = istat, + $ form='unformatted', + $ action='readwrite') + + + if (istat /= 0) call abort + + bda = 'xxxxxxxxx' + bda1 = 'yyyyyyyyy' + write (48,iostat = istat, rec = 10) bda1(4:3) + if ( istat .ne. 0) then + call abort + endif + + istat = -314 + read (48,iostat = istat, rec=10) bda(4:3) + if ( istat .ne. 0) then + call abort + endif + if (any(bda1.ne.'yyyyyyyyy')) call abort + if (any(bda.ne.'xxxxxxxxx')) call abort + end + |