diff -Naur boost_1_37_0/boost/function/function_template.hpp boost_1_37_0.tpg/boost/function/function_template.hpp --- boost_1_37_0/boost/function/function_template.hpp 2008-10-16 13:21:50.000000000 +0000 +++ boost_1_37_0.tpg/boost/function/function_template.hpp 2009-01-16 21:05:19.000000000 +0000 @@ -950,10 +950,10 @@ f.vtable->manager(f.functor, this->functor, boost::detail::function::move_functor_tag); f.vtable = 0; -#if !defined(BOOST_NO_EXCEPTIONS) } else { clear(); } +#if !defined(BOOST_NO_EXCEPTIONS) } catch (...) { vtable = 0; throw;