rt_gccstream/gcc/testsuite/gfortran.dg/endfile.f90

32 lines
778 B
Fortran

! { 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