diff options
| author | Ivan Maidanski <ivmai@mail.ru> | 2016-08-20 18:39:25 +0300 |
|---|---|---|
| committer | Ivan Maidanski <ivmai@mail.ru> | 2016-08-20 18:39:25 +0300 |
| commit | eb6d4fd97ea93729bc36f4a5df33cf63f8dcc4e3 (patch) | |
| tree | b6d8dcd1a882991b23062ac27e292bcfa2367c2b /src/atomic_ops.c | |
| parent | f6a1b686f03aa801ebed7a1799e62849a31b1d37 (diff) | |
| download | libatomic_ops-eb6d4fd97ea93729bc36f4a5df33cf63f8dcc4e3.tar.gz | |
Workaround a bug in double-wide CAS intrinsic of Apple clang-600/x64
The bug causes test_stack failure.
* src/atomic_ops/sysdeps/gcc/x86.h
[AO_GCC_ATOMIC_TEST_AND_SET && __APPLE_CC__ && __x86_64__]: Fall-back
to asm-based implementation of double-wide CAS
(AO_compare_double_and_swap_double_full); add comment explaining the
reason.
* src/atomic_ops/sysdeps/gcc/x86.h
[__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 && AO_GCC_ATOMIC_TEST_AND_SET
&& __APPLE_CC__] (AO_SKIPATOMIC_double_compare_and_swap_ANY): Define.
Diffstat (limited to 'src/atomic_ops.c')
0 files changed, 0 insertions, 0 deletions
