From 3e9a8d9fcdffa7617175d76e2642e0150acfe488 Mon Sep 17 00:00:00 2001 From: Edward Diener Date: Fri, 17 Apr 2020 05:49:29 -0400 Subject: [PATCH] Atomic exchange for 16 bytes does not work for Embarcadero C++ clang-based compilers. --- include/boost/config/compiler/codegear.hpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/boost/config/compiler/codegear.hpp b/include/boost/config/compiler/codegear.hpp index bdb43f03..3fdaa97a 100644 --- a/include/boost/config/compiler/codegear.hpp +++ b/include/boost/config/compiler/codegear.hpp @@ -35,6 +35,10 @@ #undef BOOST_HAS_FLOAT128 #endif +// The clang-based compilers can not do 128 atomic exchanges + +#define BOOST_ATOMIC_NO_CMPXCHG16B + // 32 functions are missing from the current RTL in cwchar, so it really can not be used even if it exists # define BOOST_NO_CWCHAR