[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
This commit is contained in:
Adrian Chadd 2020-10-18 17:31:10 +00:00
parent 0c325f53f1
commit d061adc48d

View File

@ -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