OSDN Git Service

gcc/fortran:
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gfortran.dg / arrayio_6.f90
1 ! { dg-do run }
2 ! PR24224 Test formatted input/output to/from character arrays with strides
3 ! other than 1.  Contributed by Jerry DeLisle <jvdelisle@verizon.net>.
4       program arrayio_6
5       implicit none
6       integer         :: i(3),j,k(3)
7       character(12)  :: r(4,4,4) = '0123456789AB'
8       character(12)  :: s(64)
9       equivalence(r,s)
10  
11       i = (/(j,j=1,3)/)
12       write(r(1:4:2,2:4:1,3:4:2),'(3(2x,i4/)/3(3x,i6/))') i
13
14       if (s(36).ne.'0123456789AB') call abort()
15       if (s(37).ne.'     1      ') call abort()
16       if (s(38).ne.'0123456789AB') call abort()
17       if (s(39).ne.'     2      ') call abort()
18       if (s(40).ne.'0123456789AB') call abort()
19       if (s(41).ne.'     3      ') call abort()
20       if (s(42).ne.'0123456789AB') call abort()
21       if (s(43).ne.'            ') call abort()
22       if (s(44).ne.'0123456789AB') call abort()
23       if (s(45).ne.'            ') call abort()
24       if (s(46).ne.'0123456789AB') call abort()
25  
26       k = i
27       i = 0
28       read(r(1:4:2,2:4:1,3:4:2),'(3(2x,i4/)/3(3x,i6/))') i
29       if (any(i.ne.k)) call abort()
30       
31       end program arrayio_6