incubator-stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eric Lemings" <Eric.Lemi...@roguewave.com>
Subject RE: svn commit: r668225 - /stdcxx/branches/4.3.x/etc/config/src/VA_LIST_FUNC_MACRO.cpp
Date Mon, 23 Jun 2008 22:44:21 GMT
 

> -----Original Message-----
> From: Martin Sebor [mailto:sebor@roguewave.com] 
> 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:sebor@roguewave.com] 
> >> 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
> >>
> >> elemings@apache.org 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 <eric.lemings@roguewave.com>
> >>>
> >>> 	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.

Mime
View raw message