Apply compiler-rt fix for building with earlier versions of clang
Merge commit 18efa420da5f from llvm git (by Brooks Davis) compiler-rt: Allow build without __c11_atomic_fetch_nand Don't build atomic fetch nand libcall functions when the required compiler builtin isn't available. Without this compiler-rt can't be built with LLVM 13 or earlier. Not building the libcall functions isn't optimal, but aligns with the usecase in FreeBSD where compiler-rt from LLVM 14 is built with an LLVM 13 clang and no LLVM 14 clang is built. Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D126710 MFC after: 3 days
This commit is contained in:
parent
034667f9fa
commit
cfefd16d57
@ -363,6 +363,9 @@ OPTIMISED_CASES
|
|||||||
#define OPTIMISED_CASE(n, lockfree, type) ATOMIC_RMW(n, lockfree, type, xor, ^)
|
#define OPTIMISED_CASE(n, lockfree, type) ATOMIC_RMW(n, lockfree, type, xor, ^)
|
||||||
OPTIMISED_CASES
|
OPTIMISED_CASES
|
||||||
#undef OPTIMISED_CASE
|
#undef OPTIMISED_CASE
|
||||||
|
// Allow build with clang without __c11_atomic_fetch_nand builtin (pre-14)
|
||||||
|
#if __has_builtin(__c11_atomic_fetch_nand)
|
||||||
#define OPTIMISED_CASE(n, lockfree, type) ATOMIC_RMW_NAND(n, lockfree, type)
|
#define OPTIMISED_CASE(n, lockfree, type) ATOMIC_RMW_NAND(n, lockfree, type)
|
||||||
OPTIMISED_CASES
|
OPTIMISED_CASES
|
||||||
#undef OPTIMISED_CASE
|
#undef OPTIMISED_CASE
|
||||||
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user