https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65771
--- Comment #5 from ktkachov at gcc dot gnu.org --- The code around the gcc_unreachable is: #ifdef ENABLE_CHECKING /* Otherwise this is a generic code; we should just lists all of these explicitly. We forgot one. */ gcc_unreachable (); #else /* In a release build, we want to degrade gracefully: better to generate incomplete debugging information than to crash. */ return NULL; #endif This will be hit only with checking enabled and the alternative seems to be incomplete debugging info.