mirror of git://gcc.gnu.org/git/gcc.git
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>
|
2004-11-27 Falk Hueffner <falk@debian.org>
|
||||||
|
|
||||||
* gcc.dg/loop-6.c: New test.
|
* gcc.dg/loop-6.c: New test.
|
||||||
|
|
|
||||||
|
|
@ -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>
|
2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
|
||||||
|
|
||||||
* configure: Regenerate for libtool reversion.
|
* configure: Regenerate for libtool reversion.
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,7 @@ st_endfile (void)
|
||||||
if (u->current_record)
|
if (u->current_record)
|
||||||
next_record (1);
|
next_record (1);
|
||||||
|
|
||||||
|
flush(u->s);
|
||||||
struncate (u->s);
|
struncate (u->s);
|
||||||
u->endfile = AFTER_ENDFILE;
|
u->endfile = AFTER_ENDFILE;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue