While

gfortran -O1 -flto  -c species.f90
gfortran -O1 -flto  -c atom.f90
gfortran -O1 -flto  -o species species.o atom.o

works, the following gives an ICE:

gfortran -O1 -flto -g  -c species.f90
gfortran -O1 -flto -g  -c atom.f90
gfortran -O1 -flto -g  -o species species.o atom.o
lto1: error: missing callgraph edge for call stmt:
# .MEM_23 = VDEF <.MEM_22>
D.1875_17 = __builtin_sqrtf (t1_12);

lto1: error: edge atom->__builtin_sqrtf has no corresponding call_stmt
D.1874_18 = D.1865_14 / D.1875_17;

atom/5(-1) @0x2b47d4c25e00 availability:available 46 time, 18 benefit 19 size,
9 benefit needed reachable body externally_visible finalized inlinable
  called by: species/0 (1.00 per call)
  calls: __builtin_sqrt/4 (1.00 per call) __builtin_sqrtf/6 (1.00 per call)
lto1: internal compiler error: verify_cgraph_node failed

! ------ atom.f90 ----------------
subroutine atom(sol,k,eval)
real, intent(in) :: sol
integer, intent(in) :: k(2)
real, intent(out) :: eval(2)
real t1
  t1=sqrt(dble(k(1)**2)-(sol)**2)
  eval(1)=sol**2/sqrt(t1)-sol**2
end subroutine


! ------ species.f90 ----------------
program species
integer spk(2)
real eval(2)
spk = 2
call atom(1.1,spk,eval)
end program


-- 
           Summary: [LTO] ICE verify_cgraph_node only with "-g"
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: lto
        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=41521

Reply via email to