Hello Jiri and Christian, Support for variable arguments (between compiled code and interpreter) depends on stack data alignment of specific CPU architecture. So far, I investigated Intel, HP-PA and Sparc. It turned out passing class/struct object as value is a fundamental problem in HP-PA and Sparc. For those CPUs, only fundamental type arguments can be passed. Intel architecture is fine for passing class/struct object as value. I am not sure for Mac/PowerPC platform. This is implemented in following locations in Cint source code. G__ci.h line 1608-1633 Define macro for turning on/off the vaarg feature depending on computer architecture. src/size.c line 1258-1266 Implements vaarg byte alignment. You can add implementation for other platforms if you'd like. Normally, vaarg alignment rule is described in include/stdarg.h and in va_arg() macro. This macro is a really complicated beast, however, if you try hard, it tells you how variable arguments are implemented in your compiler. Probably, I can tell you a little more about Mac/PowerPC if you send me include/stdarg.h. Thank you Masaharu Goto ----- Original Message ----- From: "cstrato" <cstrato@aon.at> To: "Jiri Masik" <masik@fzu.cz> Cc: <roottalk@pcroot.cern.ch> Sent: Thursday, August 22, 2002 4:00 AM Subject: Support of variable arguments: Re: [ROOT] Form on Alpha OSF > Dear Rooters > > I am, too, missing support for variable arguments on the Mac, > i.e. the PowerPC platform. > Does anyone know if support is planned in the future? > > Best regards > Christian > _._._._._._._._._._._._._._._._ > C.h.i.s.t.i.a.n S.t.r.a.t.o.w.a > V.i.e.n.n.a A.u.s.t.r.i.a > _._._._._._._._._._._._._._._._ > > > Jiri Masik wrote: > > > Thomas Bretz <tbretz@astro.uni-wuerzburg.de> writes: > > > > > >>Hi, > >> > >>what's the reason, that Form is not supported on Alphas in the interpreter? > >> > >>Thomas. > >> > > > > Hi Thomas, > > > > Form relies on the implementation of variable arguments functions in > > Cint which is currently done only for Linux on ia32 and Win32 I think. > > You can do grep -r G__VAARG * in Root tree to get an idea what is > > needed. > > > > cheers > > Jiri > > > > > > > >
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:05 MET