Looks like something is not removing the EH edges. Anyways here is a simple testcase: file 1): void Stop_Profile( void ); struct CProfileSample { ~CProfileSample( void ) { Stop_Profile(); } }; void integrateVelocities(int); void predictUnconstraintMotion(int size) { CProfileSample __profile; for ( int i=0;i<size;i++) integrateVelocities(1); }
--- CUT --- File 2: void integrateVelocities(int) { } void Stop_Profile( void ) { } --- CUT --- -- Summary: ICE with -flto -O3 (BB N can not throw but has an EH edge) Product: gcc Version: 4.5.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pinskia at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41835