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 64bfa34..4d15834 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 35ba5f9..ce6c172 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)