Open PL/I was designed to be, and still is, an ANSI standard PL/I compiler. Customers interested in migrating need to assume
changes to existing PL/I applications may be required to remove any proprietary mainframe syntax and/or deal with differences
in behavior in order to make programs portable.
Compiler
- PL/I can be compiled, linked and debugged in 32-bit and 64-bit mode on
Windows and
the following UNIX platforms: Solaris (SPARC), Red Hat Linux (Intel), and SUSE Linux (Intel). On AIX, only 32-bit mode is
supported. Solaris (Intel), HP-UX Itanium and z/Linux are not currently supported.
- As no PL/I compiler implementation exists on HP-UX Itanium or the z/Linux platforms, then any remote compilation of PL/I programs
to those platforms from the Eclipse IDE is not possible. You will still be able to create a remote connection to those platforms
and create PL/I programs and include files. However, when attempting to compile, the Ant build will fail. The same problem
will occur on AIX too.
- On SUSE, the PL/I CodeWatch debugger does not display output with MicroFocus ViewNowX on versions earlier than 9.6.4. To resolve
this issue, you need to have ViewNowX version 9.6.4 or later.
Macro Preprocessor
- The
Micro Focus PL/I Macro Preprocessor supports the majority of the IBM PP(MACRO) functions. The only support for PP(PLX) is for the deprecated
KEYS option. There are no plans to further extend the existing support for PLX.
CodeWatch
- The sample demo sessions in the back of the CodeWatch User's Guide may not match exactly with this version of CodeWatch.
- CodeWatch is unable to evaluate an array in a based structure when the dimensions of the array are declared using the REFER
option.
- Problems may arise when evaluating expressions containing certain built-in functions, especially when given incorrect arguments
(for example, wrong type or wrong number of).
- EVALUATE of BASED and CONTROLLED arrays do not work when using CodeWatch.
- When using CodeWatch, EVALUATE can not use the POSITION attribute.
- On platforms where the WIDECHAR data type is supported, CodeWatch allows evaluation of WIDECHAR variables only. Evaluation
of WIDECHAR expressions is currently not supported.
For WIDECHAR variable evaluation, half byte-pairs outside the ASCII range display as a '.' character. Use the
EVALUATE command with the
/h option to display hexadecimal values for each byte-pair. For example:
dcl wc wchar (16) init('003900370038'Wx);
...
eval wc
WC = .9.7.8. . . . . . . . . . . . . {widechar (16)}
eval /h wc
WC = 00 39 00 37 00 38 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 (hex) {widechar (16)}
Eclipse PL/I Debugger
- The Expressions pane will not display arrays that contain more than 100 elements. If you need to view an array that contains
more than 100 elements, add the individual array elements to the Expressions pane instead.
- When a ZERODIVIDE is triggered on a 32-bit Windows platform, the PLIDUMP shows an invalid stack frame.
IBM WebSphere MQ
A PL/I application doing a WebSphere MQ SIGNON can cause an invalid result from a PL/I exponentiation calculation if WebSphere
MQ is using a locale other than C/Posix, or de_DE or derivative locale.
Runtime
- The level of floating support in
Micro Focus PL/I matches that of z/OS systems that have the IEEE setting specified.
Micro Focus PL/I does not support the default HEXADEC floating point.