git: 8ae4c8aadfbd - stable/12 - [libcxx] Fix atomic type for arm (pre v6) to work w/out needing libatomic
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 22 Dec 2021 10:06:40 UTC
The branch stable/12 has been updated by dim:
URL: https://cgit.FreeBSD.org/src/commit/?id=8ae4c8aadfbd1ec3484dcd06336417c77ab1d2e0
commit 8ae4c8aadfbd1ec3484dcd06336417c77ab1d2e0
Author: Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2021-12-17 22:08:17 +0000
Commit: Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2021-12-22 10:01:32 +0000
[libcxx] Fix atomic type for arm (pre v6) to work w/out needing libatomic
Similar to d061adc48d54e, avoid using a 64 bit type for libc++'s
__cxx_contention_t on arm (pre v6), as this architecture lacks support
for 64 bit atomics.
---
contrib/llvm-project/libcxx/include/atomic | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/contrib/llvm-project/libcxx/include/atomic b/contrib/llvm-project/libcxx/include/atomic
index 2dfb6f7b8131..5ab48f55ddd3 100644
--- a/contrib/llvm-project/libcxx/include/atomic
+++ b/contrib/llvm-project/libcxx/include/atomic
@@ -1480,7 +1480,7 @@ struct __cxx_atomic_impl : public _Base {
: _Base(value) {}
};
-#if defined(__linux__) || (defined(__FreeBSD__) && defined(__mips__))
+#if defined(__linux__) || (defined(__FreeBSD__) && ((defined(__arm__) && __ARM_ARCH < 6) || defined(__mips__)))
using __cxx_contention_t = int32_t;
#else
using __cxx_contention_t = int64_t;