implementation, va_arg of a char violates C promotion rules. The builtin of newer GCC versions would call abort() in that case.