This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

fix libstdc++/20091


Sloppy.  My 10606 patch changed rethrow to do the increment, which
means that this special case ought to have gone away at the same time.


r~


        PR libstdc++/20091
        * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't special case
        decrement of uncaughtExceptions for rethrow.

Index: libsupc++/eh_catch.cc
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/libsupc++/eh_catch.cc,v
retrieving revision 1.9
diff -u -p -d -r1.9 eh_catch.cc
--- libsupc++/eh_catch.cc	19 Feb 2005 02:35:25 -0000	1.9
+++ libsupc++/eh_catch.cc	22 Feb 2005 23:15:00 -0000
@@ -70,15 +70,14 @@ __cxxabiv1::__cxa_begin_catch (void *exc
     }
 
   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)
     {


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]