https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85233
--- Comment #2 from Erik Carstensen <erik.carstensen at intel dot com> --- I know nothing about GCC internals, but I did make some observations on the warning's behaviour while minimizing the test case. An unqualified guess based on this is that intraprocedural analysis is not done unless the function is inlined; if GCC decides to not inline a function, then the warning is effectively suppressed in order to avoid having to do intraprocedural analysis. A possible bug might then be that f "counts" as inlined (in the sense that the warning is not suppressed) even if it is only partially inlined.