Boost logo

Boost :

Subject: Re: [boost] [test] BOOST_PP_VARIADICS is defined twice
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2015-10-16 05:40:04


On 16.10.2015 12:30, Raffi Enficiaud wrote:
> Le 16/10/15 11:22, Andrey Semashev a écrit :
>> Hi,
>>
>> For some reason Boost.Test defines the BOOST_PP_VARIADICS macro, which,
>> I believe, is a macro defined by Boost.Preprocessor. This results in
>> build errors as can be seen here:
>>
>> http://www.boost.org/development/tests/develop/developer/output/teeks99-01b-Ubuntu14-04-64-boost-bin-v2-libs-log-test-attr_attribute_value_impl-test-clang-linux-3-6-debug-threading-multi.html
>>
>>
>>
>> I think Boost.Test should not define BOOST_PP_VARIADICS and rely on
>> Boost.PP for that. In any case, BOOST_PP* is not the namespace of
>> Boost.Test.
>
> Refers to this thread:
> - http://lists.boost.org/boost-build/2015/10/28334.php
>
> And those two in particular:
> - http://lists.boost.org/boost-build/2015/10/28344.php
> - http://lists.boost.org/boost-build/2015/10/28351.php (this is what is
> causing the errors apparently).
>
> So I will guard the enforcement of BOOST_PP_VARIADICS=1 in case this one
> is already defined.

You can't guarantee the order of inclusion of Boost.Test and Boost.PP
headers. So, if I understand it right, by adding that check you
essentially make the interface inconsistent. If you have the
non-variadic implementation anyway, why do you want this inconsistency?


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