Add inline to the always_inline macro to quiet dozens of gcc
warnings of the form:
warning: 'always_inline' function might not be inlinable [-Wattributes]
It's clearly the intention of the __always_inline macro applied to a
function to inline the function. However, gcc seems to be picky with
the -Wattributes. It appears that __attribute__((__always_inline__))
was intended to apply to inline functions, as in, function declarations
with the attribute should also be declared as inline. Both clang and
gcc sources themselves use the two in combination:
inline __attribute__((__always_inline__))
FreeBSD sources mostly only use __always_inline, without the inline
keyword. Only a few files in libmsun used both.
Gcc refs:
https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html
https://gcc.gnu.org/onlinedocs/gcc/Inline.html
Clang ref:
https://clang.llvm.org/docs/AttributeReference.html
Another way to quiet the warnings could be to make all call sites do
inline __always_inline but this way made more sense to me.