summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/direct_io_9.f
blob: bdb40453a6fa82eea7a2c9c5c92905142b9cb23e (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
38
39
! { dg-do run }
! PR34876 can't read/write zero length array sections
! Test case from PR by Dick Hendrikson
      program qi0011
      character(9) bda(10)
      character(9) bda1(10)
      integer  j_len
      istat = -314

      inquire(iolength = j_len) bda1

      istat = -314
      open (unit=48,
     $      status='scratch',
     $      access='direct',
     $      recl = j_len,
     $      iostat = istat,
     $      form='unformatted',
     $      action='readwrite')


      if (istat /= 0) call abort

      bda  = 'xxxxxxxxx'
      bda1 = 'yyyyyyyyy'
      write (48,iostat = istat, rec = 10) bda1(4:3)
      if ( istat .ne. 0) then
        call abort
      endif

      istat = -314
      read (48,iostat = istat, rec=10) bda(4:3)
      if ( istat .ne. 0) then
        call abort
      endif
      if (any(bda1.ne.'yyyyyyyyy')) call abort
      if (any(bda.ne.'xxxxxxxxx')) call abort
      end