https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82626
--- Comment #9 from Jonathan Wakely <redi at gcc dot gnu.org> --- I doubt many people use those types at all in C++, so not defining them probably won't upset anybody. On the other hand, what we do today results in an unavoidable error. This is probably a better way to do it: --- a/libstdc++-v3/config/os/mingw32/os_defines.h +++ b/libstdc++-v3/config/os/mingw32/os_defines.h @@ -78,4 +78,9 @@ // See libstdc++/59807 #define _GTHREAD_USE_MUTEX_INIT_FUNC 1 +// See target/82626 +#if __FLT_EVAL_METHOD__ < 0 || __FLT_EVAL_METHOD__ > 2 +#define _GLIBCXX_NO_FLOAT_T_DOUBLE_T 1 +#endif + #endif --- 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 +#ifndef _GLIBCXX_NO_FLOAT_T_DOUBLE_T // types using ::double_t; using ::float_t; +#endif // functions using ::acosh;