PL/I compiler options

When using PL/I, specify the TEST compiler option to control the level of testing capability that are generated as part of the object code. Suboptions of the TEST option such as SYM, BLOCK, STMT, and PATH control the location of test hooks and specify whether or not a symbol table is generated. For more information about TEST, its suboptions, and the placement of test hooks, see the .

To simplify debugging and decrease compile time, set optimization to NOOPTIMIZE or OPTIMIZE(0). Higher optimization levels can change the location where parameters and instructions appear in the dump output.

You can use the compiler options listed in Table 1 to prepare PL/I routines for debugging. For more detail on PL/I compiler options, see the IBM Enterprise PL/I for z/OS library.

Table 1. PL/I compiler options for debugging
AGGREGATE Specifies that a layout for arrays and major structures appears in the listing.
ESD Includes the external symbol dictionary in the listing.
GONUMBER / GOSTMT Tells the compiler to produce additional information specifying that line numbers from the source routine can be included in runtime messages and in the Language Environment dump.
INTERRUPT Specifies that users can establish an ATTENTION ON-unit that gains control when an attention interrupt occurs.
LIST Produces a listing of the assembler expansion of source code and global tables, literal pools, information about working storage, and size of routine’s working storage.
LMESSAGE Tells the compiler to produce runtime messages in a long form. If the cause of a runtime malfunction is a programmer’s understanding of language semantics, specifying LMESSAGE could better explain warnings or other information generated by the compiler.
MAP Tells the compiler to produce tables showing how the variables are mapped in the static internal control section and in the stack frames, thus enabling static internal and automatic variables to be found in the Language Environment dump. If LIST is also specified, the MAP option also produces tables showing constants, control blocks, and INITIAL variable values.
OFFSET Specifies that the compiler prints a table of statement or line numbers for each procedure with their offset addresses relative to the primary entry point of the procedure.
SOURCE Specifies that the compiler includes a listing of the source routine in the listing.
STORAGE Includes a table of the main storage requirements for the object module in the listing.
TERMINAL Specifies what parts of the compiler listing produced during compilation are directed to the terminal.
TEST Specifies the level of testing capability that is generated as part of the object code. TEST also controls the location of test hooks and whether or not the symbol table is generated. Because the TEST option increases the size of the object code and can affect performance, limit the number and placement of hooks.
XREF and ATTRIBUTES Creates a sorted cross-reference listing with attributes.