configure: Fix atomic64 test for --enable-werror on macOS
authorThomas Huth <thuth@redhat.com>
Thu, 16 Jul 2020 10:23:48 +0000 (12:23 +0200)
committerThomas Huth <thuth@redhat.com>
Thu, 3 Sep 2020 10:46:56 +0000 (12:46 +0200)
commit5fe407656231ef3e34246fcfe32329d11887b6f9
tree2bf395a357c3aa486c97259c885ab7f239f02687
parented215cec0fcaeaece064b0fdf37fe3bceb06d76c
configure: Fix atomic64 test for --enable-werror on macOS

When using --enable-werror for the macOS builders in the Cirrus-CI,
the atomic64 test is currently failing, and config.log shows a bunch
of error messages like this:

 config-temp/qemu-conf.c:6:7: error: implicit declaration of function
 '__atomic_load_8' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
  y = __atomic_load_8(&x, 0);
      ^
 config-temp/qemu-conf.c:6:7: error: this function declaration is not a
 prototype [-Werror,-Wstrict-prototypes]

Seems like these __atomic_*_8 functions are available in one of the
libraries there, so that the test links and passes there when not
using --enable-werror. But there does not seem to be a valid prototype
for them in any of the header files, so that the test fails when using
--enable-werror.

Fix it by using the "official" built-in functions instead (see e.g.
https://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html).
We are not using the *_8 variants in QEMU anyway.

Suggested-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
Reviewed-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Tested-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20200728074405.13118-2-thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
configure