|
Boost : |
From: Eric Niebler (eric_at_[hidden])
Date: 2005-12-15 17:46:16
Gennadiy Rozental wrote:
>>>The error is in test/impl/execution_monitor.ipp, lines
>>>86-88.
>>>
>>># include <unistd.h>
>>># include <signal.h>
>>># include <setjmp.h>
>>>
>>>These include files are defined in CW's standard library (MSL) and they
>>>hide the ones in /usr/include. The MSL doesn't seem to define the full
>>>(or maybe the correct) set of signal handling functions and structures.
>>>
>>>Xpressive's test_static and test_dynamic compile and run without error
>>>if I change the includes to
>>>
>>># include </usr/include/unistd.h>
>>># include </usr/include/signal.h>
>>># include </usr/include/setjmp.h>
>>>
>>>Can anyone suggest a workaround for this?
>
>
> I don't think it's really Boost.Test problem. But if you have any specific
> patch I may consider it.
>
Clearly, the problem here is in Metrowerks' standard library, but
Boost.Test needs a work-around. The fact that changing a Boost.Test
header file makes xpressive's tests pass seems to prove it. I don't know
what the work-around is, and I don't have the platform, so I can't
submit a patch. Sorry. But it might be as simple as something like:
#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3206))
# include </usr/include/unistd.h>
# include </usr/include/signal.h>
# include </usr/include/setjmp.h>
#else
# include <unistd.h>
# include <signal.h>
# include <setjmp.h>
#endif
HTH,
-- Eric Niebler Boost Consulting www.boost-consulting.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk