On Sun, 27 Feb 2005 14:23:37 -0800, Mark Mitchell <[EMAIL PROTECTED]> wrote:
> Richard Guenther wrote:
> 
> >> 5. However, it really might be sensible to have the C++ front end
> >> treat "inline" as a command, rather than a hint, by default.  It might
> >> be that explicit uses of inline should be pretty much unconditionally
> >> honored. (I'd say that functions defined in a class, but not marked
> >> inline, should not be given this behavior.  That's partly because
> >> other compilers already treat "inline" in a class definition as more
> >> emphatic than just defining the function there, so there's a body of
> >> existing code out there that relies on this.)  I suspect that having
> >> the C++ front end treat "inline" as a command would fix most of the
> >> C++ inlining problems without requiring any tuning of the inlining
> >> algorithms.  Has anybody experimented with that potentially much less
> >> intrusive fix?
> >
> >
> > While in theory this could work well, existing code-bases (such as
> > POOMA) are notoriously bad in consistently using "inline" (or not).  I
> > guess such scheme would work great for most C people, as C people
> > generally think twice before using inline or not (at least this is
> > my experience).  I'd rather have the C++ frontend ignore "inline"
> > completely and enable -finline-functions by default and tell people
> > to use profile-directed inlining that we probably get for 4.1.
> 
> Of course, if we can make the compiler automatically do the right thing,
> that's great.  What I'm proposing is a method that would be possibly
> acceptable for 4.0 that would give people an easy to understand way of
> getting the compiler to do what they want: put "inline" on functions
> they really want to have inlined.  That's in addition to the existing
> heuristics.  I think that's a plausible way of mitigating the problem
> for people in the short term.

People already know to use __attribute__((always_inline)) (ugh!), I don't
think "overloading" inline is a good idea - you will get as many people
applauding as screaming :)  Of course there is this ominous -fobey-inline
flag...  certainly that or similar solution would not help me.

Richard.

Reply via email to