https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61782
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- Like @item always_inline @cindex @code{always_inline} function attribute Generally, functions are not inlined unless optimization is specified. For functions declared inline, this attribute inlines the function independent of any restrictions that otherwise apply to inlining. Failure to inline such function is diagnosed as error. Note that if such function is called indirectly the compiler may or may not inline it dependent on optimization level and a failure to inline an indirect call may or may not be diagnosed. which matches how GCC behaves (last sentence)? Corrections welcome (I am not a native speaker).