The macro should only prevent usage of assembly completely but only
if at least some of GCC atomic intrinsics are available.
* src/atomic_ops/sysdeps/gcc/arm.h (AO_PREFER_BUILTIN_ATOMICS): Remove
from the condition whether to include generic.h.
* src/atomic_ops/sysdeps/gcc/mips.h (AO_PREFER_BUILTIN_ATOMICS):
Likewise.
#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) \
|| __clang_major__ > 3 \
- || (__clang_major__ == 3 && __clang_minor__ >= 5) \
- || (defined(AO_PREFER_BUILTIN_ATOMICS) \
- && __GNUC__ == 4 && __GNUC_MINOR__ >= 2)) \
+ || (__clang_major__ == 3 && __clang_minor__ >= 5)) \
&& !defined(AO_DISABLE_GCC_ATOMICS)
/* Probably, it could be enabled even for earlier gcc/clang versions. */
# define AO_GCC_ATOMIC_TEST_AND_SET
#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 9) \
|| __clang_major__ > 3 \
- || (__clang_major__ == 3 && __clang_minor__ >= 5) \
- || (defined(AO_PREFER_BUILTIN_ATOMICS) \
- && __GNUC__ == 4 && __GNUC_MINOR__ >= 2)) \
+ || (__clang_major__ == 3 && __clang_minor__ >= 5)) \
&& !defined(AO_DISABLE_GCC_ATOMICS)
/* Probably, it could be enabled even for earlier gcc/clang versions. */