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

Reply via email to