Boost logo

Boost :

Subject: Re: [boost] [preprocessor] enabling variadics support
From: Paul Mensonides (pmenso57_at_[hidden])
Date: 2013-02-09 08:51:03


On Fri, 08 Feb 2013 23:04:06 -0500, Edward Diener wrote:

> On 2/8/2013 2:53 AM, Gennadiy Rozental wrote:

>> It appears PP variadics support is disabled on wide range of compilers
>> where it is in fact working (at least It seems to be). This includes
>> Clang and PGI. Can we enable it now?
>
> Although I worked with Paul Mensonides on variadic support for the PP
> library Paul wrote the code for individual compiler support. You can see
> it starting at line 73 of /config/config.hpp. So I think he needs to
> respond.
>
> You can force PP variadics support for any given compiler by simply:
>
> #define BOOST_PP_VARIADICS 1
>
> before including any pp header files.

It was only tested against GCC and VC++, so the general status of other
compilers is unkown, except that I know as of a few months ago Clang has
an issue related to placemarker token-pasting which AFAIK has not been
fixed. I am not sure whether that bug affects what boost-pp is doing or
not. I know that it affects chaos-pp.

Generally, the question isn't whether a compiler "supports variadic
macros" but whether they support variadic macros and placemarkers
*correctly*. I don't have a particular problem with someone turning it on
for a particular compiler as long as it has been well tested. Which means
not only executing all of the boost-pp tests, but also compiling all of
Boost and running all of Boost's tests with it turned on.

Regards,
Paul Mensonides


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