diff mbox series

[committed] libstdc++: Fix some tests that fail with -fno-exceptions

Message ID 20230607155320.1369738-1-jwakely@redhat.com
State New
Headers show
Series [committed] libstdc++: Fix some tests that fail with -fno-exceptions | expand

Commit Message

Jonathan Wakely June 7, 2023, 3:53 p.m. UTC
Tested x86_64-linux (-m32/-m64) and powerpc64le-linux. Pushed to trunk.

-- >8 --

libstdc++-v3/ChangeLog:

	* testsuite/18_support/nested_exception/rethrow_if_nested-term.cc:
	Require effective target exceptions_enabled instead of using
	dg-skip-if.
	* testsuite/23_containers/vector/capacity/constexpr.cc: Expect
	shrink_to_fit() to be a no-op without exceptions enabled.
	* testsuite/23_containers/vector/capacity/shrink_to_fit.cc:
	Likewise.
	* testsuite/ext/bitmap_allocator/check_allocate_max_size.cc:
	Require effective target exceptions_enabled.
	* testsuite/ext/malloc_allocator/check_allocate_max_size.cc:
	Likewise.
	* testsuite/ext/mt_allocator/check_allocate_max_size.cc:
	Likewise.
	* testsuite/ext/new_allocator/check_allocate_max_size.cc:
	Likewise.
	* testsuite/ext/pool_allocator/check_allocate_max_size.cc:
	Likewise.
	* testsuite/ext/throw_allocator/check_allocate_max_size.cc:
	Likewise.
---
 .../18_support/nested_exception/rethrow_if_nested-term.cc | 2 +-
 .../testsuite/23_containers/vector/capacity/constexpr.cc  | 8 ++++++++
 .../23_containers/vector/capacity/shrink_to_fit.cc        | 4 ++++
 .../ext/bitmap_allocator/check_allocate_max_size.cc       | 2 ++
 .../ext/malloc_allocator/check_allocate_max_size.cc       | 2 ++
 .../testsuite/ext/mt_allocator/check_allocate_max_size.cc | 2 ++
 .../ext/new_allocator/check_allocate_max_size.cc          | 2 ++
 .../ext/pool_allocator/check_allocate_max_size.cc         | 2 ++
 .../ext/throw_allocator/check_allocate_max_size.cc        | 1 +
 9 files changed, 24 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested-term.cc b/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested-term.cc
index 5913392bd46..3bfc7ab9943 100644
--- a/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested-term.cc
+++ b/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested-term.cc
@@ -1,5 +1,5 @@ 
 // { dg-do run { target c++11 } }
-// { dg-skip-if "" { *-*-* } { "-fno-exceptions" } }
+// { dg-require-effective-target exceptions_enabled }
 
 #include <exception>
 #include <cstdlib>
diff --git a/libstdc++-v3/testsuite/23_containers/vector/capacity/constexpr.cc b/libstdc++-v3/testsuite/23_containers/vector/capacity/constexpr.cc
index 92c23035e4f..f102e78425b 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/capacity/constexpr.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/capacity/constexpr.cc
@@ -89,11 +89,19 @@  test_shrink_to_fit()
   std::vector<int> v;
   v.reserve(9);
   v.shrink_to_fit();
+#if __cpp_exceptions
   VERIFY( v.capacity() == 0 );
+#else
+  VERIFY( v.capacity() == 9 );
+#endif
   v.reserve(9);
   v.resize(5);
   v.shrink_to_fit();
+#if __cpp_exceptions
   VERIFY( v.capacity() == v.size() );
+#else
+  VERIFY( v.capacity() == 9 );
+#endif
 
   return true;
 }
diff --git a/libstdc++-v3/testsuite/23_containers/vector/capacity/shrink_to_fit.cc b/libstdc++-v3/testsuite/23_containers/vector/capacity/shrink_to_fit.cc
index a8cede2278d..6542b5fd39f 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/capacity/shrink_to_fit.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/capacity/shrink_to_fit.cc
@@ -30,7 +30,11 @@  void test01()
   v.push_back(1);
   VERIFY( v.size() < v.capacity() );
   v.shrink_to_fit();
+#if __cpp_exceptions
   VERIFY( v.size() == v.capacity() );
