On 2/18/07, Robert Shearman rob@codeweavers.com wrote:
Joris Huizer wrote:
Though the keyword "inline" implies the code should get inlined, and if it shouldn't, the implementation copy should be removed from the unicode.h file
No, it's a hint to the compiler. "static inline" says to the compiler try to inline this function if it is worth it, or otherwise include a copy of this function in the object file. "extern inline" says to the compiler try to inline this function if it is worth it, or otherwise link to shared copy of this function (in our case, implemented in the libwine shared object).
I believe just "inline" by itself has that effect. One doesn't ordinarily put "extern" on the function definition (unless it's 'extern "C"').
-- Rob Shearman