summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/endfile.f90
blob: 60875ce23380df7dfd5c5f09a762eb8d47c63dac (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 } } 
! pr18364 endfile does not truncate file.
!   write out 20 records
!   rewind
!   read 10 records
!   endfile
!   close file
!   open file
!   detect file has only 10 records  
      implicit none
      integer i,j
      open(unit=10,file='test.dat',access='sequential',status='replace')
      do i=1, 20
        write (10,'(I4)') i
      end do
      rewind(10)
      do i=1,10
        read (10,'(I4)') j
      end do
      endfile(10)
      close(10)
      open(unit=10,file='test.dat',access='sequential',status='old')
      do i=1,20 
        read (10,'(I4)',end=99) j 
      end do
      ! should never get here
      call abort
  99  continue ! end of file
      if (j.ne.10) call abort   
      close(10,status='delete')
      end