PL/I definitely can generate 64-bit code, from GI13-5620-00: Programming
Guide i1345362
LP
The LP option specifies whether the compiler generates 31-bit code or
64-bit code. It also determines the
default size of POINTER and HANDLE and related variables.
+-32-+
LP (-+-64-+-)
32 Under LP(32), the compiler generates 31-bit code. In addition, type
size_t resolves to FIXED BIN(31).
The default size of POINTER and HANDLE is four bytes.
64 Under LP(64), the compiler generates 64-bit code. In addition, type
size_t resolves to FIXED BIN(63).
The default size of POINTER and HANDLE is eight bytes.
Note: Under LP(64), some compiler options are not applicable. For more
information, see “Using
compiler options to build 64-bit applications” on page 181.
The default is LP(32).
Related information
“Considerations for developing 64-bit applications” on page 181
You can use Enterprise PL/I to develop 31-bit or 64-bit applications. For
your applications to support
the 64-bit environment, you might need to adapt your code as appropriate.
This section describes
considerations in development and compilation that you must take into
account.
“Link-editing and running for 64-bit programs” on page 177
After compilation with LP(64), your 64-bit program consists of one or more
object modules that contain
unresolved references to each other, as well as references to the Language
Environment runtime.
These references are resolved during link-editing (statically) or during
execution (dynamically).
Robert
--
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather <https://prino.neocities.org/index.html>
Some REXX code for use on z/OS
<https://prino.neocities.org/zOS/zOS-Tools.html>
On Mon, 2 Sept 2024 at 04:47, Mark Waterbury <
[email protected]> wrote:
> Does anyone happen to know and can tell me whether and when any of the IBM
> higher level language compilers (C, COBOL, FORTRAN, PL/I) are enabled for
> 64-bit addressing, and so are capable of using virtual storage "above the
> BAR", assuming that one would use an assembly language subroutine or one of
> the IBM callable service routines to allocate such storage on z/OS.
> For that matter, were any of those compilers "enabled" for 47-bit
> addressing, e.g. with the use of "access registers" (ARs) on the System 390
> machines running OS/390, or even on MVS/ESA on some System/370-ESA capable
> models that supported ARs and the extended addressing they provided?
> Or was this something strictly for assembler language developers to
> exploit?
> And, when and what compilers were extended to support 31-bit addressing
> e.g. in MVS/XA and above?
> Thanks in advance.
>
> All the best,
> Mark S. Waterbury
>
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN