[Bug c/48797] GCC does inline variadic function, crashing on i386, when non-GNU stdarg.h is used
pinskia at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Apr 28 02:42:00 GMT 2011
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.
More information about the Gcc-bugs
mailing list