Ping.
> From: Hans-Peter Nilsson <h...@axis.com> > Date: Wed, 4 Oct 2023 19:08:16 +0200 > > s/atomic-exchange/atomic-cmpxchg-word/g. > Tested as v1. > > Ok to commit? > -- >8 -- > 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. > --- > .../testsuite/29_atomics/atomic/compare_exchange_padding.cc | 2 +- > libstdc++-v3/testsuite/29_atomics/atomic_flag/clear/1.cc | 2 +- > .../testsuite/29_atomics/atomic_flag/cons/value_init.cc | 2 +- > .../testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc | 2 +- > .../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(+), 9 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 01f7475631e6..859629e625f8 100644 > --- a/libstdc++-v3/testsuite/29_atomics/atomic/compare_exchange_padding.cc > +++ b/libstdc++-v3/testsuite/29_atomics/atomic/compare_exchange_padding.cc > @@ -1,5 +1,5 @@ > // { 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 f3f38b54dbcd..6439873be133 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 > @@ -16,7 +16,7 @@ > // <http://www.gnu.org/licenses/>. > > // { dg-do run { target c++20 } } > -// { dg-require-thread-fence "" } > +// { 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 2a3d1d468c22..25ccd2e94336 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,5 +1,5 @@ > // { 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 f8751756d02c..c342b1aae292 100644 > --- a/libstdc++-v3/testsuite/29_atomics/atomic_ref/generic.cc > +++ b/libstdc++-v3/testsuite/29_atomics/atomic_ref/generic.cc > @@ -16,7 +16,7 @@ > // <http://www.gnu.org/licenses/>. > > // { 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/integral.cc > b/libstdc++-v3/testsuite/29_atomics/atomic_ref/integral.cc > index eb22afca03a2..134fb16506c3 100644 > --- a/libstdc++-v3/testsuite/29_atomics/atomic_ref/integral.cc > +++ b/libstdc++-v3/testsuite/29_atomics/atomic_ref/integral.cc > @@ -16,7 +16,7 @@ > // <http://www.gnu.org/licenses/>. > > // { 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/pointer.cc > b/libstdc++-v3/testsuite/29_atomics/atomic_ref/pointer.cc > index 6fe00b557567..fd26a053151f 100644 > --- a/libstdc++-v3/testsuite/29_atomics/atomic_ref/pointer.cc > +++ b/libstdc++-v3/testsuite/29_atomics/atomic_ref/pointer.cc > @@ -16,7 +16,7 @@ > // <http://www.gnu.org/licenses/>. > > // { dg-do run { target c++20 } } > -// { dg-require-thread-fence "" } > +// { dg-require-atomic-cmpxchg-word "" } > // { dg-add-options libatomic } > > #include <atomic> > -- > 2.30.2 >