summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2021-04-09 17:51:31 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2021-04-10 16:05:01 +0900
commit4a6c7f8696f3a5df36fb752990f037b8ba9b5937 (patch)
tree4b83ee56633a59d32fee1c11222e98c34f8e7caa /configure.ac
parent8b7cab70ebf10b252c62bbc7931d0927fb9c25ad (diff)
configure: always check for atomic/sync builtins [Bug #17787]
Non-gcc compilers tend to have this intrinsic these days, e.g. xlc has `__sync` builtins.
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/4372
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac4
1 files changed, 3 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index 6b5dc369e5..6fe43bfc8d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1549,7 +1549,9 @@ AS_IF([test "$GCC" = yes], [
AC_DEFINE_UNQUOTED([RUBY_ALIAS_FUNCTION_VOID(prot, name, args)],
[RUBY_ALIAS_FUNCTION_TYPE(void, prot, name, args)])
])
+])
+{
AC_CACHE_CHECK([for __atomic builtins], [rb_cv_gcc_atomic_builtins], [
AC_LINK_IFELSE([AC_LANG_PROGRAM([[unsigned int atomic_var;]],
[[
@@ -1580,7 +1582,6 @@ AS_IF([test "$GCC" = yes], [
AS_IF([test "$rb_cv_gcc_sync_builtins" = yes], [
AC_DEFINE(HAVE_GCC_SYNC_BUILTINS)
])
-])
AC_CACHE_CHECK(for __builtin_unreachable, rb_cv_func___builtin_unreachable,
[RUBY_WERROR_FLAG(
@@ -1593,6 +1594,7 @@ AS_IF([test "$GCC" = yes], [
AS_IF([test "$rb_cv_func___builtin_unreachable" = yes], [
AC_DEFINE_UNQUOTED(UNREACHABLE, [__builtin_unreachable()])
])
+}
AC_CACHE_CHECK(for exported function attribute, rb_cv_func_exported, [
rb_cv_func_exported=no