Change AC_COMPILE_IFELSE into AC_LINK_IFELSE for the __sync_{add, sub}_and_fetch() test
With the Android NDK, __sync_{add,sub}_and_fetch() compile fine for uint64_t, but the corresponding libgcc function aren't there.
This commit is contained in:
parent
1a0e777024
commit
2cfe6d67ef
28
configure.ac
28
configure.ac
@ -898,20 +898,20 @@ dnl __GCC_HAVE_SYNC_COMPARE_AND_SWAP_n macros being undefined.
|
|||||||
AC_DEFUN([JE_SYNC_COMPARE_AND_SWAP_CHECK],[
|
AC_DEFUN([JE_SYNC_COMPARE_AND_SWAP_CHECK],[
|
||||||
AC_CACHE_CHECK([whether to force $1-bit __sync_{add,sub}_and_fetch()],
|
AC_CACHE_CHECK([whether to force $1-bit __sync_{add,sub}_and_fetch()],
|
||||||
[je_cv_sync_compare_and_swap_$2],
|
[je_cv_sync_compare_and_swap_$2],
|
||||||
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
|
[AC_LINK_IFELSE([AC_LANG_PROGRAM([
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
#ifndef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_$2
|
#ifndef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_$2
|
||||||
{
|
{
|
||||||
uint$1_t x$1 = 0;
|
uint$1_t x$1 = 0;
|
||||||
__sync_add_and_fetch(&x$1, 42);
|
__sync_add_and_fetch(&x$1, 42);
|
||||||
__sync_sub_and_fetch(&x$1, 1);
|
__sync_sub_and_fetch(&x$1, 1);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
#error __GCC_HAVE_SYNC_COMPARE_AND_SWAP_$2 is defined, no need to force
|
#error __GCC_HAVE_SYNC_COMPARE_AND_SWAP_$2 is defined, no need to force
|
||||||
#endif
|
#endif
|
||||||
])],
|
])],
|
||||||
[je_cv_sync_compare_and_swap_$2=yes],
|
[je_cv_sync_compare_and_swap_$2=yes],
|
||||||
[je_cv_sync_compare_and_swap_$2=no])])
|
[je_cv_sync_compare_and_swap_$2=no])])
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user