|
Boost : |
From: Gennadiy Rozental (gennadiy.rozental_at_[hidden])
Date: 2006-05-27 18:47:05
"David Abrahams" <dave_at_[hidden]> wrote in message
news:m2d5e05btv.fsf_at_coppi.local...
> "Gennadiy Rozental" <gennadiy.rozental_at_[hidden]> 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.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk