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

Reply via email to