PATCH: Mark an inline function one-only if it is accessible from outside

Joseph S. Myers
Sat Jan 31 00:03:00 GMT 2009

On Fri, 30 Jan 2009, H.J. Lu wrote:

> On Fri, Jan 30, 2009 at 2:43 PM, Ian Lance Taylor <> wrote:
> > "H.J. Lu" <> writes:
> >
> >> On Fri, Jan 30, 2009 at 7:44 AM, Ian Lance Taylor <> wrote:
> >>> I committed this patch to the gcc-in-cxx branch.  This fixes the
> >>> top-level configury to not think the c++ is missing because it was
> >>> explicitly enabled.  It also comments out some code which added
> >>> -fkeep-inlin-functions to stage 1.  When building with C++ this breaks
> >>> the inline functions which are provided by <gmp.h>, as they wind up
> >>> getting included in many .o files leading to duplicate definition
> >>> errors at link time.
> >>>
> >>
> >> I also noticed that keeping inline function led to link time error.
> >> Can't we mark the kept inline function linktonce?
> >
> > I have no objection to that.  It would make -fkeep-inline-functions
> > more useful for g++.
> >
> Here is a patch.

Changing C here seems like it would defeat the idea of 
-fkeep-inline-functions detecting uses that are not portable for C through 
link errors.  To make -fkeep-inline-functions more useful for g++ you 
should be changing C++ in some way, not C.

I don't think we should make any changes to the existing gnu89 inline 
semantics, or move C99 away from the C linkage mode.

Joseph S. Myers

More information about the Gcc-patches mailing list