Re: [discuss] [2.6 patch] include/asm-x86_64 "extern inline" -> "static inline"

Michael Matz
2005-09-05T08:52:53Z

Hi,

On Fri, 2 Sep 2005, Adrian Bunk wrote:

> "extern inline" doesn't make much sense.

It does. It's a GCC extension which says "never ever emit an out-of-line
version of this function, not even if its address is taken", i.e. it's
implicitely assumed, that if there is a need for such out-of-line variant,
then it is provided by some other mean (for instance by defining it
without inline markers in some .o file). Usually there won't be such need
as all instances are inlined, in which case the out-of-line version would
be dead bloat, which you can't get rid of without this extension. And if
some calls are not inlined then this extension serves as a poor mans
check, because a link error will result.

All in all, it does make sense, and no it's not the same as a "static
inline", not even if forced always_inline.

Ciao,
Michael.