|
Boost Testing : |
From: David Abrahams (dave_at_[hidden])
Date: 2005-06-23 13:14:07
Martin Wille <mw8329_at_[hidden]> writes:
> Douglas Gregor wrote:
>> On Jun 23, 2005, at 8:24 AM, David Abrahams wrote:
>>
>>>Until just now, I had forgotten that sometimes you really do need a
>>>python that's built with the same compiler you're testing for -- I
>>>guess that's something we'll need to build into BBv2.
>>
>>
>> Can you expand on that "sometimes"?
>>
>> All of the Python failures on gcc-3.4.4-linux disappeared once I built
>> Python with it; should I do the same for the other gcc-*-linux
>> variants?
>
> There are incompabilities in exception handling between gcc and icc.
> They might exist between different gcc versions, too.
>
> Those incompabilities become apparent when a program loads a shared
> library which in turn uses another shared library and those libraries
> and the main program have been compiled using different compilers (e.g.
> main program and libboost_python.so with icc, python with gcc). In that
> situation, passing an exception from the the second shared library
> through the first library to the main program can lead to crashes. (It
> took us some time to figure that out.)
Oh, no, it's not the exception going to the main program that's a
problem. We never leak exceptions into Python itself!
-- Dave Abrahams Boost Consulting www.boost-consulting.com