Boost logo

Boost :

Subject: Re: [boost] [test] trunk breakage
From: Patrick Horgan (phorgan1_at_[hidden])
Date: 2009-12-28 19:33:40


Bjørn Roald wrote:
> On Monday 28 December 2009 03:45:02 pm Gennadiy Rozental wrote:
>
>> Eric Niebler <eric <at> boostpro.com> writes:
>>
>>> On 12/28/2009 7:03 AM, Gennadiy Rozental wrote:
>>>
>>>> What is the proper (portable) way to copy va_list? Or at least what is
>>>> the workaround for this compiler?
>>>>
>>> There isn't a portable way to copy a va_list. va_copy is not standard.
>>>
It's in C99, and while not in C++ 2003, it's in C++0x. So it is standard.
>
> It is a C99 macro
>
and a C++0x macro listed in the standard in section 18.9 Other Runtime
Support in the <cstdarg> synopsis.
>
>>> On some systems it's __va_copy, and other systems (e.g. msvc) don't have
>>> it at all. Can the code in question be rewritten to not need it?
>>>
>> I essentially need to do double pas through va_list. I can't reinitialize
>> it cause I am doing this in a function which takes va_list as argument.
>>
>> Can I use va_copy with gcc 4?
>>
Yes, as long as you have the right version! Originally c++0x didn't
have it, but gcc recognized it as a bug and fixed it for 4.3.0.

Patrick


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk