On Mon, Mar 10, 2014 at 8:37 PM, Andrey Semashev
Would it be possible to get a log ok a problem, even if that’s be email? Currently I have nothing to work with to fix the issue. I’m happy to debug, but need some input. If you can send me something that would be super.
I've just updated my local develop branch and tried to build my tests and got this:
compile-c-c++ bin.v2\libs\test\build\msvc-12.0\debug\address-model-64\asynch-exceptions-on\threading-multi\exception_safety.obj exception_safety.cpp D:\src\_SVN\boost\boost/range/iterator_range_core.hpp(423) : error C2872: 'enable_if' : ambiguous symbol could be 'D:\src\_SVN\boost\boost/utility/enable_if.hpp(36) : boost::enable_if' or 'D:\src\_SVN\boost\boost/test/tree/decorator.hpp(184) : boost::unit_test::decorator::enable_if' D:\src\_SVN\boost\boost/lexical_cast.hpp(2082) : see reference to class template instantiation 'boost::iterator_range
' being compiled D:\src\_SVN\boost\boost/lexical_cast.hpp(2078) : while compiling class template member function 'bool
[snip]
D:\src\_SVN\boost\boost/test/impl/exception_safety.ipp(186) : see reference to function template instantiation 'Target boost::lexical_cast
(const Source &)' being compiled with [ Target=unsigned int , Source=boost::unit_test::basic_cstring<const char> ] D:\src\_SVN\boost\boost/range/iterator_range_core.hpp(434) : error C2872: 'enable_if' : ambiguous symbol could be 'D:\src\_SVN\boost\boost/utility/enable_if.hpp(36) : boost::enable_if' or 'D:\src\_SVN\boost\boost/test/tree/decorator.hpp(184) : boost::unit_test::decorator::enable_if' call "C:\Program Files (x86)\microsoft visual studio 12.0\vc\vcvarsall.bat" x86_amd64 >nul cl /Zm800 -nologo @"bin.v2\libs\test\build\msvc-12.0\debug\address-model-64\asynch-exceptions-on\threading-multi\exception_safety.obj.rsp"
It seems like a name clash somewhere in Boost.Test.
I may be missing something, but I don't quite understand how boost::unit_test::decorator::enable_if could clash with boost::enable_if. I don't find any global using declarations that could bring boost::unit_test::decorator::enable_if into boost::, but maybe I missed it. There is one using directive in exception_safety_tester::exception_safety_tester() though, where lexical_cast it invoked, but it should not affect iterator_range. Maybe there's a compiler problem involved? Anyway, just to compile things on my end I used the attached patch to work around the problem.