Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2006-05-26 19:49:04

"Gennadiy Rozental" <gennadiy.rozental_at_[hidden]> writes:

> "David Abrahams" <dave_at_[hidden]> wrote in message
>> In trying to run release-build regression tests on the Serialization
>> library, I found a Borland 5.6 crasher in the test library. It's
>> surely a codegen bug, but it left me wondering why, if I have to link
>> to the test library anyway, the library is putting
>> retrieve_framework_parameter in an unnamed namespace, making me
>> compile it into each **translation unit** of my test. This
>> non-templated function, it seems to me, could be
>> compiled into the test library.
> I am not quite sure what you are talking about. retrieve_framework_parameter
> is defined in unit_test_parameters.ipp and is not supposed to appear in any
> other translation unit.

An ipp file is not typically a translation unit by itself. It is
included by test_tools.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. I assume more than one
TU are allowed to include test_tools.hpp.

>> Among other things, would allow the test library author to handle
>> the codegen bug once and for all (e.g. by specifying build
>> requirements).
> Among other things you could mention what bug and what building
> requirements you are referring to.

I don't know how to describe the bug; the test program crashes inside
the initialization of a vector inside of
retrieve_framework_parameter. The following build command reproduces the
problem for me:

  myjam -sTOOLS="borland" -sSPIRIT_ROOT=c:/src/spirit-1.6 -sBUILD="release <debug-symbols>on" -sBOOST_ARCHIVE_LIST=text_archive.hpp test_exported_text_archive

dave Abrahams
Boost Consulting

Boost list run by bdawes at, gregod at, cpdaniel at, john at