@@ -732,36 +732,36 @@ ]) ]) atomic_ops="none" - AC_MSG_CHECKING(whether __sync_* works) - AC_TRY_LINK([#include ], [ - int32_t i, j; - if (__sync_add_and_fetch(&i, 1)) - j = __sync_sub_and_fetch(&i, 1); - while (!__sync_bool_compare_and_swap(&i, 0, 1)); - ], [ - AC_MSG_RESULT(yes) - atomic_ops="GCC builtins" - AC_DEFINE(OF_HAVE_GCC_ATOMIC_OPS, 1, - [Whether GCC atomic operations are available]) - ], [ - AC_MSG_RESULT(no) - ]) - AC_MSG_CHECKING(whether we have an atomic ops assembly implementation) AC_EGREP_CPP(yes, [ #if defined(__GNUC__) && (defined(__i386__) || \ defined(__x86_64__) || defined(__amd64__)) || \ defined(__ppc__) yes #endif ], [ + AC_MSG_RESULT(yes) + atomic_ops="assembly implementation" + ], [ + AC_MSG_RESULT(no) + ]) + + AC_MSG_CHECKING(whether __sync_* works) + AC_TRY_LINK([#include ], [ + int32_t i, j; + if (__sync_add_and_fetch(&i, 1)) + j = __sync_sub_and_fetch(&i, 1); + while (!__sync_bool_compare_and_swap(&i, 0, 1)); + ], [ AC_MSG_RESULT(yes) test x"$atomic_ops" = x"none" && \ - atomic_ops="assembly implementation" + atomic_ops="__sync_* builtins" + AC_DEFINE(OF_HAVE_SYNC_BUILTINS, 1, + [Whether __sync_* builtins are available]) ], [ AC_MSG_RESULT(no) ]) AC_CHECK_HEADER(libkern/OSAtomic.h, [