summaryrefslogtreecommitdiff
path: root/src/atomic_ops/sysdeps/gcc/aarch64.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/atomic_ops/sysdeps/gcc/aarch64.h')
-rw-r--r--src/atomic_ops/sysdeps/gcc/aarch64.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/atomic_ops/sysdeps/gcc/aarch64.h b/src/atomic_ops/sysdeps/gcc/aarch64.h
index d3508a6..9a6ef5a 100644
--- a/src/atomic_ops/sysdeps/gcc/aarch64.h
+++ b/src/atomic_ops/sysdeps/gcc/aarch64.h
@@ -207,4 +207,10 @@
#endif /* !AO_PREFER_BUILTIN_ATOMICS */
+#if defined(__clang__)
+ /* As of clang-3.6/arm64, __GCC_HAVE_SYNC_COMPARE_AND_SWAP_n are missing. */
+# define AO_GCC_FORCE_HAVE_CAS
+# define AO_GCC_HAVE_double_SYNC_CAS
+#endif
+
#include "generic.h"