https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88518
--- Comment #4 from Eric Gallager <egallager at gcc dot gnu.org> --- Note that if h() has __attribute__((pure)) or __attribute__((const)) on it, you then get the -Wuninitialized warning as expected. Of course, then you also get a warning from -Wattributes about pure or const being used on a function returning void, too...