mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-12 07:20:27 +08:00
re PR libfortran/18364 (endfile does not truncate file)
2004-11-27 Bud Davis <bdavis9659@comcast.net> PR fortran/18364 * gfortran.dg/endfile.f90: New test. * io/endfile.c (st_endfile): flush the stream before truncating. From-SVN: r91400
This commit is contained in:
parent
22e54023ca
commit
203f344c3d
@ -1,3 +1,8 @@
|
||||
2004-11-27 Bud Davis <bdavis9659@comcast.net>
|
||||
|
||||
PR fortran/18364
|
||||
* gfortran.dg/endfile.f90: New test.
|
||||
|
||||
2004-11-27 Falk Hueffner <falk@debian.org>
|
||||
|
||||
* gcc.dg/loop-6.c: New test.
|
||||
|
31
gcc/testsuite/gfortran.dg/endfile.f90
Normal file
31
gcc/testsuite/gfortran.dg/endfile.f90
Normal file
@ -0,0 +1,31 @@
|
||||
! { dg-do run }
|
||||
! 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
|
@ -1,3 +1,8 @@
|
||||
2004-11-27 Bud Davis <bdavis9659@comcast.net>
|
||||
|
||||
PR fortran/18364
|
||||
* io/endfile.c (st_endfile): flush the stream before truncating.
|
||||
|
||||
2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
|
||||
|
||||
* configure: Regenerate for libtool reversion.
|
||||
|
@ -38,6 +38,7 @@ st_endfile (void)
|
||||
if (u->current_record)
|
||||
next_record (1);
|
||||
|
||||
flush(u->s);
|
||||
struncate (u->s);
|
||||
u->endfile = AFTER_ENDFILE;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user