aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2022-02-11 21:17:05 +0000
committerJonathan Wakely <jwakely@redhat.com>2022-02-11 21:41:43 +0000
commitb02247346ea7e403d706b9ccabf9078c060adb9e (patch)
treea184770b98cdb4a3dccec0195d1f8a386620e0b4
parent9355a8c35883b5125851bb9b4169a1a1cd8e343f (diff)
downloadgcc-b02247346ea7e403d706b9ccabf9078c060adb9e.zip
gcc-b02247346ea7e403d706b9ccabf9078c060adb9e.tar.gz
gcc-b02247346ea7e403d706b9ccabf9078c060adb9e.tar.bz2
libstdc++: Fix test failures at -O0
libstdc++-v3/ChangeLog: * testsuite/20_util/monotonic_buffer_resource/allocate.cc: Ignore -Walloc-larger-than warning. * testsuite/20_util/unsynchronized_pool_resource/allocate.cc: Likewise. * testsuite/29_atomics/atomic/cons/user_pod.cc: Compile with -O1 to avoid linker error for __atomic_is_lock_free.
-rw-r--r--libstdc++-v3/testsuite/20_util/monotonic_buffer_resource/allocate.cc3
-rw-r--r--libstdc++-v3/testsuite/20_util/unsynchronized_pool_resource/allocate.cc3
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/cons/user_pod.cc1
3 files changed, 7 insertions, 0 deletions
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 015c1a9..e7a0e97 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 c81344a..25e5ce6 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 c538ff3..285b420 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.