backspace_6.f   [plain text]


!{ dg-do run }
! PR26464 File I/O error related to buffering and BACKSPACE
! Test case derived from case by Dale Ranta.
! Submitted  by Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      program test
      integer,parameter :: datasize = 5000
      dimension idata(datasize)
      open (11, status="scratch", form="unformatted")
        idata(1)   =  -1
        idata(datasize)   =  -2
       write(11)idata
        idata(1)   =  -2
        idata(datasize)   =  -3
       write(11)idata
        idata(1)   =  -3
        idata(datasize)   =  -4
       write(11)idata
       backspace 11
       backspace 11
        idata(1)   =  -2
        idata(datasize)   =  -3
       write(11)idata
       read(11,end=        1003 )idata
       call abort()
 1003  continue
       backspace 11
       backspace 11
       read(11,end=        1004 )idata
       if(idata(1).ne.-2 .or.idata(datasize).ne.-3) call abort()
       stop
 1004  continue
       end