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