------- Comment #11 from rguenther at suse dot de 2010-04-03 21:10 ------- Subject: Re: [4.5 Regression] ICE: SIGSEGV with -fipa-cp-clone -fkeep-inline-functions
On Sat, 3 Apr 2010, jason at gcc dot gnu dot org wrote: > ------- Comment #10 from jason at gcc dot gnu dot org 2010-04-03 21:02 > ------- > If we're going to mess with that code at all, I'd prefer your initial patch. But the initial patch also regresses g++.dg/opt/inline8.C, as for the inline function therein DECL_EXTERNAL is set and thus the middle-end disregards it for its -fkeep-inline-functions processing. I suppose it is really the frontends business on deciding whether the language requires to emit inlines or not. And I suppose that the C++ frontend by setting DECL_EXTERNAL on inlines instructs the middle-end not to emit non-inlined copies [if the are not needed]? Thus, maybe the frontend should clear DECL_EXTERNAL for -fkeep-inline-functions instead - together with DECL_PUBLIC and TREE_STATIC it should force the functions to be output. But as you say the whole linkage code seems to need some TLC, so I'm trying to figure out a minimal fix for the ICE for 4.5. The patch from comment #8 is still in testing. Thanks, Richard. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43611