https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80494
Bug ID: 80494 Summary: [8.0 regression] ICE on valid code Product: gcc Version: 8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: juergen.reuter at desy dot de Target Milestone: --- The following code ICEs with -O2 (-O0 and -O1) is ok. r246952 (in the 7.0.1) still worked fine, r247067 fails. subroutine CalcCgr(C,rmax,ordgr_max) integer, intent(in) :: rmax,ordgr_max double complex :: Zadj(2,2), Zadj2(2,2) double complex, intent(out) :: C(0:rmax,0:rmax,0:rmax) double complex, allocatable :: Cexpgr(:,:,:,:) double complex :: Caux integer :: rmaxB,rmaxExp,r,n0,n1,n2,k,l,i,j,m,n,nn rmaxB = 2*rmax rmaxExp = rmaxB allocate(Cexpgr(0:rmaxExp/2,0:rmaxExp,0:rmaxExp,0:ordgr_max)) rloop: do r=0,rmaxExp/2 do n0=r,1,-1 do nn=r-n0,0,-1 do i=1,2 Caux = Caux - Zadj(i,l) end do Cexpgr(n0,0,0,0) = Caux/(2*(nn+1)) end do end do do n1=0,r n2 = r-n1 if (r.le.rmax) then C(0,n1,n2) = Cexpgr(0,n1,n2,0) end if end do end do rloop end subroutine CalcCgr