[PATCH] libstdc++: Fix Wrong param type in :atomic_ref<_Tp*>::wait [PR100889]
Jonathan Wakely
jwakely@redhat.com
Wed Jun 9 15:11:47 GMT 2021
For other tests that don't link to libatomic we use if-constexpr to
limit which types we test e.g.
--- a/libstdc++-v3/testsuite/29_atomics/atomic_ref/wait_notify.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_ref/wait_notify.cc
@@ -33,14 +33,17 @@ template<typename S>
S aa{ va };
S bb{ vb };
std::atomic_ref<S> a{ aa };
- a.wait(bb);
- std::thread t([&]
+ if constexpr (std::atomic_ref<S>::is_always_lock_free)
{
- a.store(bb);
- a.notify_one();
- });
- a.wait(aa);
- t.join();
+ a.wait(bb);
+ std::thread t([&]
+ {
+ a.store(bb);
+ a.notify_one();
+ });
+ a.wait(aa);
+ t.join();
+ }
}
int
Alternatively we could add arm*-*-* to the targets in
add_options_for_libatomic in testsuite/lib/dg-options.exp
More information about the Libstdc++
mailing list