I've long come to the conclulsion that "static inline" is the most palatable form of the whole thingy -- its semantics does not depend on optimization level. It is also the form that suits needs for people who need to write C++ codes that use or interface with C codes.
Thanks for the advice Gaby. I'll switch from extern inline to static inline.
Kean