summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/read_eof_3.f90
blob: af35aa6d34c5a4cfbbf108039de210a82ee22239 (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
! { dg-do run { target fd_truncate } }
! PR25835 Check that reading from a file that is at end-of-file does not
! segfault or give error.  Test case derived from example in PR from Dale Ranta.
! Contributed by Jerry DeLisle  <jvdelisle@gcc.gnu.org>
       integer data(5000)
       data=-256
       open(unit=11,status='scratch', form='unformatted')
       write(11)data
       write(11)data
       read(11,end=        1000 )data
       call abort()
 1000  continue
       backspace 11
       rewind 11
       write(11)data
       read(11,end=        1001 )data
       call abort()
 1001  continue
       data = 0
       backspace 11
       rewind 11
       read(11,end=        1002 )data
       if (.not. all(data == -256)) call abort()
 1002  continue
       read(11,end=        1003 )data
       call abort()
 1003  continue
       close(11)
       end