https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116885
--- Comment #18 from Jaroslav Fojtík <JaFojtik at seznam dot cz> --- May be that this report points to a similar bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116621 I cannot consider this to be a bug because of types mismatch i my case. "Normaly" the va_arg is implemented this way: #define _crt_va_arg(ap,t) ( *(t *)((ap += _INTSIZEOF(t)) - _INTSIZEOF(t)) ) and type does not matter only object size passed is signifficant.