This is the mail archive of the gcc-bugs@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]
Other format: [Raw text]

Re: c/9700: va_start gets __offset wrong in some situations


On Fri, 14 Feb 2003, Aron Griffis wrote:

> bangerth@dealii.org wrote:[Fri Feb 14 2003, 09:10:12PM EST]
> >     Admittedly I only looked at the program given in the first
> >     report. So, let me ask again: I think that that program
> >     does exactly what should be expected, is this right? If so,
> >     the comment in that program about expectations is wrong.
> 
> Ah, this is where we're not communicating.  The comment is accurate.  I
> can rephrase it as follows, perhaps this is more clear:
> 
>     /*
>      * This is the first invocation of va_arg.  The argument list is as
>      * follows:
>      *
>      * 		a = 0
>      * 		b = 0
>      * 		c = 0
>      * 		d = 0
>      * 		e = 0
>      * 		ap = { undef, undef }
>      * 		first_custom = "one"
>      * 		... = "two", "three"
>      *
>      * Therefore va_arg should return "two".  However in this example it
>      * erroneously returns "one", which is first_custom.
>      */

OK. It seems as if I misread it. 

In any case, the program does as expected on my x86 linux machine. I can't
compile the second program on my machine, as you mention. So I assume that
this is something that is specific to the alpha port. I'll change the 
synopsis accordingly, and leave this to the port maintainers.

Thanks for keeping me on track ;-)
  Wolfgang

-------------------------------------------------------------------------
Wolfgang Bangerth             email:            bangerth@ticam.utexas.edu
                              www: http://www.ticam.utexas.edu/~bangerth/



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