$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] [preprocessor] [config] Support for variadic macros
From: Stefan Strasser (strasser_at_[hidden])
Date: 2010-08-07 11:25:24
Zitat von Wolf Lammen <ookami1_at_[hidden]>:
> Well, perhaps I should have written: Variadic macros are covered by  
> C99 or later only, not by C90. So, whereever you want to introduce  
> them, you have to provide a parallel C90 implementation, unless you  
> want to exclude all non C99 conformant compilers.
>
> IMHO, if you use variadic macros to optimize internal processing for  
> a subset of compilers, this is ok. But you must not expose them on  
> the outside interface of BOOST_PP (such as to declare a new type),  
> because that wouldn't be portable.
boost already does that in many cases, and there are many more to come  
due to c++0x. even type "long long" is C99/C++0x.
that's what Boost.Config is for.
this thread has been about adding a macro to indicate variadic macro  
support to Boost.Config, and then I brought up supporting variadic  
macros in Boost.Preprocessor through variadic tuples - for those  
compilers that support them (which probably includes MSVC thanks to  
the mentioned bug workaround).
I don't see how this relates to specific PP engines like "chaos", or  
why variadic tuples could only be used internally, as long as it is  
documented that they require compiler support.