summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLouis Dionne <ldionne@apple.com>2019-03-06 17:07:24 +0000
committerLouis Dionne <ldionne@apple.com>2019-03-06 17:07:24 +0000
commit930007ba761badbcd7fe9abf20e3a36b696f98d6 (patch)
tree78b1009425d977a7eb17899bbd32bc7b3f025059
parent67f36903ae976aefaffe72802551ef5c3c4ace3c (diff)
downloadbcm5719-llvm-930007ba761badbcd7fe9abf20e3a36b696f98d6.tar.gz
bcm5719-llvm-930007ba761badbcd7fe9abf20e3a36b696f98d6.zip
[libc++] Do not specify the underlying type of memory_order
Summary: This breaks ABI for folks using -fshort-enums, and does not really buy us anything. http://llvm.org/PR40977 Reviewers: mclow.lists, EricWF Subscribers: christof, jkorous, dexonsmith, libcxx-commits, zoecarver Differential Revision: https://reviews.llvm.org/D59029 llvm-svn: 355521
-rw-r--r--libcxx/include/atomic10
1 files changed, 2 insertions, 8 deletions
diff --git a/libcxx/include/atomic b/libcxx/include/atomic
index e34b8678671..f0707b7c50e 100644
--- a/libcxx/include/atomic
+++ b/libcxx/include/atomic
@@ -586,7 +586,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD
#if _LIBCPP_STD_VER > 17
-enum class memory_order: unsigned {
+enum class memory_order {
relaxed, consume, acquire, release, acq_rel, seq_cst
};
@@ -597,9 +597,6 @@ inline constexpr auto memory_order_release = memory_order::release;
inline constexpr auto memory_order_acq_rel = memory_order::acq_rel;
inline constexpr auto memory_order_seq_cst = memory_order::seq_cst;
-static_assert((is_same<underlying_type<memory_order>::type,
- unsigned>::value), "Underlying type differs from unsigned unexpectedly");
-
#else
typedef enum memory_order {
@@ -607,12 +604,9 @@ typedef enum memory_order {
memory_order_release, memory_order_acq_rel, memory_order_seq_cst
} memory_order;
-static_assert((is_same<underlying_type<memory_order>::type,
- unsigned>::value), "Underlying type differs from unsigned unexpectedly");
-
#endif // _LIBCPP_STD_VER > 17
-typedef underlying_type<memory_order>::type __memory_order_underlying_t; // unsigned
+typedef underlying_type<memory_order>::type __memory_order_underlying_t;
#if defined(_LIBCPP_HAS_GCC_ATOMIC_IMP) || \
OpenPOWER on IntegriCloud