2012-03-27 23:13:14 +00:00
|
|
|
! { dg-do run }
|
|
|
|
! { dg-options "-std=legacy" }
|
|
|
|
!
|
|
|
|
! pr 16597
|
|
|
|
! libgfortran
|
|
|
|
! reading a direct access record after it was written did
|
|
|
|
! not always return the correct data.
|
|
|
|
|
|
|
|
program gfbug4
|
|
|
|
implicit none
|
|
|
|
|
|
|
|
integer strlen
|
|
|
|
parameter (strlen = 4)
|
|
|
|
|
|
|
|
integer iunit
|
|
|
|
character string *4
|
|
|
|
|
|
|
|
iunit = 99
|
|
|
|
open (UNIT=iunit,FORM='unformatted',ACCESS='direct',RECL=strlen)
|
|
|
|
write (iunit, rec=1) 'ABCD'
|
|
|
|
read (iunit, rec=1) string
|
2014-09-21 17:33:12 +00:00
|
|
|
close (iunit, status = 'delete')
|
2018-12-28 15:30:48 +00:00
|
|
|
if (string.ne.'ABCD') STOP 1
|
2012-03-27 23:13:14 +00:00
|
|
|
|
|
|
|
open (UNIT=iunit,FORM='unformatted',ACCESS='direct',STATUS='scratch',RECL=strlen)
|
|
|
|
write (iunit, rec=1) 'ABCD'
|
|
|
|
read (iunit, rec=1) string
|
|
|
|
close (iunit)
|
2018-12-28 15:30:48 +00:00
|
|
|
if (string.ne.'ABCD') STOP 2
|
2012-03-27 23:13:14 +00:00
|
|
|
end
|