public inbox for libstdc++-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r13-8296] testsuite: Replace many dg-require-thread-fence with dg-require-atomic-cmpxchg-word
@ 2024-02-07 17:35 Torbjorn Svensson
  0 siblings, 0 replies; only message in thread
From: Torbjorn Svensson @ 2024-02-07 17:35 UTC (permalink / raw)
  To: gcc-cvs, libstdc++-cvs

https://gcc.gnu.org/g:18fd8d29b27ec9ace70098b4a451f5296276812e

commit r13-8296-g18fd8d29b27ec9ace70098b4a451f5296276812e
Author: Hans-Peter Nilsson <hp@axis.com>
Date:   Wed Oct 4 04:16:18 2023 +0200

    testsuite: Replace many dg-require-thread-fence with dg-require-atomic-cmpxchg-word
    
    These tests actually use a form of atomic compare and exchange
    operation, not just atomic loading and storing.  Some targets (not
    supported by e.g. libatomic) have atomic loading and storing, but not
    compare and exchange, yielding linker errors for missing library
    functions.
    
    This change is just for existing uses of
    dg-require-thread-fence.  It does not fix any other tests
    that should also be gated on dg-require-atomic-cmpxchg-word.
    
            * testsuite/29_atomics/atomic/compare_exchange_padding.cc,
            testsuite/29_atomics/atomic_flag/clear/1.cc,
            testsuite/29_atomics/atomic_flag/cons/value_init.cc,
            testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc,
            testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc,
            testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc,
            testsuite/29_atomics/atomic_ref/generic.cc,
            testsuite/29_atomics/atomic_ref/integral.cc,
            testsuite/29_atomics/atomic_ref/pointer.cc: Replace
            dg-require-thread-fence with dg-require-atomic-cmpxchg-word.
    
    (cherry picked from commit ba0cde8ba2d93b7193050eb5ef3cc6f7a2cdfe61)

Diff:
---
 libstdc++-v3/testsuite/29_atomics/atomic/compare_exchange_padding.cc    | 2 +-
 libstdc++-v3/testsuite/29_atomics/atomic_flag/clear/1.cc                | 2 +-
 libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/value_init.cc        | 1 +
 libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc  | 2 +-
 libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc  | 2 +-
 .../testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc         | 2 +-
 libstdc++-v3/testsuite/29_atomics/atomic_ref/generic.cc                 | 2 +-
 libstdc++-v3/testsuite/29_atomics/atomic_ref/integral.cc                | 2 +-
 libstdc++-v3/testsuite/29_atomics/atomic_ref/pointer.cc                 | 2 +-
 9 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/compare_exchange_padding.cc b/libstdc++-v3/testsuite/29_atomics/atomic/compare_exchange_padding.cc
index 2e7ff0307bc1..72b8ea9df422 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/compare_exchange_padding.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/compare_exchange_padding.cc
@@ -1,6 +1,6 @@
 // { dg-options "-std=gnu++20" }
 // { dg-do run { target c++20 } }
-// { dg-require-thread-fence "" }
+// { dg-require-atomic-cmpxchg-word "" }
 // { dg-add-options libatomic }
 
 #include <atomic>
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_flag/clear/1.cc b/libstdc++-v3/testsuite/29_atomics/atomic_flag/clear/1.cc
index 89ed381fe057..2e154178dbd7 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_flag/clear/1.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_flag/clear/1.cc
@@ -1,5 +1,5 @@
 // { dg-do run { target c++11 } }
-// { dg-require-thread-fence "" }
+// { dg-require-atomic-cmpxchg-word "" }
 
 // Copyright (C) 2009-2023 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/value_init.cc b/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/value_init.cc
index 565d1ac44171..e322ca2054a9 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/value_init.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/value_init.cc
@@ -17,6 +17,7 @@
 
 // { dg-options "-std=gnu++2a" }
 // { dg-do run { target c++2a } }
+// { dg-require-atomic-cmpxchg-word "" }
 
 #include <atomic>
 #include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc b/libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc
index 6f723eb5f4e7..6cb1ae2b6dda 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc
@@ -1,5 +1,5 @@
 // { dg-do run { target c++11 } }
-// { dg-require-thread-fence "" }
+// { dg-require-atomic-cmpxchg-word "" }
 
 // Copyright (C) 2008-2023 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc b/libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc
index 6f723eb5f4e7..6cb1ae2b6dda 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc
@@ -1,5 +1,5 @@
 // { dg-do run { target c++11 } }
-// { dg-require-thread-fence "" }
+// { dg-require-atomic-cmpxchg-word "" }
 
 // Copyright (C) 2008-2023 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc b/libstdc++-v3/testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc
index 5a2abb401951..f20974b16ae6 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc
@@ -1,6 +1,6 @@
 // { dg-options "-std=gnu++20" }
 // { dg-do run { target c++20 } }
-// { dg-require-thread-fence "" }
+// { dg-require-atomic-cmpxchg-word "" }
 // { dg-add-options libatomic }
 
 #include <atomic>
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_ref/generic.cc b/libstdc++-v3/testsuite/29_atomics/atomic_ref/generic.cc
index adae07f8754a..04ae5abb96a6 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_ref/generic.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_ref/generic.cc
@@ -17,7 +17,7 @@
 
 // { dg-options "-std=gnu++2a" }
 // { dg-do run { target c++2a } }
-// { dg-require-thread-fence "" }
+// { dg-require-atomic-cmpxchg-word "" }
 // { dg-add-options libatomic }
 
 #include <atomic>
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_ref/integral.cc b/libstdc++-v3/testsuite/29_atomics/atomic_ref/integral.cc
index a98adb7fbba3..1728a095ea95 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_ref/integral.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_ref/integral.cc
@@ -17,7 +17,7 @@
 
 // { dg-options "-std=gnu++2a" }
 // { dg-do run { target c++2a } }
-// { dg-require-thread-fence "" }
+// { dg-require-atomic-cmpxchg-word "" }
 // { dg-add-options libatomic }
 
 #include <atomic>
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_ref/pointer.cc b/libstdc++-v3/testsuite/29_atomics/atomic_ref/pointer.cc
index b9c7d844b8c5..a54083291810 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_ref/pointer.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_ref/pointer.cc
@@ -17,7 +17,7 @@
 
 // { dg-options "-std=gnu++2a" }
 // { dg-do run { target c++2a } }
-// { dg-require-thread-fence "" }
+// { dg-require-atomic-cmpxchg-word "" }
 // { dg-add-options libatomic }
 
 #include <atomic>

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-02-07 17:35 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-02-07 17:35 [gcc r13-8296] testsuite: Replace many dg-require-thread-fence with dg-require-atomic-cmpxchg-word Torbjorn Svensson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).