Hello Frank,
I have the COBOL 6.4 doc updated ( https://www.ibm.com/docs/en/cobol-zos/6.4?topic=applications-dll-considerations ) and the misleading phrase has been changed from
"When LP(64)
is specified, DLL style CALLs are generated by the COBOL compiler; the DLL and DYNAM options are ignored."
to
"When LP(64)
is specified, the generated AMODE 64 COBOL program will be a DLL regardless of the DLL compiler option"
I expect the 6.3 doc will have the same change during the next doc refresh cycle. If I may guess, the misleading phrase was leftover and restriction made during the early development cycle which should have been removed later.
------------------------------
Roy Bae
------------------------------
Original Message:
Sent: Wed March 27, 2024 12:54 PM
From: Roy Bae
Subject: AMODE 64 conflicting documentation
Frank,
Sorry, somehow I missed this discussion and now I am adding my input. I agree with you. The statement is confusing and it needs re-work for improvement. . As you observed, what IBM COBOL group wanted to achieve was smooth migration from AMODE 31 to AMODE 64; That is, if DYNAM/NODLL work for AMODE31, a user can use the same option for AMODE64 without breakage. Under the cover, the way of call by DYNAM/NODLL in AMODE31 seems different from that in AMODE64.
COBOL group will go over the statement again after more investigation.
------------------------------
Roy Bae
Original Message:
Sent: Tue July 06, 2021 04:36 PM
From: Frank Swarbrick
Subject: AMODE 64 conflicting documentation
https://www.ibm.com/docs/en/cobol-zos/6.3?topic=programs-call-statement-amode-64-support (CALL statement with AMODE 64 support)
"In addition to existing syntax rules, the following additional rules apply in LP(64)
:
- Static and dynamic call supports calling other AMODE 64 Language Environment® conforming programs."
https://www.ibm.com/docs/en/cobol-zos/6.3?topic=applications-dll-considerations (DLL considerations)
"When LP(64)
is specified, DLL style CALLs are generated by the COBOL compiler; the DLL and DYNAM options are ignored."
The latter does not appear to me to be accurate. I can specify DYNAM and NODLL and, just like with 31-bit programs, I can do a dynamic call with CALL literal. Am I misunderstanding something?
------------------------------
Frank Swarbrick
------------------------------