commit ce3897ffd6e7c8b8f36b8e920168bac8c7f836ae Author: Ilias Tsitsimpis Date: Tue Sep 18 17:45:17 2018 +0200 Fix check whether GCC supports __atomic_ builtins Summary: C11 atomics are never used because: * The program used for checking whether GCC supports __atomic_ builtins fails with the following error: ``` error: size mismatch in argument 2 of `__atomic_load` int test(int *x) { int y; __atomic_load(&x, &y, __ATOMIC_SEQ_CST); return x; } ``` * There is a typo when checking if CONF_GCC_SUPPORTS__ATOMICS equals YES, resulting in PRIM_CFLAGS and PRIM_EXTRA_LIBRARIES never being set. Reviewers: bgamari Reviewed By: bgamari Subscribers: rwbarton, erikd, carter Differential Revision: https://phabricator.haskell.org/D5154 Index: b/libraries/ghc-prim/aclocal.m4 =================================================================== --- a/libraries/ghc-prim/aclocal.m4 +++ b/libraries/ghc-prim/aclocal.m4 @@ -5,7 +5,7 @@ AC_DEFUN([FP_GCC_SUPPORTS__ATOMICS], [ AC_REQUIRE([AC_PROG_CC]) AC_MSG_CHECKING([whether GCC supports __atomic_ builtins]) - echo 'int test(int *x) { int y; __atomic_load(&x, &y, __ATOMIC_SEQ_CST); return x; }' > conftest.c + echo 'int test(int *x) { int y; __atomic_load(x, &y, __ATOMIC_SEQ_CST); return y; }' > conftest.c if $CC -c conftest.c > /dev/null 2>&1; then CONF_GCC_SUPPORTS__ATOMICS=YES AC_MSG_RESULT([yes]) Index: b/libraries/ghc-prim/configure.ac =================================================================== --- a/libraries/ghc-prim/configure.ac +++ b/libraries/ghc-prim/configure.ac @@ -8,7 +8,7 @@ dnl unregisterised, Sparc, and PPC ba FP_GCC_SUPPORTS__ATOMICS AC_DEFINE([HAVE_C11_ATOMICS], [$CONF_GCC_SUPPORTS__ATOMICS], [Does GCC support __atomic primitives?]) -if test "x$CONF_GCC_SUPPORTS__ATOMICS" = YES +if test "$CONF_GCC_SUPPORTS__ATOMICS" = "YES" then PRIM_CFLAGS=-DHAVE_C11_ATOMICS PRIM_EXTRA_LIBRARIES=atomic fi