git: 3720e5486934 - stable/12 - [libcxx] Fix atomic type for mips32 on gcc to work w/out needing libatomic

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Wed, 22 Dec 2021 10:06:23 UTC
The branch stable/12 has been updated by dim:

URL: https://cgit.FreeBSD.org/src/commit/?id=3720e548693435acacc50b506406d7192291b7e8

commit 3720e548693435acacc50b506406d7192291b7e8
Author:     Adrian Chadd <adrian@FreeBSD.org>
AuthorDate: 2020-10-18 17:31:10 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2021-12-22 10:01:21 +0000

    [libcxx] Fix atomic type for mips32 on gcc to work w/out needing libatomic
    
    When compiling this for mips32 on gcc-6.x, we'd hit issues where we
    don't have 64 bit atomics on mips32.
    
    gcc implements this using libatomic, which we don't currently include
    in our freebsd-gcc compiler packages.
    
    So for now add this work around so mips32 works.  It's also fine for
    mips64.  We can fix this later once we get libatomic included.
    
    Approved by:    dim
    Differential Revision:  https://reviews.freebsd.org/D26774
    
    (cherry picked from commit d061adc48d54ebb91b1709b16c59e8ceca895be2)
---
 contrib/llvm-project/libcxx/include/atomic | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/contrib/llvm-project/libcxx/include/atomic b/contrib/llvm-project/libcxx/include/atomic
index 9c2898653788..2dfb6f7b8131 100644
--- a/contrib/llvm-project/libcxx/include/atomic
+++ b/contrib/llvm-project/libcxx/include/atomic
@@ -1480,11 +1480,11 @@ struct __cxx_atomic_impl : public _Base {
     : _Base(value) {}
 };
 
-#ifdef __linux__
+#if defined(__linux__) || (defined(__FreeBSD__) && defined(__mips__))
     using __cxx_contention_t = int32_t;
 #else
     using __cxx_contention_t = int64_t;
-#endif //__linux__
+#endif
 
 #if _LIBCPP_STD_VER >= 11