summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/backspace_6.f
blob: 90affdc77913933e0aa2007c0221ca76d4bc513a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
!{ dg-do run { target fd_truncate } }
! 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)
      idata = -42
      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