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
|