https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96952
--- Comment #5 from Rich Felker <bugdal at aerifal dot cx> --- The whole point of __has_builtin is to let you avoid the configure-time checks on compilers that support __has_builtin. If __has_builtin doesn't actually work, it's pointless that it even exists and indeed everyone should just pretend it doesn't exist and keep using configure-time checks for everything.