On 20 October 2016 at 09:55, Christophe Lyon <christophe.l...@linaro.org> wrote: > Hi, > > Several times I have noticed/reported test failures because some test > cases wouldn't link on arm-none-eabi using the default 'old' cpu > target: __sync_synchronize cannot be resolved by the linker. > > The attached long patch adds > +// { dg-require-thread-fence "" } > to all the tests that require it according to the error messages I get. > > The change is mechanical: > - insert this line below dg-do if present > - insert this line at the top of the file otherwise > > For instance: > > diff --git a/libstdc++-v3/testsuite/18_support/bad_typeid/what.cc > b/libstdc++-v3/testsuite/18_support/bad_typeid/what.cc > index 633175b..a048250 100644 > --- a/libstdc++-v3/testsuite/18_support/bad_typeid/what.cc > +++ b/libstdc++-v3/testsuite/18_support/bad_typeid/what.cc > @@ -1,3 +1,4 @@ > +// { dg-require-thread-fence "" } > // 2007-01-30 Paolo Carlini <pcarl...@suse.de> > > // Copyright (C) 2007-2016 Free Software Foundation, Inc. > diff --git a/libstdc++-v3/testsuite/18_support/cxa_vec.cc > b/libstdc++-v3/testsuite/18_support/cxa_vec.cc > index e712655..f2a6c5a 100644 > --- a/libstdc++-v3/testsuite/18_support/cxa_vec.cc > +++ b/libstdc++-v3/testsuite/18_support/cxa_vec.cc > @@ -1,4 +1,5 @@ > // { dg-do run } > +// { dg-require-thread-fence "" } > // Avoid use of non-overridable new/delete operators in shared > // { dg-options "-static" { target *-*-mingw* } } > // Test __cxa_vec routines > > > If that's OK, I'm not sure how to write the ChangeLog entry: it > modifies 3287 files. > > In my testing, it replaces 3287 FAILs by 3287 UNSUPPORTED. > > > OK? >
Jonathan, The new test you introduced yesterday would need a similar fix: experimental/memory/shared_ptr/cons/enable_shared_from_this.cc Christophe > Other question: I've noticed similar errors in the g++ validation, but > I'm not sure what is the corresponding dg-require directive? > > Thanks, > > Christophe