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