https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82626
--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> --- I don't see any leeway in the C standard for an implementation to not define those types at all, but we can certainly make this change, if that's the right thing to do: --- a/libstdc++-v3/include/c_global/cmath +++ b/libstdc++-v3/include/c_global/cmath @@ -1061,9 +1061,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION #undef truncf #undef truncl +#if 0 < __FLT_EVAL_METHOD__ && __FLT_EVAL_METHOD__ < 3 // types using ::double_t; using ::float_t; +#endif // functions using ::acosh;