libstdc++: Remove std::type_info::operator!= for C++20
authorJonathan Wakely <jwakely@redhat.com>
Fri, 7 Feb 2020 20:50:00 +0000 (20:50 +0000)
committerJonathan Wakely <jwakely@redhat.com>
Thu, 20 Feb 2020 11:30:19 +0000 (11:30 +0000)
This function can be synthesized by the compiler now.

* libsupc++/typeinfo (type_info::operator!=): Remove for C++20.

libstdc++-v3/ChangeLog
libstdc++-v3/libsupc++/typeinfo

index a80c608d80faaae154f190ba8c8639d8e580eeb1..0ad5ffea043790e2c365ae694408449a90f58fcc 100644 (file)
@@ -1,5 +1,7 @@
 2020-02-20  Jonathan Wakely  <jwakely@redhat.com>
 
+       * 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.
index 0f523d75b559c866c06bd6c65d84c42f32a61fa3..5a64e9ff092570c7e023bb151550e0da76d0f9b6 100644 (file)
@@ -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