diff gcc/testsuite/gfortran.dg/pr47574.f90 @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/testsuite/gfortran.dg/pr47574.f90	Fri Oct 27 22:46:09 2017 +0900
@@ -0,0 +1,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
+