This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Bug 20375 - ia64 varadic regression
- From: Nathan Sidwell <nathan at codesourcery dot com>
- To: Dave Korn <dave dot korn at artimi dot com>
- Cc: 'Andrew Pinski' <pinskia at physics dot uc dot edu>, "'Joseph S. Myers'" <joseph at codesourcery dot com>,'Richard Henderson' <rth at redhat dot com>, 'gcc' <gcc at gcc dot gnu dot org>
- Date: Tue, 08 Mar 2005 17:42:48 +0000
- Subject: Re: Bug 20375 - ia64 varadic regression
- Organization: Codesourcery LLC
- References: <SERRANOaGidX0UZ07MX00000014@SERRANO.CAM.ARTIMI.COM>
Dave Korn wrote:
There was under varargs, which didn't require to pass a named argument to
va_start; it's only with stdargs that it would be impossible.
I suspect that this is the underlying reason for the code having developed
this way: sometimes the first variadic arg is the last named arg (stdargs),
sometimes it is the first arg _after_ the last named arg.
ah, yes, that explains the later comment
/* Handle stdargs. LAST_NAMED is a slight mis-nomer; it's also true
for the unnamed dummy argument following the last named argument.
See ABI silliness wrt strict_argument_naming and NAMED_ARG. So
we only want to do this when we get to the actual last named
argument, which will be the first time LAST_NAMED gets set. */
I was trying to work out what the 'unnamed dummy argument' was. As we
no longer support varargs, this can be excised.
nathan
--
Nathan Sidwell :: http://www.codesourcery.com :: CodeSourcery LLC
nathan@codesourcery.com :: http://www.planetfall.pwp.blueyonder.co.uk