! { dg-do run }
! PR25093 Stream IO test 10
! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org>.
! Test case derived from that given in PR by Steve Kargl.
program stream_io_10
  implicit none
  integer :: a(4), b(4)
  integer(kind=8) :: thepos
  a = (/ 1, 2, 3, 4 /)
  b = a
  open(10, file="teststream", access="stream")
  write(10) a
  inquire(10, pos=thepos)
  if (thepos.ne.17) call abort()

  read(10, pos=1)
  inquire(10, pos=thepos)
  if (thepos.ne.1) call abort()

  write(10, pos=15)
  inquire(10, pos=thepos)
  if (thepos.ne.15) call abort()

  read(10, pos=3)
  inquire(10, pos=thepos)
  if (thepos.ne.3) call abort()

  write(10, pos=1)
  inquire(10, pos=thepos)
  if (thepos.ne.1) call abort()

  a = 0
  read(10) a
  if (any(a /= b)) call abort()

  close(10, status="delete")
end program stream_io_10
