The following program causes an ICE. With an older version of the 4.5 trunk it
worked thus it is a true regression.
$ gfortran -Wall -c -flto -O1 test.f
$ ${PATH}/libexec/gcc/x86_64-unknown-linux-gnu/4.5.0/lto1 -o /dev/null ylm4.o
Performing interprocedural optimizations
<whole-program> <inline>Assembling functions:
ylm4
In file included from test.f:5:0,
from :0:
test.f: In function 'ylm4':
test.f:9:0: internal compiler error: in expand_mult, at expmed.c:3253
SUBROUTINE ylm4(ylm)
COMPLEX, INTENT (OUT):: ylm(1)
INTEGER l,m
COMPLEX ylms
REAL, ALLOCATABLE, SAVE :: ynorm(:)
ylms = 0
DO m = 1, 1
DO l = m, 1
ylm(m) = conjg(ylms)*ynorm(m)
ENDDO
ENDDO
END SUBROUTINE ylm4
--
Summary: [4.5 Regression] ICE with lto1 in expand_mult, at
expmed.c:3253
Product: gcc
Version: 4.5.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: burnus at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42678