From 20fa41e61fd2d2839ca47e0dfac6976c552ab648 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Fri, 7 Feb 2020 20:50:00 +0000 Subject: [PATCH] libstdc++: Remove std::type_info::operator!= for C++20 This function can be synthesized by the compiler now. * libsupc++/typeinfo (type_info::operator!=): Remove for C++20. --- libstdc++-v3/ChangeLog | 2 ++ libstdc++-v3/libsupc++/typeinfo | 3 +++ 2 files changed, 5 insertions(+) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index a80c608d80f..0ad5ffea043 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,7 @@ 2020-02-20 Jonathan Wakely + * libsupc++/typeinfo (type_info::operator!=): Remove for C++20. + * include/std/thread (thread::id::operator<=>): Define for C++20. * testsuite/30_threads/thread/id/70294.cc: Do not take addresses of functions in namespace std. diff --git a/libstdc++-v3/libsupc++/typeinfo b/libstdc++-v3/libsupc++/typeinfo index 0f523d75b55..5a64e9ff092 100644 --- a/libstdc++-v3/libsupc++/typeinfo +++ b/libstdc++-v3/libsupc++/typeinfo @@ -133,8 +133,11 @@ namespace std { return __name == __arg.__name; } #endif #endif + +#if __cpp_impl_three_way_comparison < 201907L bool operator!=(const type_info& __arg) const _GLIBCXX_NOEXCEPT { return !operator==(__arg); } +#endif #if __cplusplus >= 201103L size_t hash_code() const noexcept -- 2.30.2