From: Sebastian Redl Date: Thu, 21 Aug 2008 17:37:23 +0000 (+0200) Subject: eh_ptr.cc (__gxx_dependent_exception_cleanup): Call __cxa_free_dependent_exception. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=eb5712c966473f563c24c8749e1f96d3acb671a2;p=gcc.git eh_ptr.cc (__gxx_dependent_exception_cleanup): Call __cxa_free_dependent_exception. 2008-08-21 Sebastian Redl * libsupc++/eh_ptr.cc (__gxx_dependent_exception_cleanup): Call __cxa_free_dependent_exception. From-SVN: r139402 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 64bfa342384..4d158348e75 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +2008-08-21 Sebastian Redl + + * libsupc++/eh_ptr.cc (__gxx_dependent_exception_cleanup): Call + __cxa_free_dependent_exception. + 2008-08-20 Paolo Carlini * include/bits/char_traits.h (char_traits:: diff --git a/libstdc++-v3/libsupc++/eh_ptr.cc b/libstdc++-v3/libsupc++/eh_ptr.cc index 35ba5f90b87..ce6c1720005 100644 --- a/libstdc++-v3/libsupc++/eh_ptr.cc +++ b/libstdc++-v3/libsupc++/eh_ptr.cc @@ -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)