Boost logo

Boost :

Subject: Re: [boost] boost.test regression or behavior change (was Re: Boost.lockfree)
From: Edward Diener (eldiener_at_[hidden])
Date: 2015-10-03 17:10:56


On 10/3/2015 3:15 PM, Raffi Enficiaud wrote:
> Le 03/10/15 16:21, Tim Blechmann a écrit :
>>> All tests for lockfree in both master and develop branch seem to fail.
>>> Error message is
>>>
>>> "../boost/system/config.hpp", line 34: Error: #error Must not define
>>> both BOOST_SYSTEM_DYN_LINK and BOOST_SYSTEM_STATIC_LINK.
>>>
>>>
>>> See develop branch:
>>> http://www.boost.org/development/tests/develop/developer/lockfree.html
>>>
>>> See master branch:
>>> http://www.boost.org/development/tests/master/developer/lockfree.html
>>>
>>> I looked at lockfree/test/Jamfile.v2 but am not sure what change needs
>>> to be made.
>>>
>>> Any suggestions?
>>
>> boost lockfree's testsuite hasn't changed for a long time. i have no
>> idea why the tests are failing, so something must have changed in
>> boost.test.
>>
>> [snip]
>>
>> ---
>>
>> fwiw, maybe one of the boost.test developers has an understanding,
>> what's going on there? unfortunately i don't really have a lot of time
>> to look into this atm ...
>>
>> thanks a lot,
>> tim
>>
>
> Me again,
>
> So, if I change lockfree/test/Jamfile.v2
> - <library>../../test/build//boost_test_exec_monitor
> + <library>../../test/build//boost_unit_test_framework
>
> I can compile it with C++11 support without any issue:
>
> ../../../b2 -j8 toolset=clang cxxflags="-stdlib=libc++ -std=c++11"
> linkflags="-stdlib=libc++"
>
> I cannot compile it though without C++11 support for 2 reasons:
> - in lockfree commit 9f52c24 unconditionally uses <atomic>, but this one
> is available only with C++11 support
> - in boost.test, references to C++11 jargon.
>
> For boost.test, Gennadiy and me have to come up with a solution.

First, Boost Test can not require C++11 support. if you want to create a
Boost Test which does require C++11 support make a Boost Test2 or
whatever you want to call your new library that requires C++11 support.
Others have said the same thing. It is beyond me how you or Gennadiy
arbitrarily decided that libraries using Boost Test must run with C++11
support when you both know that there are many Boost libraries that do
not require or need C++11, and these libraries use Boost Test.

Second, if lockfree requires C++11 support and it tries to compile
without it, then that is lockfree's problem and not Boost Test's problem.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk