eh_ptr.cc (__gxx_dependent_exception_cleanup): Call __cxa_free_dependent_exception.
authorSebastian Redl <sebastian.redl@getdesigned.at>
Thu, 21 Aug 2008 17:37:23 +0000 (19:37 +0200)
committerPaolo Carlini <paolo@gcc.gnu.org>
Thu, 21 Aug 2008 17:37:23 +0000 (17:37 +0000)
2008-08-21  Sebastian Redl <sebastian.redl@getdesigned.at>

* libsupc++/eh_ptr.cc (__gxx_dependent_exception_cleanup): Call
__cxa_free_dependent_exception.

From-SVN: r139402

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

index 64bfa342384d919ec16d56f6be485454c4fc69d6..4d158348e75ad75ee0bb87272823ccdc6d221716 100644 (file)
@@ -1,3 +1,8 @@
+2008-08-21  Sebastian Redl <sebastian.redl@getdesigned.at>
+
+       * libsupc++/eh_ptr.cc (__gxx_dependent_exception_cleanup): Call
+       __cxa_free_dependent_exception.
+
 2008-08-20  Paolo Carlini  <paolo.carlini@oracle.com>
 
        * include/bits/char_traits.h (char_traits<char16_t>::
index 35ba5f90b87ff37c833ff06318c9ad930ae45d59..ce6c1720005fd7c486e30713fc01b43af1b7fe8f 100644 (file)
@@ -199,6 +199,8 @@ __gxx_dependent_exception_cleanup (_Unwind_Reason_Code code,
   if (code != _URC_FOREIGN_EXCEPTION_CAUGHT && code != _URC_NO_REASON)
     __terminate (header->terminateHandler);
 
+  __cxa_free_dependent_exception (dep);
+
   if (__gnu_cxx::__exchange_and_add_dispatch (&header->referenceCount, -1) == 0)
     {
       if (header->exceptionDestructor)