summaryrefslogtreecommitdiff
path: root/libgomp/testsuite/libgomp.fortran/async_io_8.f90
blob: f5ae93dc3a83bb99d652138b727439191c6c17ab (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
! { dg-do run }
! PR libfortran/88411
! This used to generate errors due to a mixup of
! synchronous and asynchronous execution.
! Test case by Harald Anlauf.
program gfcbug153
  implicit none
  integer :: iu, irecl
  real    :: a(100,20), b(1,3000)
  iu = 10
  a  = 0.
  b  = 0.
  inquire (iolength = irecl) a
  open (iu, file="file1.dat", access='direct', &
       asynchronous='yes', &
       recl=irecl)
  write(iu, rec=1) a(:,:)
  write(iu, rec=2) a(:,:)
  write(iu, rec=3) a(:,:)
  close (iu,status="delete")

  inquire (iolength = irecl) b
  open (iu, file="file2.dat", access='direct', &
       asynchronous='yes', &
       recl=irecl)
  write(iu, rec=1) b(:,:)
  write(iu, rec=2) b(:,:)
  write(iu, rec=3) b(:,:)
  close (iu,status="delete")
end program