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
> >

Reply via email to