
"David Abrahams" <dave@boost-consulting.com> wrote in message news:m2d5e05btv.fsf@coppi.local...
"Gennadiy Rozental" <gennadiy.rozental@thomson.com> writes:
An ipp file is not typically a translation unit by itself.
Ignoring technicalliy it is in my case.
I don't know what you mean.
My TU is #define BOOST_TEST_SOURCE #include <boost/test/impl/unit_test_parameters.ipp>
It is included by test_tools.hpp
It's not. unit_test_parameters.ipp is only included by ":included" components of Boost.Test.
I don't know what that means either.
"included" means here a single header that includes whole implementation of Boost.Test component. For example boost/test/included/unit_test.hpp
which gets included in many of the serialization tests... or at least, it is indirectly included by libs/serialization/test/test_exported.cpp, and the only test header I can see there is boost/test/test_tools.hpp.
So, if not via test_tools.hpp, then how does it end up in that translation unit?
No idea. Maybe you somehow modified sources? Or maybe compiler somehow peaks into implementation (I expirienced something similar with sunpro compiler). Though I don't know how is it possible.
and I don't have spirit to replicate the error.
So download it. It takes about ten seconds over a fast connection. Or don't, if you don't want to look at this problem.
I don't even know where to look for it.
But my question remains: why is that function in a header when it could be compiled into the library? Seems pretty inefficient, at least for Boost, which runs many many tests using your library, to compile that function body over and over.
IT'S NOT. Why are you so sure it's my problem? Gennadiy P.S. I do have an access to borland 5.6.4. And I do not have any problems compiling with it.