On Thu, Oct 10, 2002 at 09:57:01AM -0400, Andy Dougherty wrote:
> On Wed, 9 Oct 2002, Brent Dax wrote:
> 
> > Can you try this?
> > 
> >     (at the top of the function...)
> >     va_list *arg = (va_list *) & (obj->data);
> >     (vararg accesses should look like...)
> >     va_arg(*arg, ...);
> >     (no end-of-function assignment should be necessary)
> > 
> > If that works for you, I'll commit a version that uses it.
> 
> That works for me, as does the simpler implicit cast
>       va_arg(obj->data, ...);
> 
> Alas I fear neither one's going to work on PPC systems.  As Nicholas Clark
> pointed out, va_list may be an opaque type, so that even innocent stuff
> like misc.c's obj.data = args won't necessarily do what we want.

I haven't been following this very closely, but I probably ought to
provide warning in advance that I will have to back this change out
before making the next release if the PPC problem can't be resolved.
And I really don't want to do that, since this makes things much
nicer.

Brent, what do you need to help work this out? Is there anyone out
there who could loan a PPC account to Brent, or perhaps be familiar
enough with stdarg to take a look directly? (Or how about some
grizzled grayhair who can tell us if this approach is doomed for
portability reasons? Not that all the code needs to be identical for
all platforms; beating this with the Configure club is fine.)

Reply via email to