https://gcc.gnu.org/bugzilla/show_bug.cgi?id=14557

--- Comment #23 from nsz at gcc dot gnu.org ---
(In reply to felix from comment #21)
> > va_list ap2;
> > va_copy(ap2, ap);
> 
> > and then use &ap2, this always works.
> 
> > the proposed macros are both broken and unnecessary.
> 
> That's not equivalent. Using va_arg(ap2, T) does not propagate state changes
> back to ap, which is the main motivation to form a pointer to ap in the
> first place. The macros do that just fine. You mean they are unportable?
> That part is true, I admitted as much. Pick your poison.
> 

state changes are propagated to ap2, which is
what you should use after you made the copy,
it does exactly what you want.

Reply via email to