https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84859
--- Comment #6 from Martin Sebor <msebor at gcc dot gnu.org> --- We have seen this sort of thing come up a number of times in the past. Jeff and I have discussed changing jump threading to either avoid introducing paths involving invalid calls, or inserting __builtin_unreachable/__builtin_trap. That could not only avoid false positives but also make it possible to emit more efficient code.