+#else
+  VERIFY( v.size() < v.capacity() );
+#endif
 }
 
 int main()
diff --git a/libstdc++-v3/testsuite/ext/bitmap_allocator/check_allocate_max_size.cc b/libstdc++-v3/testsuite/ext/bitmap_allocator/check_allocate_max_size.cc
index 712489f26a9..e523bb8f6c2 100644
--- a/libstdc++-v3/testsuite/ext/bitmap_allocator/check_allocate_max_size.cc
+++ b/libstdc++-v3/testsuite/ext/bitmap_allocator/check_allocate_max_size.cc
@@ -16,6 +16,8 @@ 
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
+// { dg-require-effective-target exceptions_enabled }
+
 // 20.4.1.1 allocator members
 
 #include <ext/bitmap_allocator.h>
diff --git a/libstdc++-v3/testsuite/ext/malloc_allocator/check_allocate_max_size.cc b/libstdc++-v3/testsuite/ext/malloc_allocator/check_allocate_max_size.cc
index 53fb8d4ab31..e59f6ad99b9 100644
--- a/libstdc++-v3/testsuite/ext/malloc_allocator/check_allocate_max_size.cc
+++ b/libstdc++-v3/testsuite/ext/malloc_allocator/check_allocate_max_size.cc
@@ -16,6 +16,8 @@ 
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
+// { dg-require-effective-target exceptions_enabled }
+
 // 20.4.1.1 allocator members
 
 #include <ext/malloc_allocator.h>
diff --git a/libstdc++-v3/testsuite/ext/mt_allocator/check_allocate_max_size.cc b/libstdc++-v3/testsuite/ext/mt_allocator/check_allocate_max_size.cc
index cc6f94bb2d0..b636098b5c9 100644
--- a/libstdc++-v3/testsuite/ext/mt_allocator/check_allocate_max_size.cc
+++ b/libstdc++-v3/testsuite/ext/mt_allocator/check_allocate_max_size.cc
@@ -16,6 +16,8 @@ 
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
+// { dg-require-effective-target exceptions_enabled }
+
 // 20.4.1.1 allocator members
 
 #include <ext/mt_allocator.h>
diff --git a/libstdc++-v3/testsuite/ext/new_allocator/check_allocate_max_size.cc b/libstdc++-v3/testsuite/ext/new_allocator/check_allocate_max_size.cc
index 80eece038dc..dbe7307636c 100644
--- a/libstdc++-v3/testsuite/ext/new_allocator/check_allocate_max_size.cc
+++ b/libstdc++-v3/testsuite/ext/new_allocator/check_allocate_max_size.cc
@@ -16,6 +16,8 @@ 
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
+// { dg-require-effective-target exceptions_enabled }
+
 // 20.4.1.1 allocator members
 
 #include <ext/new_allocator.h>
diff --git a/libstdc++-v3/testsuite/ext/pool_allocator/check_allocate_max_size.cc b/libstdc++-v3/testsuite/ext/pool_allocator/check_allocate_max_size.cc
index 7ad5f701521..6eecb74bcdf 100644
--- a/libstdc++-v3/testsuite/ext/pool_allocator/check_allocate_max_size.cc
+++ b/libstdc++-v3/testsuite/ext/pool_allocator/check_allocate_max_size.cc
@@ -16,6 +16,8 @@ 
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
+// { dg-require-effective-target exceptions_enabled }
+
 // 20.4.1.1 allocator members
 
 #include <ext/pool_allocator.h>
diff --git a/libstdc++-v3/testsuite/ext/throw_allocator/check_allocate_max_size.cc b/libstdc++-v3/testsuite/ext/throw_allocator/check_allocate_max_size.cc
index 424d87b9df6..73fec6ff071 100644
--- a/libstdc++-v3/testsuite/ext/throw_allocator/check_allocate_max_size.cc
+++ b/libstdc++-v3/testsuite/ext/throw_allocator/check_allocate_max_size.cc
@@ -18,6 +18,7 @@ 
 
 // { dg-require-time "" }
 // { dg-require-cstdint "" }
+// { dg-require-effective-target exceptions_enabled }
 
 #include <ext/throw_allocator.h>
 #include <testsuite_allocator.h>