diff options
Diffstat (limited to '3rdParty/Boost/src/boost/asio/detail/gcc_arm_fenced_block.hpp')
-rw-r--r-- | 3rdParty/Boost/src/boost/asio/detail/gcc_arm_fenced_block.hpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/3rdParty/Boost/src/boost/asio/detail/gcc_arm_fenced_block.hpp b/3rdParty/Boost/src/boost/asio/detail/gcc_arm_fenced_block.hpp index 58cdfb4..4081f7f 100644 --- a/3rdParty/Boost/src/boost/asio/detail/gcc_arm_fenced_block.hpp +++ b/3rdParty/Boost/src/boost/asio/detail/gcc_arm_fenced_block.hpp @@ -57,9 +57,14 @@ private: || defined(__ARM_ARCH_6Z__) \ || defined(__ARM_ARCH_6ZK__) \ || defined(__ARM_ARCH_6T2__) +# if defined(__thumb__) + // This is just a placeholder and almost certainly not sufficient. + __asm__ __volatile__ ("" : : : "memory"); +# else // defined(__thumb__) int a = 0, b = 0; __asm__ __volatile__ ("swp %0, %1, [%2]" : "=&r"(a) : "r"(1), "r"(&b) : "memory", "cc"); +# endif // defined(__thumb__) #else // ARMv7 and later. __asm__ __volatile__ ("dmb" : : : "memory"); |