From: Jerry DeLisle Date: Fri, 25 Jan 2008 23:40:23 +0000 (+0000) Subject: re PR fortran/34876 (Can't read/write array sections with negative stride not specified) X-Git-Tag: releases/gcc-4.3.0~394 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c6a4852ec6f7e1268fa87aafcaf7c3e825f7e5d9;p=thirdparty%2Fgcc.git re PR fortran/34876 (Can't read/write array sections with negative stride not specified) 2008-01-25 Jerry DeLisle PR libfortran/34876 * gfortran.dg/direct_io_9.f: New test. From-SVN: r131850 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 0ea511952dce..4bb6a972d417 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2008-01-25 Jerry DeLisle + + PR libfortran/34876 + * gfortran.dg/direct_io_9.f: New test. + 2008-01-25 Daniel Franke 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 000000000000..bdb40453a6fa --- /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 +