Page MenuHomeFreeBSD

D38178.id115540.diff
No OneTemporary

D38178.id115540.diff

diff --git a/contrib/llvm-project/libcxx/src/atomic.cpp b/contrib/llvm-project/libcxx/src/atomic.cpp
--- a/contrib/llvm-project/libcxx/src/atomic.cpp
+++ b/contrib/llvm-project/libcxx/src/atomic.cpp
@@ -77,7 +77,12 @@
const_cast<__cxx_atomic_contention_t*>(__ptr), 0);
}
-#elif defined(__FreeBSD__) && defined(__LP64__)
+#elif defined(__FreeBSD__) && __SIZEOF_LONG__ == 8
+/*
+ * Since __cxx_contention_t is int64_t even on 32bit FreeBSD
+ * platforms, we have to use umtx ops that work on the long type, and
+ * limit its use to architectures where long and int64_t are synonims.
+ */
static void __libcpp_platform_wait_on_address(__cxx_atomic_contention_t const volatile* __ptr,
__cxx_contention_t __val)

File Metadata

Mime Type
text/plain
Expires
Mon, Mar 2, 7:11 PM (10 h, 17 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29167560
Default Alt Text
D38178.id115540.diff (779 B)

Event Timeline