view gcc/testsuite/gfortran.dg/pr54131.f @ 144:8f4e72ab4e11

fix segmentation fault caused by nothing next cur_op to end
author Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Sun, 23 Dec 2018 21:23:56 +0900
parents 04ced10e8804
children
line wrap: on
line source

! { dg-do compile }
! { dg-options "-O2 -funroll-loops" }

      SUBROUTINE EFPGRD(IFCM,NAT,NVIB,NPUN,FCM,
     *                  DEN,GRD,ENG,DIP,NVST,NFTODO,LIST)
      IMPLICIT DOUBLE PRECISION (A-H,O-Z)
      DIMENSION DEN(*),GRD(*),ENG(*),DIP(*),LIST(*)
      PARAMETER (MXPT=100, MXFRG=50, MXFGPT=MXPT*MXFRG)
      COMMON /FGRAD / DEF(3,MXFGPT),DEFT(3,MXFRG),TORQ(3,MXFRG),
     *                ATORQ(3,MXFRG)
      IF(NVST.EQ.0) THEN
         CALL PUVIB(IFCM,IW,.FALSE.,NCOORD,IVIB,IATOM,ICOORD,
     *              ENG(IENG),GRD(IGRD),DIP(IDIP))
      END IF
      DO 290 IVIB=1,NVIB
               DO 220 IFRG=1,NFRG
                  DO 215  J=1,3
                     DEFT(J,IFRG)=GRD(INDX+J-1)
  215             CONTINUE
                  INDX=INDX+6
  220          CONTINUE
  290 CONTINUE
      END