
Eric Niebler wrote:
Resending with a more appropriate subject ....
Noel Belcourt wrote:
There is a problem compiling Xpressive's test_static and test_dynamic with CW 9.6. 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?
-- Noel
As an experiment, I have changed xpressive's regression test to not use Boost.Test. The results are perplexing. The runtime crash went away on cw-9_4 but remains on cw-9_5-darwin. I don't know about cw-9_6. It's possible that it has something to do with the fact that the 9.4 test is run on Win32 and the 9.5 test on Darwin. Is there is another header pulling in CW's buggy versions of unistd.h/signal.h/setjmp.h on this platform? Can someone with CodeWarrior/Mac (any version) sync boost/xpressive and libs/xpressive and try running xpressive's "test1"? A stack backtrace would shed some light. -- Eric Niebler Boost Consulting www.boost-consulting.com