https://gcc.gnu.org/g:b64700dec403f9b2b605df295e43c73b3185d0f5

commit r17-910-gb64700dec403f9b2b605df295e43c73b3185d0f5
Author: Patrick Palka <[email protected]>
Date:   Thu May 28 10:41:33 2026 -0400

    libstdc++: Fix -fno-exceptions support in testsuite_allocator.h
    
    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): Use __try/__catch instead.
            (uneq_allocator::allocate_at_least): Likewise.
    
    Reviewed-by: Jonathan Wakely <[email protected]>

Diff:
---
 libstdc++-v3/testsuite/util/testsuite_allocator.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/libstdc++-v3/testsuite/util/testsuite_allocator.h 
b/libstdc++-v3/testsuite/util/testsuite_allocator.h
index 27372a97161d..3a9ae0de5853 100644
--- a/libstdc++-v3/testsuite/util/testsuite_allocator.h
+++ b/libstdc++-v3/testsuite/util/testsuite_allocator.h
@@ -369,12 +369,12 @@ namespace __gnu_test
        if (std::__is_constant_evaluated())
          return p;
 
-       try
+       __try
          {
            get_map().insert(map_type::value_type(reinterpret_cast<void*>(p),
                                                  personality));
          }
-       catch(...)
+       __catch(...)
          {
            AllocTraits::deallocate(*this, p, n);
            __throw_exception_again;
@@ -394,12 +394,12 @@ namespace __gnu_test
          { return r; }
        else
          {
-           try
+           __try
              {
                get_map().insert(map_type::value_type(
                      reinterpret_cast<void*>(r.ptr), personality));
              }
-           catch(...)
+           __catch(...)
              {
                AllocTraits::deallocate(*this, r.ptr, r.count);
                __throw_exception_again;

Reply via email to