diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/pr39152.f')
-rw-r--r-- | gcc/testsuite/gfortran.dg/pr39152.f | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/pr39152.f b/gcc/testsuite/gfortran.dg/pr39152.f new file mode 100644 index 000000000..477200f35 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/pr39152.f @@ -0,0 +1,22 @@ +! { dg-do compile } +! { dg-options "-O2" } + SUBROUTINE CASHES(E,HESS,FC,FA,NORB,NPR) + IMPLICIT DOUBLE PRECISION (A-H,O-Z) + PARAMETER (MXAO=2047) + DIMENSION HESS(NPR),E(NORB,*),FC(*),FA(*) + COMMON /IJPAIR/ IA(MXAO) + COMMON /MCPAR / NFZC,NCORBS,NCI,NORBS,NORBX,NUM + K=0 + DO 200 IU = 1,NORB - NCORBS + I = IU + NCORBS + II=IA(I)+I + DO 100 J = 1,NCORBS + IF (I.GT.NORBS) THEN + HESS(K)=FC(II) + FA(II) - E(J,J) + ELSE + HESS(K)=FA(II) - E(I,I) - E(J,J) + FC(JJ) + FA(JJ) + END IF + 100 CONTINUE + 200 CONTINUE + RETURN + END |