LGTM but I'm not a maintainer ;-)
On Thu, 12 Oct 2023 at 04:22, Hans-Peter Nilsson <h...@axis.com> wrote: > > 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 > >