https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91937
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Then perhaps you want to use C++ instead of C? The way the preprocessor works and the way _Generic works is defined in the C standard, we can't handle it just differently from what the standard says, and the type decisions for _Generic can't be done during preprocessing, because that requires syntactic analysis of the source. E.g. glibc tgmath.h implementation using _Generic was suffering similarly and lead into the introduction of compiler builtin that handles what tgmath.h needs.