C99 inlines
Stefan Farfeleder
stefan at fafoe.narf.at
Mon Mar 9 06:58:21 PDT 2009
On Mon, Mar 09, 2009 at 09:55:41PM +1100, Andrew Reilly wrote:
> On Sun, Mar 08, 2009 at 03:09:24AM -0400, David Schultz wrote:
> > My main motivation is that currently there's no easy way to use
> > non-static inline functions that works with both gcc and other
> > compilers.
>
> Please pardon my ignorance: what *is* non-static inline
> behaviour? I've only ever used static inlines myself: they're
> the only sort that make sense (to me), in the world of standard
> C static compilation and linkage. What happens elsewhen? Does
> the compiler generate a "real" function with an exportable name
> that can be linked-to? Why would you want to do that, when
> that's what perfectly ordinary functions do? I can't imagine an
> extern inline meaning anything useful unless one can do
> LLVM-style link-time optimization. Is that on the cards?
With static inline functions you end up with a copy in each object file
where the compiler decided to not inline at least one call, with an
inline function with external linkage all these copies are coalesced to
a single one.
More information about the freebsd-arch
mailing list