Required compiler options for IDILANGX

To create LANGX side files, the IPVLANGX utility is used. The IPVLANGX utility is provided with ADFz Common Components. IDILANGX is an alias of IPVLANGX. For details about running the IPVLANGX utility, see IBM Application Delivery Foundation for z/OS Common Components: Customization Guide and User Guide, chapter IPVLANGX compiler listing to side file conversion utility.

The following are the compiler options needed to produce listings or side files suitable for Fault Analyzer. 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 Fault Analyzer analysis is limited to what can be determined from the optimized compiler listing, which can vary from having no effect on the Fault Analyzer 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 Fault Analyzer 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. However, the PL/I V6 complier does not make 64-bit parameters available, even when the LIST option is effect. 64-bit parameters are available with PL/I V5.