Fix __sync_val_compare_and_swap detection
author <shinichiro.hamaji@gmail.com> <>
Thu, 12 Jan 2012 06:15:52 +0000 (06:15 +0000)
committer <shinichiro.hamaji@gmail.com> <>
Thu, 12 Jan 2012 06:15:52 +0000 (06:15 +0000)
We should use the second argument of AC_TRY_LINK.
Otherwise, the main function defined twice and this test does never succeed.

git-svn-id: https://google-glog.googlecode.com/svn/trunk@102 eb4d4688-79bd-11dd-afb4-1d65580434c0

configure
m4/ac_have_sync_val_compare_and_swap.m4

index a3ae126..d0c11ac 100755 (executable)
--- a/configure
+++ b/configure
@@ -15172,11 +15172,11 @@ else
 
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-int main() { int a; if (__sync_val_compare_and_swap(&a, 0, 1)) return 1; return 0; }
+
 int
 main ()
 {
-
+int a; if (__sync_val_compare_and_swap(&a, 0, 1)) return 1; return 0;
   ;
   return 0;
 }
index 9ff59c2..88b027e 100644 (file)
@@ -2,8 +2,8 @@ AC_DEFUN([AX_C___SYNC_VAL_COMPARE_AND_SWAP], [
   AC_MSG_CHECKING(for __sync_val_compare_and_swap)
   AC_CACHE_VAL(ac_cv___sync_val_compare_and_swap, [
     AC_TRY_LINK(
-      [int main() { int a; if (__sync_val_compare_and_swap(&a, 0, 1)) return 1; return 0; }],
       [],
+      [int a; if (__sync_val_compare_and_swap(&a, 0, 1)) return 1; return 0;],
       ac_cv___sync_val_compare_and_swap=yes,
       ac_cv___sync_val_compare_and_swap=no
     )])