This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

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~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]