This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: FreeBSD 4.0
On Wed, Sep 15, 1999 at 10:24:03AM -0700, David O'Brien wrote:
> #define va_start(ap, last) \
> (__builtin_next_arg(last), \
> (ap) = *(va_list *)__builtin_saveregs(), (ap).__pad = 0)
This won't work any longer, for multiple reasons, either on Alpha
or with any other target that passes arguments in registers in the
presence of varargs.
One of the changes actually fixes bugs that show up under rare
conditions, so backward compatibility with old varargs headers
isn't an option.
Bottom line, with version 2.96 and later, you absolutely must use the
builtins. Which means to me that you should just use gcc's stdarg.h
always.
r~