Required compiler options for HFZLANGX

The following are the compiler options needed to produce listings or side files suitable for Z Abend Investigator. If compiler-generated TEST(SEPARATE) SYSDEBUG side files are used, then these options do not matter.

C:
  • AGGREGATE
  • LIST
  • NOOFFSET
  • NOOPT (Note 1)
  • SOURCE
  • XREF
  • NOIPA
C++:
  • ATTRIBUTE (Note 4)
  • LIST
  • LONGNAME
  • NOOFFSET
  • NOOPT (Note 1)
  • SOURCE
  • XREF
  • NOIPA
OS/VS COBOL:
  • DMAP
  • NOLST
  • NOOPT (Note 1)
  • PMAP, NOCLIST (Note 2)
  • SOURCE
  • VERB
  • XREF or SXREF
COBOL compilers other than OS/VS COBOL:
  • LIST,NOOFFSET (Note 2)
  • NOOPT (Note 1)
  • MAP
  • SOURCE
  • XREF(SHORT) (Note 3)
Enterprise PL/I:
  • AGGREGATE
  • ATTRIBUTES(FULL)
  • NOBLKOFF
  • LIST (Note 5)
  • MAP
  • NEST
  • NONUMBER
  • OFFSET
  • NOOPT (Note 1)
  • OPTIONS
  • SOURCE
  • STMT
  • XREF(FULL)
PL/I compilers other than Enterprise PL/I:
  • AGGREGATE
  • ATTRIBUTES(FULL)
  • ESD
  • LIST (Note 5)
  • MAP
  • NEST
  • NOOPT (Note 1)
  • OPTIONS
  • SOURCE
  • STMT
  • XREF(FULL)
Assembler:
  • ADATA
Notes:
  1. Although NOOPT is recommended, the use of OPTIMIZE is allowed (including OPT(1) or OPT(2) for C), in which case the compiler merges and rearranges statement numbers in the compiled code. The Z Abend Investigator analysis is limited to what can be determined from the optimized compiler listing, which can vary from having no effect on the Z Abend Investigator report, to inaccurate identification of the source line that failed. The source line number is usually close, but not necessarily accurate with OPTIMIZE. It depends on the compiler's rearrangement or elimination of source statements during optimization processing. Data field values cannot be shown if storage has not been assigned, that is, if the value is in a register only. When OPTIMIZE is in effect, use LIST and NOOFFSET because OFFSET does not account for code movement.
  2. Although LIST and NOOFFSET (or PMAP and NOCLIST for OS/VS COBOL) are recommended, the use of NOLIST and OFFSET (or NOMAP and CLIST for OS/VS COBOL) is allowed, in which case Z Abend Investigator is not able to warn the user if the compiler listing is not a good match with what is in storage.
  3. XREF(SHORT) is a minimum requirement; XREF(FULL) is permitted and has no detrimental effect.
  4. ATTRIBUTE is a minimum requirement; ATTRIBUTE(FULL) is permitted and has no detrimental effect.
  5. LIST is required to correctly report Enterprise PL/I STATIC EXTERNAL variables and parameters.