
ld: multiple definitions of symbol boost::unit_test::(anonymous namespace)::first_failed_assertion()
/Volumes/stuff/users/alexy/__boost_regressions/results/bin/boost/libs/test/ b
uild/libboost_test_exec_monitor.a/gcc-3.1-darwin/debug/libboost_test_exec_m o
nitor.a(unit_test_log.o) definition of boost::unit_test::(anonymous namespace)::first_failed_assertion() in section (__TEXT,__text)
/Volumes/stuff/users/alexy/__boost_regressions/results/bin/boost/libs/test/ b
uild/libboost_test_exec_monitor.a/gcc-3.1-darwin/debug/libboost_test_exec_m o
nitor.a(supplied_log_formatters.o) definition of boost::unit_test::(anonymous namespace)::first_failed_assertion() in
I've commited proposed patches, even though it's clear severe compiler bug in both cases: in one case it static member function defined in class body, the second is free function defined in unnamed namespace. In both cases they shouldn't cause link errors. Regards, Gennadiy. section
(__TEXT,__text)
[...]
Index: boost/boost/test/detail/xml_printer.hpp =================================================================== RCS file: /cvsroot/boost/boost/boost/test/detail/xml_printer.hpp,v retrieving revision 1.1 diff -r1.1 xml_printer.hpp 39c39 < static std::ostream& print_escaped( std::ostream& where_to, const_string value ) ---
static inline std::ostream& print_escaped( std::ostream& where_to, const_string value )
63c63 < static std::ostream& print_attr_value( std::ostream& where_to, const_string value ) ---
static inline std::ostream& print_attr_value( std::ostream& where_to, const_string value )
75c75 < static std::ostream& print_pcdata( std::ostream& where_to, const_string value ) ---
static inline std::ostream& print_pcdata( std::ostream& where_to, const_string value )
Index: boost/boost/test/unit_test_result.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/test/unit_test_result.hpp,v retrieving revision 1.21 diff -r1.21 unit_test_result.hpp 40c40 < void first_failed_assertion() {} ---
inline void first_failed_assertion() {}