https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113203
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> --- If you want to make something always_inline, define it in the header rather than having just a non-always_inline declaration in the header and definition in some TU. Because without LTO that means it will never be actually attempted to be inlined, and with LTO it can't be inlined until the IPA inlining which -O0 or -Og don't perform. Or, if the intention is that all calls to the function within its TU are inlined and not the other ones, split the function into two, one always_inline which is used from within the TU and another one which just calls it and is used from other TUs.