git: 8ae4c8aadfbd - stable/12 - [libcxx] Fix atomic type for arm (pre v6) to work w/out needing libatomic

From: Dimitry Andric <dim_at_FreeBSD.org>
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;