[commit: ghc] master: Fix check whether GCC supports __atomic_ builtins (ce3897f)

git at git.haskell.org git at git.haskell.org
Tue Sep 18 17:06:53 UTC 2018


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/ce3897ffd6e7c8b8f36b8e920168bac8c7f836ae/ghc

>---------------------------------------------------------------

commit ce3897ffd6e7c8b8f36b8e920168bac8c7f836ae
Author: Ilias Tsitsimpis <iliastsi at debian.org>
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


>---------------------------------------------------------------

ce3897ffd6e7c8b8f36b8e920168bac8c7f836ae
 libraries/ghc-prim/aclocal.m4   | 2 +-
 libraries/ghc-prim/configure.ac | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/libraries/ghc-prim/aclocal.m4 b/libraries/ghc-prim/aclocal.m4
index e569538..81fc44c 100644
--- 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])
diff --git a/libraries/ghc-prim/configure.ac b/libraries/ghc-prim/configure.ac
index bacc89c..8249be3 100644
--- a/libraries/ghc-prim/configure.ac
+++ b/libraries/ghc-prim/configure.ac
@@ -8,7 +8,7 @@ dnl    unregisterised, Sparc, and PPC backends.
 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



More information about the ghc-commits mailing list