summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/list_read_4.f90
blob: fb1770e23031fe6358d0eded862d67452ec3c7c0 (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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
! { dg-do run }
! Test of gfortran list directed read> check delimiters are correctly
! treated.  Written in f77 so that g77 will run for comparison.
!
! f , e and i edit reads are terminated separately by read_real.c
!
! PThomas                                                   Jan 2005
! BDavis        
      program list_read_4
      integer i(10),l(10),k,j 
      real x(10),y(10)
! expected results
      data y / 1.0,2.0,3.0,-1.0,-1.0,-1.0,4.0,4.0,99.0,99.0 /
      data l /1,2,3,-1,-1,-1,4,4,99,99/
! put them in a file
      open (10,status="scratch")
      write (10,*) " 1.0, 2.0 , 3.0,, 2* , 2*4.0 , 5*99.0"
      write (10,*) " 1.0e0, 2.0e0 , 3.0e0,, 2* , 2*4.0e0 , 5*99.0e0"
      write (10,*) " 1,   2 ,   3,,   2* , 2*4 ,   5*99"
      write (10,*) " 1,   2 ,   3,,   2* , 2*4 ,   5*99"
      rewind (10)
!
      do k = 1,10
        x(k) = -1.0
      enddo
      read (10,*,iostat=ier) x
      if (ier.ne.0) call abort
      do k = 1,10
         if (x(k).ne.y(k)) call abort
         x(k) = -1
      end do
      READ(10,*,iostat=ier) x
      if (ier.ne.0) call abort
      do k = 1,10
         if (x(k).ne.y(k)) call abort
         x(k) = -1
      end do
      READ(10,*,iostat=ier) x
      if (ier.ne.0) call abort
      do k = 1,10
         if (x(k).ne.y(k)) call abort
         x(k) = -1
      end do
! integer
      do k = 1,10
        i(k) = -1
      end do 
      READ(10,*,iostat=ier) (i(j),j=1,10)
      if (ier.ne.0) call abort
      do k = 1,10
         if (i(k).ne.y(k)) call abort
         i(k) = -1
      end do
      end