diff options
author | Ivan Maidanski <ivmai@mail.ru> | 2016-12-28 23:43:05 +0300 |
---|---|---|
committer | Ivan Maidanski <ivmai@mail.ru> | 2016-12-28 23:43:05 +0300 |
commit | 7a6a7cc4820107dd768a47eaf20c0ec8fa918d2d (patch) | |
tree | 7e42ef30d7f116c5cebf815c5e3ca27f2244792c | |
parent | 8550ecd0362788b0a8b662cd9f2d4b4bb4a758a6 (diff) | |
download | libatomic_ops-7a6a7cc4820107dd768a47eaf20c0ec8fa918d2d.tar.gz |
Fix AO_stack build failure on OS X 10.7 because of missing CAS (x86_64)
Issue #23 (libatomic_ops).
* src/atomic_ops/sysdeps/gcc/x86.h [AO_GCC_ATOMIC_TEST_AND_SET
&& __APPLE_CC__ && __x86_64__] (AO_GCC_FORCE_HAVE_CAS): Define (to
workaround missing __GCC_HAVE_SYNC_COMPARE_AND_SWAP_<n> predefined
macro in Apple clang-425/x86_64); add comment.
-rw-r--r-- | src/atomic_ops/sysdeps/gcc/x86.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/atomic_ops/sysdeps/gcc/x86.h b/src/atomic_ops/sysdeps/gcc/x86.h index ded34ac..4f81773 100644 --- a/src/atomic_ops/sysdeps/gcc/x86.h +++ b/src/atomic_ops/sysdeps/gcc/x86.h @@ -43,6 +43,9 @@ /* As of Apple clang-600 (based on LLVM 3.5svn), it has some bug in */ /* double-wide CAS implementation for x64 target. */ # define AO_SKIPATOMIC_double_compare_and_swap_ANY + /* OS X 10.7 clang-425/x64 lacks __GCC_HAVE_SYNC_COMPARE_AND_SWAP_n */ + /* predefined macro (unlike e.g. OS X 10.11 clang-703). */ +# define AO_GCC_FORCE_HAVE_CAS # endif #else /* AO_DISABLE_GCC_ATOMICS */ |