https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96952
--- Comment #9 from Jonathan Wakely <redi at gcc dot gnu.org> --- No, I didn't say none of them come from configure. What I meant by "checking anything at configure time" is anything related to the properties of the compiler that ends up including the header. Not *anything* at all. Most of the _GLIBCXX macros relate to properties of the OS, which doesn't change when you include the headers with a different C++ compiler. But see https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=libstdc%2B%2B-v3/include/bits/c%2B%2Bconfig;h=860bf6dbcb3de8500555c95148f4fc6ad44cf0dd;hb=HEAD#l665 which uses __has_builtin. How would you do that in configure? The compiler that ends up consuming the libstdc++ headers might not even have existed when configure was run.