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;

Reply via email to