------- 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

Reply via email to