While recompiling all your PL/I source is strongly recommended,
if this isn't done, the following options must be used when compiling Enterprise PL/I code
that will be mixed with older PL/I objects:
- CMPAT(V2) (or CMPAT(V1) if that's what you are currently using
with old PL/I)
- LIMITS( EXTNAME(7) )
- NORENT
- BACKREG(5)
- BIFPREC(15)
In addition, as discussed in Understanding the new compiler's options, you may
also want to use some or all of these options:
- COMMON
- DEFAULT( LINKAGE( SYSTEM ) )
- DEFAULT( OVERLAP )
- EXTRN( FULL )
- NOWRITABLE(PRV)
Note that unless you use the NOWRITABLE(PRV)
option, CONTROLLED variables cannot be shared between old and new
code.
Even if all the options listed above are used, there are some
restrictions on mixing old and new object code:
- FILE variables and constants cannot be shared between old and
new code with one exception: SYSPRINT can be shared by old and
new code if the old code was linked under LE. However, a file
written out by old code can be read by new code - and vice-versa.
- Whenever old code is used, all fetch/release restrictions from
the older product apply. In particular, if a new MAIN does successfully
FETCH and CALL an old module, then the old module cannot perform
a subsequent FETCH of another module.
- If any old code is present in
an application, DLL code cannot be invoked.
- For old code compiled with OS PL/I V2R3 or earlier:
- An old MAIN not linked with Language Environment cannot FETCH a new module.
- A new MAIN cannot CALL or FETCH an old module unless either
- the new MAIN has the signature CSECT CEESG010 linked in, or
- the old module has been relinked with SCEELKED either
- after the PTF for APAR PK23270 has been applied, or
- with an explicit INCLUDE SYSLIB(CEESG010)
Previously, Enterprise PL/I had
the restriction that if your old code did any I/O,
then MAIN must have been compiled with an old compiler.
This restriction is no longer valid if you have recent library maintenance applied.
|
This information center is powered by Eclipse technology. (http://www.eclipse.org)