31-bit C can use non-standard (whatever that means) XPLINK linkage. 64-bit C only uses XPLINK.
Charles -----Original Message----- From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Swarbrick, Frank Sent: Friday, June 9, 2017 8:54 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Save areas (not XPLINK). You say "COBOL, and other LE languages, use only standard linkage". Is this true for 64-bit C/C++ and PL/I? Isn't the pragma linkage in C and the extern "linkage specifier" used to specify alternative linkages? The 2002 and 2014 COBOL standards support an "ENTRY-CONVENTION" clause in the (new) OPTIONS paragraph, which I imagine is similar to these and could be used in 64-bit Enterprise COBOL if it makes sense to do so. Or am I on the wrong track? Frank -----Original Message----- From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Tom Marchant Sent: Tuesday, May 30, 2017 2:54 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Save areas (not XPLINK). On Tue, 30 May 2017 12:53:29 -0500, John McKown wrote: >Around here, I have a "choice"(?) of either HLASM or COBOL. I don't >exactly _despise_ COBOL, but I will say that it is my least favorite >language when compared to either PL/I (favorite from college days) or C >(a "necessity" for easy UNIX programming). COBOL, and other LE languages, use only standard linkage. The last I heard is that when COBOL begins to implement 64-bit support it will be through XPLINK-64 **only**. That is unfortunate, since the reason for XPLINK and XPLINK-64 was to provide a (slightly) faster linkage, but calling a program that requires standard linkage is **much** slower than just using standard linkage. And why does it matter, you may ask? Well, thanks for asking! What is it that COBOL programs are known for doing a lot of? I/O. And what kind of linkage do all of the access method modules use? Standard linkage. So every time your COBOL program issues a READ or WRITE, resulting in a GET or PUT call, it is standard linkage. Also, LE does not like LE-enabled standard linkage programs calling XPLINK programs or XPLINK programs calling LE-enabled standard linkage programs. I'm not clear on the mechanism, but I think that either of these requires that a new LE enclave be established. -- Tom Marchant The information contained in this electronic communication and any document attached hereto or transmitted herewith is confidential and intended for the exclusive use of the individual or entity named above. If the reader of this message is not the intended recipient or the employee or agent responsible for delivering it to the intended recipient, you are hereby notified that any examination, use, dissemination, distribution or copying of this communication or any part thereof is strictly prohibited. If you have received this communication in error, please immediately notify the sender by reply e-mail and destroy this communication. Thank you.