glibc requires
__STDC__to be defined, if you claim to be GCC:
…and…welp, that effectively dooms this idea for the next decade or so. I stopped looking there.
Agreed… features.h includes sys/cdefs.h. Including almost any header will pull in sys/cdefs.h, and the compile will fail:
#if defined __GNUC__ && !defined __STDC__
# error "You need a ISO C conforming compiler to use the glibc headers"
#endif