summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/streamio_10.f90
blob: b0c573e6fbe03860496ba6f499fa4881ce7c7ebf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
! { 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(kind=4) :: 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