> -----Original Message-----
> From: Martin Sebor [mailto:[EMAIL PROTECTED] 
> Sent: Monday, June 23, 2008 3:50 PM
> To: dev@stdcxx.apache.org
> Subject: Re: svn commit: r668225 - 
> /stdcxx/branches/4.3.x/etc/config/src/VA_LIST_FUNC_MACRO.cpp
> 
> Eric Lemings wrote:
> >  
> > 
> >> -----Original Message-----
> >> From: Martin Sebor [mailto:[EMAIL PROTECTED] 
> >> Sent: Monday, June 23, 2008 2:10 PM
> >> To: dev@stdcxx.apache.org
> >> Subject: Re: svn commit: r668225 - 
> >> /stdcxx/branches/4.3.x/etc/config/src/VA_LIST_FUNC_MACRO.cpp
> >>
> >> [EMAIL PROTECTED] wrote:
> >>> Author: elemings
> >>> Date: Mon Jun 16 09:31:03 2008
> >>> New Revision: 668225
> >>>
> >>> URL: http://svn.apache.org/viewvc?rev=668225&view=rev
> >>> Log:
> >>> 2008-06-16  Eric Lemings <[EMAIL PROTECTED]>
> >>>
> >>>   STDCXX-958
> >>>   * etc/config/src/VA_LIST_FUNC_MACRO.cpp: Initial version of
> >>>   configuration check for va-list function macros.
> >> Out of curiosity, what do you expect to use this for? (FWIW,
> >> I've often wished variadic macros were supported in C++
> >> compilers but I could never come up with a workaround for
> >> their absence, making them essentially unusable as a general
> >> purpose feature.)
> > 
> > The most obvious use would be in RWTest printf-like functions.
> > 
> > I'm not sure how well variadic function macros mesh with variadic
> > templates but, if they do, I could take advantage of the feature
> > in tuples.
> 
> My point was that I couldn't find a way to use a feature
> that depends on variadic macros on platforms where they
> are not supported. In other words, I can't picture what
> the #else branch below would look like:
> 
>    #ifndef _RWSTD_NO_VARIADIC_MACROS
>    #  define RW_ASSERT(expr, ...) \
>              rw_assert (expr, 0, __LINE__, __VA_LIST__)
>    #else
>    #  define RW_ASSERT(expr, ???) ...
>    #endif

You're right.  There is no backward-compatible workaround which
essentially
rules out using variadic macros in these cases.

Brad.

Reply via email to