guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] 03/03: Refine check for when atomics are available.


From: Andy Wingo
Subject: [Guile-commits] 03/03: Refine check for when atomics are available.
Date: Tue, 6 Dec 2016 22:26:51 +0000 (UTC)

wingo pushed a commit to branch master
in repository guile.

commit b0ccf4dd4afab30c27a93cd8a84e67309cda723f
Author: Andy Wingo <address@hidden>
Date:   Tue Dec 6 23:26:06 2016 +0100

    Refine check for when atomics are available.
    
    * configure.ac:
    * libguile/atomics-internal.h: Use HAVE_STDATOMIC_H to know when to use
      atomics.
---
 configure.ac                |    1 +
 libguile/atomics-internal.h |    8 +++-----
 2 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/configure.ac b/configure.ac
index ab4f1f7..0201519 100644
--- a/configure.ac
+++ b/configure.ac
@@ -326,6 +326,7 @@ AC_SUBST([SCM_I_GSC_T_PTRDIFF])
 
 AC_CHECK_HEADERS([stdint.h])
 AC_CHECK_HEADERS([inttypes.h])
+AC_CHECK_HEADERS([stdatomic.h])
 
 AC_CHECK_SIZEOF(intmax_t)
 
diff --git a/libguile/atomics-internal.h b/libguile/atomics-internal.h
index 9074d8c..f2d17e1 100644
--- a/libguile/atomics-internal.h
+++ b/libguile/atomics-internal.h
@@ -28,9 +28,7 @@
 
 
 
-#define HAVE_C11_ATOMICS (__STDC_VERSION__ >= 201112L && 
!defined(__STDC_NO_ATOMICS__))
-
-#if HAVE_C11_ATOMICS
+#ifdef HAVE_STDATOMIC_H
 
 #include <stdatomic.h>
 static inline uint32_t
@@ -74,7 +72,7 @@ scm_atomic_compare_and_swap_scm (SCM *loc, SCM *expected, SCM 
desired)
 {
   return atomic_compare_exchange_weak (loc, expected, desired);
 }
-#else /* HAVE_C11_ATOMICS */
+#else /* HAVE_STDATOMIC_H */
 
 /* Fallback implementation using locks.  */
 #include "libguile/threads.h"
@@ -171,6 +169,6 @@ scm_atomic_compare_and_swap_scm (SCM *loc, SCM *expected, 
SCM desired)
   return ret;
 }
 
-#endif /* HAVE_C11_ATOMICS */
+#endif /* HAVE_STDATOMIC_H */
 
 #endif /* SCM_ATOMICS_INTERNAL_H */



reply via email to

[Prev in Thread] Current Thread [Next in Thread]