In my opinion, CALLINTERFACE, while a great idea, was not implemented correctly. There should have been a way to specify (in the "repository"?) which programs should be called which ways; rather than having to wrap each exception in a >>CALLINTERFACE.
That being said, I just wrote a COBOL DLL and in the caller I simply placed the calls in their own paragraphs at the end of the program and put ">>CALLINTERFACE DLL" right before the first paragraph and ">>CALLINTERFACE" after the last one (this restores the original DYNAM/NODYNAM/DLL compile option). Hopefully no one will be silly enough to insert a paragraph "in the middle" of these that should be other than a DLL call... Frank ________________________________ From: IBM Mainframe Discussion List <[email protected]> on behalf of Bill Woodger <[email protected]> Sent: Wednesday, July 13, 2016 2:29 PM To: [email protected] Subject: 64-bit XPLINK LE assembler program initialisation error U4093 reason X'218' (536) There is a new CALLINTERFACE compiler directive. At the moment it supports DLL, STATIC and DYNAMIC, but it could be made available for other uses if that was thought to be a useful thing. However, there's another potential nightmare in the waiting. CALLINTERFACE affects all CALLs which appear physically after that point in the code, until the next CALLINTERFACE use. OK... so you need to call a DLL, so you do that, then you return to the previous state with another CALLINTERFACE. Except, how do you know what the previous state was? There is no PUSH/POP-type thing available. Have a couple of these in a program, and suddenly any new use is fraught, and at any moment something may attempt to use the "wrong" call-interface because someone didn't "analyse" the mixture and has not made necessary changes to other CALLINTERFACE use. So that's great. Yes, it is my understanding also that when CALLs from COBOL to 64-bit programs arrive, it will be with XPLINK-64. On Wednesday, 13 July 2016 19:36:52 UTC+2, Tom Marchant wrote: > On Wed, 13 Jul 2016 10:54:05 -0500, John McKown wrote: > > >On Wed, Jul 13, 2016 at 10:33 AM, Tom Marchant < > >[email protected]> wrote: > > > >> Or COBOL. Or PL/I. (I think) > >> > > > >There's a 64 bit XPLINK COBOL compiler now? > > Sorry about that. This was discussed here a few months ago. The 6.1 compiler > runs AMODE 64, but it doesn't yet generate AMODE 64 programs. A few years > ago, IBM said that when COBOL supports AMODE 64, it would be XPLINK-64 > because LE doesn't know how to do program linkage for AMODE 64 programs any > other way. Or something like that. > > AFAIK, there is no support in COBOL yet for AMODE 64 programs. > > -- > Tom Marchant ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
