This fixes a linker error for older ARM cores without 64-bit atomics. I think the { dg-add-options libatomic } is no longer needed, but it's harmless to keep it there.
libstdc++-v3/ChangeLog: * testsuite/29_atomics/atomic_float/value_init.cc: Use float instead of double so that __atomic_load_8 isn't needed. Tested powerpc64le-linux and armv7l-linux-gnueabihf. Committed to trunk.
commit 324118378e4e26d9c0f86734af26538491c5c5fc Author: Jonathan Wakely <jwak...@redhat.com> Date: Fri Oct 2 22:14:06 2020 libstdc++: Change test to work without 64-bit atomics This fixes a linker error for older ARM cores without 64-bit atomics. I think the { dg-add-options libatomic } is no longer needed, but it's harmless to keep it there. libstdc++-v3/ChangeLog: * testsuite/29_atomics/atomic_float/value_init.cc: Use float instead of double so that __atomic_load_8 isn't needed. diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_float/value_init.cc b/libstdc++-v3/testsuite/29_atomics/atomic_float/value_init.cc index 38af9bdc8d4..dd8114d6034 100644 --- a/libstdc++-v3/testsuite/29_atomics/atomic_float/value_init.cc +++ b/libstdc++-v3/testsuite/29_atomics/atomic_float/value_init.cc @@ -22,13 +22,13 @@ #include <atomic> #include <testsuite_hooks.h> -constexpr std::atomic<double> a; +constexpr std::atomic<float> a; void test01() { VERIFY(a.load() == 0); - static_assert(std::is_nothrow_default_constructible_v<std::atomic<double>>); + static_assert(std::is_nothrow_default_constructible_v<std::atomic<float>>); } int