diff --git a/include/boost/test/impl/framework.ipp b/include/boost/test/impl/framework.ipp index ed9919c7..a1e98b37 100644 --- a/include/boost/test/impl/framework.ipp +++ b/include/boost/test/impl/framework.ipp @@ -124,13 +124,14 @@ public: void clear() { while( !m_test_units.empty() ) { - test_unit_store::value_type const& tu = *m_test_units.begin(); + test_unit_store::value_type const& tu = *m_test_units.begin(); + test_unit* tu_ptr = tu.second; // the delete will erase this element from map if( ut_detail::test_id_2_unit_type( tu.second->p_id ) == tut_suite ) - delete static_cast(tu.second); + delete (test_suite const*)tu_ptr; else - delete static_cast(tu.second); + delete (test_case const*)tu_ptr; } }