Message ID | 20220211221551.3383447-1-jwakely@redhat.com |
---|---|
State | New |
Headers | show |
Series | [committed] libstdc++: Fix test failures at -O0 | expand |
On Fri, 11 Feb 2022, Jonathan Wakely via Gcc-patches wrote: > diff --git a/libstdc++-v3/testsuite/20_util/unsynchronized_pool_resource/allocate.cc b/libstdc++-v3/testsuite/20_util/unsynchronized_pool_resource/allocate.cc > index c81344a20e4..25e5ce63b58 100644 > --- a/libstdc++-v3/testsuite/20_util/unsynchronized_pool_resource/allocate.cc > +++ b/libstdc++-v3/testsuite/20_util/unsynchronized_pool_resource/allocate.cc > @@ -281,10 +281,13 @@ test07() > std::pmr::unsynchronized_pool_resource upr(&cr); > try > { > +#pragma GCC diagnostic push > +#pragma GCC diagnostic ignored "-Walloc-size-larger-than=" > // Try to allocate a ridiculous size (and use a large extended alignment > // so that careful_resource::do_allocate can distinguish this allocation > // from any required for the pool resource's internal data structures): > void* p = upr.allocate(std::size_t(-2), 1024); > +#pragma GCC distinguish pop Isn't it a bug that you (presumably) didn't get an error for that misspelling? Or a diagnostic to distinguish it? 8-} brgds, H-P
On Sun, 13 Feb 2022, 21:21 Hans-Peter Nilsson, <hp@bitrange.com> wrote: > On Fri, 11 Feb 2022, Jonathan Wakely via Gcc-patches wrote: > > diff --git > a/libstdc++-v3/testsuite/20_util/unsynchronized_pool_resource/allocate.cc > b/libstdc++-v3/testsuite/20_util/unsynchronized_pool_resource/allocate.cc > > index c81344a20e4..25e5ce63b58 100644 > > --- > a/libstdc++-v3/testsuite/20_util/unsynchronized_pool_resource/allocate.cc > > +++ > b/libstdc++-v3/testsuite/20_util/unsynchronized_pool_resource/allocate.cc > > @@ -281,10 +281,13 @@ test07() > > std::pmr::unsynchronized_pool_resource upr(&cr); > > try > > { > > +#pragma GCC diagnostic push > > +#pragma GCC diagnostic ignored "-Walloc-size-larger-than=" > > // Try to allocate a ridiculous size (and use a large extended > alignment > > // so that careful_resource::do_allocate can distinguish this > allocation > > // from any required for the pool resource's internal data > structures): > > void* p = upr.allocate(std::size_t(-2), 1024); > > +#pragma GCC distinguish pop > > Isn't it a bug that you (presumably) didn't get an error for > that misspelling? Or a diagnostic to distinguish it? 8-} > Oh! I guess I typed di then ctrl-p to complete it (a vim shortcut). I think it should warn with -Wunknown-pragma or whatever the option is, but we probably don't use that for the libstdc++ tests. I'll fix that in the morning, thanks for spotting it.
diff --git a/libstdc++-v3/testsuite/20_util/monotonic_buffer_resource/allocate.cc b/libstdc++-v3/testsuite/20_util/monotonic_buffer_resource/allocate.cc index 015c1a9e4dc..e7a0e97c9f9 100644 --- a/libstdc++-v3/testsuite/20_util/monotonic_buffer_resource/allocate.cc +++ b/libstdc++-v3/testsuite/20_util/monotonic_buffer_resource/allocate.cc @@ -238,8 +238,11 @@ test07() std::pmr::monotonic_buffer_resource mbr(&cr); try { +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Walloc-size-larger-than=" // Try to allocate a ridiculous size: void* p = mbr.allocate(std::size_t(-2), 1); +#pragma GCC diagnostic pop // Should not reach here! VERIFY( !"attempt to allocate SIZE_MAX-1 should not have succeeded" ); throw p; diff --git a/libstdc++-v3/testsuite/20_util/unsynchronized_pool_resource/allocate.cc b/libstdc++-v3/testsuite/20_util/unsynchronized_pool_resource/allocate.cc index c81344a20e4..25e5ce63b58 100644 --- a/libstdc++-v3/testsuite/20_util/unsynchronized_pool_resource/allocate.cc +++ b/libstdc++-v3/testsuite/20_util/unsynchronized_pool_resource/allocate.cc @@ -281,10 +281,13 @@ test07() std::pmr::unsynchronized_pool_resource upr(&cr); try { +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Walloc-size-larger-than=" // Try to allocate a ridiculous size (and use a large extended alignment // so that careful_resource::do_allocate can distinguish this allocation // from any required for the pool resource's internal data structures): void* p = upr.allocate(std::size_t(-2), 1024); +#pragma GCC distinguish pop // Should not reach here! VERIFY( !"attempt to allocate SIZE_MAX-1 should not have succeeded" ); throw p; diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/cons/user_pod.cc b/libstdc++-v3/testsuite/29_atomics/atomic/cons/user_pod.cc index c538ff370e1..285b420eef1 100644 --- a/libstdc++-v3/testsuite/29_atomics/atomic/cons/user_pod.cc +++ b/libstdc++-v3/testsuite/29_atomics/atomic/cons/user_pod.cc @@ -1,3 +1,4 @@ +// { dg-options "-O1" } // { dg-do link { target c++11 } } // Copyright (C) 2009-2022 Free Software Foundation, Inc.