[PATCH] libstdc++: Fix -fno-exceptions support in testsuite_allocator.h

Patrick Palka ppalka@redhat.com
Thu May 28 13:34:32 GMT 2026


OK for trunk?

-- >8 --

This fixes the error

.../testsuite_allocator.h:402:13: error: exception handling disabled, use ‘-fexceptions’ to enable
  402 |             catch(...)
      |             ^~~~~

seen when running some C++23 library tests with -fno-exceptions.

libstdc++-v3/ChangeLog:

	* testsuite/util/testsuite_allocator.h
	(uneq_allocator::allocate_at_least): Guard try/catch with
	__cpp_exceptions.
---
 libstdc++-v3/testsuite/util/testsuite_allocator.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/libstdc++-v3/testsuite/util/testsuite_allocator.h b/libstdc++-v3/testsuite/util/testsuite_allocator.h
index 27372a97161d..cb8e9bc01bb9 100644
--- a/libstdc++-v3/testsuite/util/testsuite_allocator.h
+++ b/libstdc++-v3/testsuite/util/testsuite_allocator.h
@@ -394,16 +394,20 @@ namespace __gnu_test
 	  { return r; }
 	else
 	  {
+#if __cpp_exceptions
 	    try
+#endif
 	      {
 		get_map().insert(map_type::value_type(
 		      reinterpret_cast<void*>(r.ptr), personality));
 	      }
+#if __cpp_exceptions
 	    catch(...)
 	      {
 		AllocTraits::deallocate(*this, r.ptr, r.count);
 		__throw_exception_again;
 	      }
+#endif
 	    return r;
 	  }
       }
-- 
2.54.0.rc1.54.g60f07c4f5c



More information about the Libstdc++ mailing list