diff options
author | Adrian Vogelsgesang <avogelsgesang@salesforce.com> | 2022-08-06 15:09:50 +0200 |
---|---|---|
committer | Mark de Wever <koraq@xs4all.nl> | 2022-08-06 15:10:38 +0200 |
commit | 619e8f46f3c77cb97464cf64e01872e6246f8875 (patch) | |
tree | 95a08353a04ff5b05423f60a4a36f4440703c5ac | |
parent | 735240b38fd7a249474a66f96cb98587658010af (diff) |
[libc++] Remove `operator!=` from `type_info` in C++20
Implements part of:
* P1614R2 The Mothership has Landed
Reviewed By: #libc, Mordante
Differential Revision: https://reviews.llvm.org/D130853
-rw-r--r-- | libcxx/docs/Status/SpaceshipProjects.csv | 1 | ||||
-rw-r--r-- | libcxx/include/typeinfo | 6 |
2 files changed, 6 insertions, 1 deletions
diff --git a/libcxx/docs/Status/SpaceshipProjects.csv b/libcxx/docs/Status/SpaceshipProjects.csv index 87e0c60373e6..ecf04319178b 100644 --- a/libcxx/docs/Status/SpaceshipProjects.csv +++ b/libcxx/docs/Status/SpaceshipProjects.csv @@ -12,6 +12,7 @@ Section,Description,Dependencies,Assignee,Complete | `weak_order_fallback <https://reviews.llvm.org/D111514>`_ | `partial_order_fallback <https://reviews.llvm.org/D111514>`_",None,Arthur O'Dwyer,|Complete| [#note-strongorder]_ | `[alg.three.way] <https://wg21.link/alg.three.way>`_,| `lexicographical_compare_three_way <https://reviews.llvm.org/D80902>`_,[comparisons.three.way],Christopher Di Bella,|In Progress| +| `[type.info] <https://wg21.link/type.info>`_,| `typeinfo <https://reviews.llvm.org/D130853>`_,None,Adrian Vogelsgesang,|Complete| | `[coroutine.handle.compare] <https://wg21.link/coroutine.handle.compare>`_,| `coroutine_handle <https://reviews.llvm.org/D109433>`_,[comparisons.three.way],Chuanqi Xu,|Complete| | `[pairs.spec] <https://wg21.link/pairs.spec>`_,| `pair <https://reviews.llvm.org/D107721>`_,[expos.only.func],Kent Ross,|Complete| | `[syserr.errcat.nonvirtuals] <https://wg21.link/syserr.errcat.nonvirtuals>`_,| error_category,[comparisons.three.way],Unassigned,|Not Started| diff --git a/libcxx/include/typeinfo b/libcxx/include/typeinfo index 1f316086c6f0..d81a30995723 100644 --- a/libcxx/include/typeinfo +++ b/libcxx/include/typeinfo @@ -22,7 +22,7 @@ public: virtual ~type_info(); bool operator==(const type_info& rhs) const noexcept; - bool operator!=(const type_info& rhs) const noexcept; + bool operator!=(const type_info& rhs) const noexcept; // removed in C++20 bool before(const type_info& rhs) const noexcept; size_t hash_code() const noexcept; @@ -112,9 +112,11 @@ public: return __compare(__arg) == 0; } +#if _LIBCPP_STD_VER <= 17 _LIBCPP_INLINE_VISIBILITY bool operator!=(const type_info& __arg) const _NOEXCEPT { return !operator==(__arg); } +#endif }; #else // !defined(_LIBCPP_ABI_MICROSOFT) @@ -337,9 +339,11 @@ public: return __impl::__eq(__type_name, __arg.__type_name); } +#if _LIBCPP_STD_VER <= 17 _LIBCPP_INLINE_VISIBILITY bool operator!=(const type_info& __arg) const _NOEXCEPT { return !operator==(__arg); } +#endif }; #endif // defined(_LIBCPP_ABI_MICROSOFT) |