[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 */