You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
2.0 KiB
55 lines
2.0 KiB
commit ce3897ffd6e7c8b8f36b8e920168bac8c7f836ae
|
|
Author: Ilias Tsitsimpis <iliastsi@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
|
|
|
|
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
|