https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111669
Xi Ruoyao <xry111 at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |xry111 at gcc dot gnu.org --- Comment #1 from Xi Ruoyao <xry111 at gcc dot gnu.org> --- The warning given for the reduced test case is correct because it does not make sense. It should be just rewritten as int GetSystemDirectory16(char *path, int count) { if (GetWindowsDirectoryA()) __builtin_unreachable(); return 0; } because in the case if GetWindowsDirectoryA() returns non-zero, the code always invoke undefined behavior. I'm not sure about the original file.c, but AFAIK GCC developers are keeping to say "hey, don't use -Werror".