https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96279
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|unassigned at gcc dot gnu.org |redi at gcc dot gnu.org Status|UNCONFIRMED |ASSIGNED Last reconfirmed| |2020-07-22 Ever confirmed|0 |1 --- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> --- <cmath> has: #if _GLIBCXX_USE_C99_MATH #if !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC // These are possible macros imported from C99-land. #undef fpclassify #undef isfinite #undef isinf So for your glibc isinf macro to be preserved we must not be using C99, which seems lik a bug. glibc-2.31 certainly has a usable C99 implementation, so it looks like a cross-config bug in libstdc++. It's probably been there for years and we never noticed until now.