https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86360
--- Comment #5 from David Woodhouse <dwmw2 at infradead dot org> --- Well, it's *allowed* to emit it inline. But if it doesn't then it mustn't emit it out-of-line. At least, from your citation, it mustn't emit it out-of-line such that it can be seen from another translation unit. I'm not sure if it would be permitted for a compiler to emit that function as a static (but out-of-line) function. Perhaps if there's no extern definition of the same function, that might be a reasonable thing for a compiler to do? But frankly I don't care much either. I already submitted a patch to make the code that offended me use 'static inline', and although I allowed myself to be talked into filing this PR I'm more than happy just to point at the response and say "no, my initial analysis was correct". Thanks again.