[libcxx-commits] [libcxx] a7d084a - [libc++] [compare] Rip out more vestiges of *_equality. NFCI.

Arthur O'Dwyer via libcxx-commits libcxx-commits at lists.llvm.org
Tue Sep 28 09:25:53 PDT 2021


Author: Arthur O'Dwyer
Date: 2021-09-28T12:23:41-04:00
New Revision: a7d084a18de736e0ed750c67c5851fa6b2a085f5

URL: https://github.com/llvm/llvm-project/commit/a7d084a18de736e0ed750c67c5851fa6b2a085f5
DIFF: https://github.com/llvm/llvm-project/commit/a7d084a18de736e0ed750c67c5851fa6b2a085f5.diff

LOG: [libc++] [compare] Rip out more vestiges of *_equality. NFCI.

There's really no reason to even have two different enums here,
but *definitely* we shouldn't have *three*, and they don't need
so many synonymous enumerator values.

Differential Revision: https://reviews.llvm.org/D110516

Added: 
    

Modified: 
    libcxx/include/__compare/ordering.h

Removed: 
    


################################################################################
diff  --git a/libcxx/include/__compare/ordering.h b/libcxx/include/__compare/ordering.h
index 460d25c41104d..f4ad31b83671a 100644
--- a/libcxx/include/__compare/ordering.h
+++ b/libcxx/include/__compare/ordering.h
@@ -21,16 +21,9 @@ _LIBCPP_BEGIN_NAMESPACE_STD
 #if _LIBCPP_STD_VER > 17 && !defined(_LIBCPP_HAS_NO_SPACESHIP_OPERATOR)
 
 // exposition only
-enum class _LIBCPP_ENUM_VIS _EqResult : unsigned char {
-  __zero = 0,
-  __equal = __zero,
-  __equiv = __equal,
-  __nonequal = 1,
-  __nonequiv = __nonequal
-};
-
 enum class _LIBCPP_ENUM_VIS _OrdResult : signed char {
   __less = -1,
+  __equiv = 0,
   __greater = 1
 };
 
@@ -56,10 +49,6 @@ struct _CmpUnspecifiedParam {
 class partial_ordering {
   using _ValueT = signed char;
 
-  _LIBCPP_HIDE_FROM_ABI
-  explicit constexpr partial_ordering(_EqResult __v) noexcept
-      : __value_(_ValueT(__v)) {}
-
   _LIBCPP_HIDE_FROM_ABI
   explicit constexpr partial_ordering(_OrdResult __v) noexcept
       : __value_(_ValueT(__v)) {}
@@ -142,15 +131,13 @@ class partial_ordering {
 };
 
 inline constexpr partial_ordering partial_ordering::less(_OrdResult::__less);
-inline constexpr partial_ordering partial_ordering::equivalent(_EqResult::__equiv);
+inline constexpr partial_ordering partial_ordering::equivalent(_OrdResult::__equiv);
 inline constexpr partial_ordering partial_ordering::greater(_OrdResult::__greater);
 inline constexpr partial_ordering partial_ordering::unordered(_NCmpResult ::__unordered);
 
 class weak_ordering {
   using _ValueT = signed char;
 
-  _LIBCPP_HIDE_FROM_ABI
-  explicit constexpr weak_ordering(_EqResult __v) noexcept : __value_(_ValueT(__v)) {}
   _LIBCPP_HIDE_FROM_ABI
   explicit constexpr weak_ordering(_OrdResult __v) noexcept : __value_(_ValueT(__v)) {}
 
@@ -229,14 +216,12 @@ class weak_ordering {
 };
 
 inline constexpr weak_ordering weak_ordering::less(_OrdResult::__less);
-inline constexpr weak_ordering weak_ordering::equivalent(_EqResult::__equiv);
+inline constexpr weak_ordering weak_ordering::equivalent(_OrdResult::__equiv);
 inline constexpr weak_ordering weak_ordering::greater(_OrdResult::__greater);
 
 class strong_ordering {
   using _ValueT = signed char;
 
-  _LIBCPP_HIDE_FROM_ABI
-  explicit constexpr strong_ordering(_EqResult __v) noexcept : __value_(_ValueT(__v)) {}
   _LIBCPP_HIDE_FROM_ABI
   explicit constexpr strong_ordering(_OrdResult __v) noexcept : __value_(_ValueT(__v)) {}
 
@@ -323,8 +308,8 @@ class strong_ordering {
 };
 
 inline constexpr strong_ordering strong_ordering::less(_OrdResult::__less);
-inline constexpr strong_ordering strong_ordering::equal(_EqResult::__equal);
-inline constexpr strong_ordering strong_ordering::equivalent(_EqResult::__equiv);
+inline constexpr strong_ordering strong_ordering::equal(_OrdResult::__equiv);
+inline constexpr strong_ordering strong_ordering::equivalent(_OrdResult::__equiv);
 inline constexpr strong_ordering strong_ordering::greater(_OrdResult::__greater);
 
 // named comparison functions


        


More information about the libcxx-commits mailing list