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.)