Variadic functions questions

2004-03-22 Thread Ilya Martynov
Hello all, 1) First question is how to tell if variadic function recieved 11 or 12 or more params (for simplicity let's suppose that we use only pmc parameters). According calling conventions (pdd03) first 11 params end up in P5-P15 registers and leftover goes into array in P3. The

Re: Variadic functions questions

2004-03-22 Thread Jens Rieks
Hi, On Monday 22 March 2004 10:44, Ilya Martynov wrote: Hello all, 1) First question is how to tell if variadic function recieved 11 or 12 or more params (for simplicity let's suppose that we use only pmc parameters). According calling conventions (pdd03) first 11 params end up in

Re: Variadic functions questions

2004-03-22 Thread Dan Sugalski
At 12:50 PM +0100 3/22/04, Jens Rieks wrote: ops/set.ops has setp_ind op which allows to write to register by its number but it seems there is no op to read register by its number. I had the same problem, too. That needs fixing. If you want to throw together a patch, by all means go for it. --

Re: Variadic functions questions

2004-03-22 Thread Leopold Toetsch
Ilya Martynov wrote: Prints 'P3 is not NULL' Yep, some minutes ago I've fixed it. Thanks for the test, I've added it plus another one to CVS. leo

Re: Variadic functions questions

2004-03-22 Thread Leopold Toetsch
Jens Rieks [EMAIL PROTECTED] wrote: First a note: P3 is now cleared, if P15 is reached. So havin 11 args can be distinguished from having more then 11 arguments. Leo, is it easy to alias them as argc[ISPN]? Yes. It's the same as aliasing Cself to P2. If we can agree on the variable names, this

Re: Variadic functions questions

2004-03-22 Thread Ilya Martynov
LT == Leopold Toetsch [EMAIL PROTECTED] writes: LT Ilya Martynov [EMAIL PROTECTED] wrote: Hello all, 1) First question is how to tell if variadic function recieved 11 or 12 or more params (for simplicity let's suppose that we use only pmc parameters). According calling conventions (pdd03)

Re: Variadic functions questions

2004-03-22 Thread Ilya Martynov
JR == Jens Rieks [EMAIL PROTECTED] writes: JR Hi, JR On Monday 22 March 2004 10:44, Ilya Martynov wrote: Hello all, 1) First question is how to tell if variadic function recieved 11 or 12 or more params (for simplicity let's suppose that we use only pmc parameters). According calling

Re: Variadic functions questions

2004-03-22 Thread Jens Rieks
Hi, On Monday 22 March 2004 13:54, Leopold Toetsch wrote: Jens Rieks [EMAIL PROTECTED] wrote: First a note: P3 is now cleared, if P15 is reached. So havin 11 args can be distinguished from having more then 11 arguments. Leo, is it easy to alias them as argc[ISPN]? Yes. It's the same as

Re: Variadic functions questions

2004-03-22 Thread Ilya Martynov
LT == Leopold Toetsch [EMAIL PROTECTED] writes: LT Ilya Martynov wrote: Prints 'P3 is not NULL' LT Yep, some minutes ago I've fixed it. Thanks for the test, I've added LT it plus another one to CVS. There is a small typo in comment for second test case: Index: imcc/t/syn/pcc.t

Re: Variadic functions questions

2004-03-22 Thread Leopold Toetsch
Jens Rieks [EMAIL PROTECTED] wrote: Hi, On Monday 22 March 2004 13:54, Leopold Toetsch wrote: And P3 := overflow_args ? P0 := the_sub ?? P1 := return_continuation ? S0 := method_name ? Sounds okay. Maybe its better to either alias return_continuation to the register where P1

Re: Variadic functions questions

2004-03-22 Thread Leopold Toetsch
Ilya Martynov wrote: There is a small typo in comment for second test case: Thanks, fixed. Plus another test and checks that I3 is really 11. leo