In my specific case I am passing "&p1, &p2, ..." deliberately.  I will try
removing the "&" operator and see what is generated...

OK, tried that and without a "&" operator the generated code passes the
address of a COPY of the value of the variable.  So, the parameter list is
addresses, but NOT the address of the actual variable, only a COPY of the
value, at least for scalar variables. String parameters (char *)
specifically declared in the function declaration are passed the actual
variable address.  Don't know yet how "struct" or "union" parameters will be
passed, still experimenting with those.

The manuals really ought to make these rules clearer.  I need to RTFM in the
C/C++ language reference manual again to see if I can find a better
description of what should be generated in each case.

Peter


-----Original Message-----
From: Bernd Oppolzer [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, June 08, 2005 12:21 PM
To: IBM-MAIN@BAMA.UA.EDU
Subject: Re: z/OS C: VL=1 for parameter lists?


Does this pragma imply that parameters are passed by reference? I hope so. 
Because, if not, the last by value parm will get the first bit set, which 
changes its value. 

Kind regards

Bernd

_
This message and any attachments are intended only for the use of the addressee 
and
may contain information that is privileged and confidential. If the reader of 
the 
message is not the intended recipient or an authorized representative of the
intended recipient, you are hereby notified that any dissemination of this
communication is strictly prohibited. If you have received this communication in
error, please notify us immediately by e-mail and delete the message and any
attachments from your system.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to