[libcxx-commits] [libcxx] 619e8f4 - [libc++] Remove `operator!=` from `type_info` in C++20
Mark de Wever via libcxx-commits
libcxx-commits at lists.llvm.org
Sat Aug 6 06:10:44 PDT 2022
Author: Adrian Vogelsgesang
Date: 2022-08-06T15:10:38+02:00
New Revision: 619e8f46f3c77cb97464cf64e01872e6246f8875
URL: https://github.com/llvm/llvm-project/commit/619e8f46f3c77cb97464cf64e01872e6246f8875
DIFF: https://github.com/llvm/llvm-project/commit/619e8f46f3c77cb97464cf64e01872e6246f8875.diff
LOG: [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
Added:
Modified:
libcxx/docs/Status/SpaceshipProjects.csv
libcxx/include/typeinfo
Removed:
################################################################################
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)
More information about the libcxx-commits
mailing list