https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65473
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Louis Dionne from comment #2) > Does the standard specify which headers should define those macros? Of course not, __GLIBCXX__ is not specified by the standard at all. > If not, > then it's a QOI issue that could easily be solved. In all cases, does stdcxx > document which headers must be included in order to get those definitions? I > couldn't find it. stdcxx is the Apache C++ library isn't it?! It's documented here: https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html "This macro is defined in the file "c++config" in the "libstdc++-v3/include/bits" directory." That's not very helpful though, because the file is renamed <bits/c++config.h> during installation, and is not a standard header so can't be included unless using libstdc++. But the unhelpful answer is "include anything that includes <bits/c++config.h>"