From fcd4da81d14847272fa888f4e9a54930b48ee95b Mon Sep 17 00:00:00 2001 From: Antony Polukhin Date: Sat, 11 Jan 2014 19:19:20 +0400 Subject: [PATCH] Make Boost.Test work with RTTI disabled (fixes #9228) --- include/boost/test/execution_monitor.hpp | 2 +- include/boost/test/tree/test_case_template.hpp | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/include/boost/test/execution_monitor.hpp b/include/boost/test/execution_monitor.hpp index f6b7681f..259f97cb 100644 --- a/include/boost/test/execution_monitor.hpp +++ b/include/boost/test/execution_monitor.hpp @@ -261,7 +261,7 @@ public: template void erase_exception_translator( boost::type* = 0 ) { - m_custom_translators = m_custom_translators->erase( m_custom_translators ); + m_custom_translators = m_custom_translators->template erase( m_custom_translators ); } private: diff --git a/include/boost/test/tree/test_case_template.hpp b/include/boost/test/tree/test_case_template.hpp index 9f7466a6..b0fa6343 100644 --- a/include/boost/test/tree/test_case_template.hpp +++ b/include/boost/test/tree/test_case_template.hpp @@ -34,8 +34,13 @@ #include #include -// STL +#ifndef BOOST_NO_RTTI #include // for typeid +#else +#include +#endif + +// STL #include // for std::string #include // for std::list @@ -77,7 +82,11 @@ struct generate_test_case_4_type { std::string full_name; assign_op( full_name, m_test_case_name, 0 ); full_name += '<'; - full_name += typeid(TestType).name(); +#ifndef BOOST_NO_RTTI + full_name += typeid(TestType).name(); +#else + full_name += BOOST_CURRENT_FUNCTION; +#endif if( boost::is_const::value ) full_name += " const"; full_name += '>';