]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR libstdc++/20091 (18_support/14026.cc execution test fails)
authorRichard Henderson <rth@redhat.com>
Tue, 22 Feb 2005 23:17:14 +0000 (15:17 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Tue, 22 Feb 2005 23:17:14 +0000 (15:17 -0800)
        PR libstdc++/20091
        * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't special case
        decrement of uncaughtExceptions for rethrow.

From-SVN: r95419

libstdc++-v3/ChangeLog
libstdc++-v3/libsupc++/eh_catch.cc

index c7065519aacbbd3b61b392d269326609f5c9b8ef..33b228e56d2775258234f1c199b331b9afd933b7 100644 (file)
@@ -1,3 +1,9 @@
+2005-02-22  Richard Henderson  <rth@redhat.com>
+
+       PR libstdc++/20091
+       * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't special case
+       decrement of uncaughtExceptions for rethrow.
+
 2005-02-22  Paolo Carlini  <pcarlini@suse.de>
 
        * include/tr1/functional: Fix License to GPL with exception.
index 88060d9f9cda0cd22e8b4a062352f4a581276bea..ba4b7d75f48086cc3d96d3ce2c61d22a253814ee 100644 (file)
@@ -70,15 +70,14 @@ __cxxabiv1::__cxa_begin_catch (void *exc_obj_in) throw()
     }
 
   int count = header->handlerCount;
+  // Count is less than zero if this exception was rethrown from an
+  // immediately enclosing region.
   if (count < 0)
-    // This exception was rethrown from an immediately enclosing region.
     count = -count + 1;
   else
-    {
-      count += 1;
-      globals->uncaughtExceptions -= 1;
-    }
+    count += 1;
   header->handlerCount = count;
+  globals->uncaughtExceptions -= 1;
 
   if (header != prev)
     {