Re: [2.6 patch] include/linux/bio.h: "extern inline" -> "static inline"

From: Kimball Murray
Date: Wed Jul 27 2005 - 10:03:24 EST


Jens Axboe wrote:

On Tue, Jul 26 2005, Adrian Bunk wrote:


"extern inline" doesn't make much sense.



Yep, thanks.



IIRC, there was a time when the extern inline construct was used to catch cases where the compiler did not inline the function (you'd get a link error). Seems like it still works. Try building the attached files in each of the following ways:

gcc -o foo foo.c

and

gcc -O2 -o foo foo.c

In the first case, you get a link error, because there is no inlining.

-kimball #include "bar.h"

void foo(void) {
bar();
}

int main(int argc, char *argv[])
{
foo();
return 0;
}
extern inline void bar(void)
{
}