> -----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.