------- Comment #3 from schwab at suse dot de 2007-04-05 10:47 ------- 7.15 Variable arguments <stdarg.h> 3 [...] The object ap may be passed as an argument to another function; if that function invokes the va_arg macro with parameter ap, the value of ap in the calling function is indeterminate and shall be passed to the va_end macro prior to any further reference to ap.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31484