summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/pr47574.f90
blob: 65d168630347e8da110f2a0c3c530b6e4e36dac6 (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
! { dg-do compile }
! PR 47574 - this used to ICE.
      SUBROUTINE EXCH2_UV_AGRID_3D_RL( uPhi, vPhi, myNz )

      IMPLICIT NONE

      INTEGER, parameter :: sNx=32, sNy=32, OLx=4, OLy=4

      INTEGER myNz
      Real(8) uPhi(1-OLx:sNx+OLx,1-OLy:sNy+OLy,myNz,3,1)
      REAL(8) vPhi(1-OLx:sNx+OLx,1-OLy:sNy+OLy,myNz,3,1)

      INTEGER i,j,k,bi,bj
      REAL(8) uLoc(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
      REAL(8) vLoc(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
      REAL(8) negOne

      negOne = 1.
        DO k = 1,myNz
         DO j = 1-OLy,sNy+OLy
          DO i = 1-OLx,sNx+OLx
           uLoc(i,j) = uPhi(i,j,k,bi,bj)
           vLoc(i,j) = vPhi(i,j,k,bi,bj)
          ENDDO
         ENDDO
         DO j = 1-OLy,sNy+OLy
          DO i = 1,OLx
           uPhi(1-i,j,k,bi,bj) = vLoc(1-i,j)
           vPhi(1-i,j,k,bi,bj) = uLoc(1-i,j)*negOne
          ENDDO
         ENDDO

        ENDDO

      END