blob: 96ae49035063a24c969781c2f4584532c4063e6b [file] [log] [blame]
! { dg-do run }
! PR 16908
! Segfaulted on second set of writes. We weren't handling partial records
! properly when calculating the file position.
program direct_io_1
implicit none
integer n, nt, mt, m
real dt, tm, w
real, allocatable :: p(:)
nt = 2049 ! if nt < 2049, then everything works.
allocate(p(nt))
p = 0.e0
inquire(iolength=mt) (p(m), m=1, nt)
open(unit=12, file='syn.sax', access='direct', recl=mt)
n = 1
write(12, rec=n) mt, nt
write(12, rec=n+1) (p(m), m=1, nt)
close(12)
inquire(iolength=mt) (p(m), m=1, nt)
open(unit=12, file='syn.sax', access='direct', recl=mt)
n = 1
write(12, rec=n) mt, nt
write(12, rec=n+1) (p(m), m=1, nt)
close(12, status='delete')
end program