]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libstdc++: Enable std::hash<coroutine_handle<P>> [PR107139]
authorJonathan Wakely <jwakely@redhat.com>
Tue, 4 Oct 2022 08:37:14 +0000 (09:37 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Tue, 4 Oct 2022 14:03:28 +0000 (15:03 +0100)
Everything that <coroutine> depends on is available for freestanding
now.

libstdc++-v3/ChangeLog:

PR libstdc++/107139
* include/std/coroutine: Remove all _GLIBCXXHOSTED preprocessor
conditionals.

libstdc++-v3/include/std/coroutine

index f4189c7e3fcf11de326dc952d9404936561d8ea8..ebaf11d701fbf3e1f1af846e98e51e0bc379421c 100644 (file)
@@ -39,7 +39,7 @@
 # include <compare>
 #endif
 
-#if !defined __cpp_lib_three_way_comparison && _GLIBCXX_HOSTED
+#if !defined __cpp_lib_three_way_comparison
 # include <bits/stl_function.h> // for std::less
 #endif
 
@@ -165,11 +165,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
   constexpr bool
   operator<(coroutine_handle<> __a, coroutine_handle<> __b) noexcept
   {
-#if _GLIBCXX_HOSTED
     return less<void*>()(__a.address(), __b.address());
-#else
-    return (__UINTPTR_TYPE__)__a.address() < (__UINTPTR_TYPE__)__b.address();
-#endif
   }
 
   constexpr bool
@@ -343,7 +339,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
   } // namespace __n4861
 
-#if _GLIBCXX_HOSTED
   template<typename _Tp> struct hash;
 
   template<typename _Promise>
@@ -355,10 +350,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
        return reinterpret_cast<size_t>(__h.address());
       }
     };
-#endif
 
 #else
-#error "the coroutine header requires -fcoroutines"
+#error "the <coroutine> header requires -fcoroutines"
 #endif
 
   _GLIBCXX_END_NAMESPACE_VERSION