+++ /dev/null
-* Test automatic arrays.
- program auto0
- implicit none
- integer i
- integer j0(40)
- integer j1(40)
- integer jc0(40)
- integer jc1(40)
- common /jc0/ jc0
- common /jc1/ jc1
-
- data j0/40*3/
- data j1/40*4/
-
- i = 40
- call a1 (j0, j1, i)
-
- do i = 1, 40
- if (j0(i) .ne. 4) call abort
- if (j1(i) .ne. 3) call abort
- if (jc0(i) .ne. 6) call abort
- if (jc1(i) .ne. 5) call abort
- end do
-
- end
-
- block data jc
- implicit none
- integer jc0(40)
- integer jc1(40)
- common /jc0/ jc0
- common /jc1/ jc1
-
- data jc0/40*5/
- data jc1/40*6/
-
- end
-
- subroutine a1 (j0, j1, n)
- implicit none
- integer j0(40), j1(40), n
- integer k0(n), k1(n)
- integer i
- integer jc0(40)
- integer jc1(40)
- common /jc0/ jc0
- common /jc1/ jc1
-
- do i = 1, 40
- j0(i) = j1(i) - j0(i)
- jc0(i) = jc1(i) - jc0(i)
- end do
-
- n = -1
-
- do i = 1, 40
- k0(i) = n
- k1(i) = n
- end do
-
- do i = 1, 40
- j1(i) = j1(i) + k0(i) * j0(i)
- jc1(i) = jc1(i) + k1(i) * jc0(i)
- end do
-
- n = 500
-
- do i = 1, 40
- if (k0(i) .ne. -1) call abort
- k0(i) = n
- if (k1(i) .ne. -1) call abort
- k1(i) = n
- end do
-
- do i = 1, 40
- j0(i) = j1(i) + j0(i)
- jc0(i) = jc1(i) + jc0(i)
- end do
-
- end