http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48797
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |INVALID Severity|major |normal --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> 2011-04-28 02:41:36 UTC --- First off GCC is the one which provides stdarg.h if you are not using GCC's stdarg.h then that is the real bug. Also it is safe to inline variadic functions is the variadic arguments are not used. That is the GCC builtin va_start is not used. If this libc uses macro version of va_start/va_end/va_next it will invoke undefined behavior, this is why GCC has builtin functions to do those rather than using macro versions.