id summary reporter owner description type status milestone component version severity resolution keywords cc 4968 Syntax error in boost::exception_detail::diagnostic_information_impl simon.giesecke@… Emil Dotchevski "The following lines (line 139/140) in boost/exception/diagnostic_information.hpp gives a syntax error when trying to instrument code that includes the file using TestCocoon 1.4.0 with Visual C++ 9.0: {{{ tmp << std::string(""Dynamic exception type: "") << units::detail::demangle((be?BOOST_EXCEPTION_DYNAMIC_TYPEID(*be):BOOST_EXCEPTION_DYNAMIC_TYPEID(*se)).type_.name()) << '\n'; }}} Since BOOST_EXCEPTION_DYNAMIC_TYPEID is a macro that evaluates to ::..., the resulting ::: causes a syntax error (it appears to be fine when using plain Visual C++ 9.0). In any case, it would be safer to either change the macro or this use of it to by adding parentheses: {{{ tmp << std::string(""Dynamic exception type: "") << units::detail::demangle((be?(BOOST_EXCEPTION_DYNAMIC_TYPEID(*be)):(BOOST_EXCEPTION_DYNAMIC_TYPEID(*se))).type_.name()) << '\n'; }}}" Bugs closed To Be Determined exception Boost 1.44.0 Problem fixed