C Language processor command descriptions


This section describes the C language processor commands, along with their parameters and values.

C

The C command controls whether the language processor should print the compiler listing and/or write it to DDIO.

The following diagram illustrates the syntax for the C command. You must specify OUTPUT as the parameter of the C command.

+--- C Command -------------------------------------------------------------+
¦ ¦
¦ +-NOPrint-+ +-NODDio-+ ¦
¦ >>--C(OUtput(+--+---------+-,-+--------+--+))--><¦
¦ ¦ +-PRint---+ +-DDio---+ ¦ ¦
¦ +-BOth-----------------------¦ ¦
¦ +-NOne-----------------------+ ¦
+---------------------------------------------------------------------------+

 OUTPUT (OU):

Specifies whether the compiler listing will be printed or written to a source listing DDIO file. Select from the following values:

NOPRINT (NOPR): 

(Default) Does not print the compiler listing.

PRINT (PR): 

Prints the compiler listing.

NODDIO (NODD): 

(Default) Does not write the compiler listing to a source listing file.

DDIO (DD): 

Writes the compiler listing to a source listing file.

BOTH (BO): 

Prints the listing and writes it to a source listing file. This has the same effect as specifying C(OUTPUT(PRINT,DDIO)).

NONE (NON): 

Does not print the compiler listing and does not write it to a DDIO file. This has the same effect as C(OUTPUT(NOPRINT,NODDIO)).

CONDDDIO (CONDD)

The CONDDDIO command specifies that the source listing will be written to the DDIO file unless the compiler return code exceeds x. The default is 4. Permissible values are 0-4.

The CONDDDIO command can be used only with the preprocessor.

The following diagram illustrates the syntax for the CONDDDIO command:

+--- CONDDDIO Command ------------------------------------------------------+
¦ ¦
¦ +-4-+ ¦
¦ >>--CONDDdio(+---+)-->< ¦
¦ +-x-+ ¦
+---------------------------------------------------------------------------+

CONDSTEP (CONDS)

The CONDSTEP command controls the condition code set by the preprocessor. The CONDSTEP parameter is ignored when the postprocessor is invoked as a separate job or job step.

The CONDSTEP command can be used only with the preprocessor.

The following diagram illustrates the syntax for the CONDSTEP command:

+--- CONDSTEP Command ------------------------------------------------------+
¦ ¦
¦ +-HIghest--+ ¦
¦ >>--CONDStep(+----------+)-->< ¦
¦ +-COmpiler-+ ¦
+---------------------------------------------------------------------------+

 HIGHEST (HI):

(Default) The condition code will be set to the value of the C language processor return code or the compiler return code, whichever is higher.

COMPILER (CO):

The step condition code will always be set to the compiler return code. This option is typically used to allow a subsequent linkedit step to execute when the compile executes normally, but the language processor’s capture or analysis of the listing is unable to execute successfully.

DDIO

The DDIO command specifies which sections of the C compiler listing will be written to the DDIO file.

Specify the sections of the compiler listing using the OUTPUT parameter of the DDIO command. The following diagram illustrates the syntax for the DDIO command.

+--- DDIO Command ----------------------------------------------------------+
¦ ¦
¦ +-XRef---+ +-LIst---+ ¦
¦ >>--DDio(OUtput(+--------+-,-+--------+))-->< ¦
¦ +-NOXRef-+ +-NOLIst-+ ¦
+---------------------------------------------------------------------------+

 OUTPUT (OU):

Specifies which sections of the compiler listing will be written to the DDIO file.

XREF (XR): 

(Default) Writes the XREF sections of the listing.

NOXREF (NOXR): 

Does not write the XREF sections of the listing.

LIST (LI): 

(Default) Writes the Pseudo-Assembler section of the listing.

NOLIST (NOLI): 

Does not write the Pseudo-Assembler section of the listing.

File-Overrides Commands

The File-overrides commands override certain default file definitions (ddnames) used by the language processors. These ddnames are used by both the preprocessor and the postprocessor:

  • CWPERRM
  • CWPPRTI
  • CWPPRTO
  • CWPLOAD

All of these ddnames except CWPERRM must be specified when you run the postprocessor. None of them is required when you run the preprocessor. Any ddname not specified by you is allocated dynamically by the language processor.

Any of these four ddnames can be overridden by a file override command. The File-overrides commands can be used only with the postprocessor.

The following overrides are available:

ERRM File-Overrides Command

Error and informational messages from the language processor.

The following diagram illustrates the syntax for the ERRM file-override command:

+--- ERRM File-overrides Command -------------------------------------------+
¦ ¦
¦ >>--ERRM(+-------------------------+)-->< ¦
¦ +-DD(ddname),BLK(blksize)-+ ¦
+---------------------------------------------------------------------------+

 If you omit DD(ddname), the assumed ddname will be CWPERRM.

PRTI File-Overrides Command

The compiler listing to be analyzed.

The following diagram illustrates the syntax for the PRTI file-override command:

+--- PRTI File-overrides Command --------------------------------------------------+
¦    ¦
¦ >>--PRTI(+----------------------------------------------------------------+)-->< ¦
¦ +-DD(ddname),BLK(blksize),BUF(buffers),LRECL(lrecl),RECFM(recfm)-+     ¦
+----------------------------------------------------------------------------------+

 If you omit DD(ddname), the assumed ddname will be CWPPRTI.

PRTO File-Overrides Command

The compiler listing printed after the language processor has completed.

The following diagram illustrates the syntax for the PRTO file-override command:

+--- PRT0 File-overrides Command -------------------------------------------+
¦ ¦
¦ >>--PRT0(+-------------------------+)-->< ¦
¦ +-DD(ddname),BLK(blksize)-+ ¦
+---------------------------------------------------------------------------+

 If you omit DD(ddname), the assumed ddname will be CWPPRTO.

LOAD File-Overrides Command

The object file created by the compiler, which the language processor will modify.

The following diagram illustrates the syntax for the LOAD file-override command:

+--- LOAD File-overrides Command -------------------------------------------+
¦ ¦
¦ >>--LOAD(+-------------------------+)-->< ¦
¦ +-DD(ddname),BLK(blksize)-+ ¦
+---------------------------------------------------------------------------+

 If you omit DD(ddname), the assumed ddname will be CWPLOAD.

Optional Override Values

The keywords here cause the language processor to override its default values.

DDNAME (DD):

Specify a ddname instead of accepting the default ddname.

BLKSIZE (BLK):

Specify a decimal blocksize instead of accepting the default blocksize.

LRECL (LR):

Specify a decimal number as the logical record length instead of accepting the default logical record size.

RECFM (RE):

Specify a record format instead of accepting the default record format. Valid formats include: 

F

Fixed

FA

Fixed ASA

FM

Fixed Machine

V

Variable

VA

Variable ASA

VM

Variable Machine

INCLUDE (IN)

The INCLUDE command includes a library or sequential file member that contains another set of language processor options to be processed.

An included set of options can, in turn, include another set of options. If a recursive chain of INCLUDEs is encountered, the language processor will ignore the INCLUDE that caused the recursion, and continue processing.

Duplicate or conflicting parameters are resolved as follows:

  • Options are processed left to right.
  • When an INCLUDE is encountered, the included member is processed immediately. Options following the INCLUDE will be processed after the included member is processed.
  • The last option processed takes precedence.
  • The sources of options are, in order of descending priority:
    • forced options in the C language compiler installation default module
    • #pragma option() options in the source file
    • PARM options on the EXEC card
    • options specified in the CWPPRMO data set
    • default options in the C language compiler installation default module

The following diagram illustrates the syntax for the INCLUDE command:

+--- INCLUDE Command -------------------------------------------------------+
¦ ¦
¦ +-CWPPRMO-+ ¦
¦ >>--INclude(+---------+-,-+--------+)-->< ¦
¦ +-ddname--+ +-member-+ ¦
+---------------------------------------------------------------------------+

 ddname:

The DDNAME of the JCL statement that specifies the data set name. If a member is not specified, then the ddname must point to a sequential file or library member.

member:

The library member name. If the ddname is not specified, then the default CWPPRMO will be used and a comma must precede the member name.

LANGPARM (LANGP)

The LANGPARM command specifies parameters to be passed to the compiler invoked by the language processor. The postprocessor ignores this option.

If you use the CWPPRMO data set to specify your compiler options, you should use the LANGPARM command. Otherwise, the preprocessor may not be able to distinguish between compiler options and language processor options with the same name. The LANGPARM command allows the preprocessor to identify compiler options that conflict with language processor names, thus preventing unpredictable results.

If you use the PARM statement to specify your compiler options, you can also use the LANGPARM command.

 The LANGPARM command is meaningful only when used with the preprocessor.

The following diagram illustrates the syntax for the LANGPARM command:

+--- LANGPARM Command ------------------------------------------------------+
¦ ¦
¦ >>--LANGParm(+---------------+)-->< ¦
¦ +-parm1...parmn-+ ¦
+---------------------------------------------------------------------------+

 parm:

Specifies a parameter to be passed.

LANGUAGE (LANG)

The LANGUAGE command specifies the type of compiler to be executed for the C language preprocessor.

The LANGUAGE command is no longer required for the postprocessor.

The following diagram illustrates the syntax for the LANGUAGE command:

+--- LANGUAGE Command ------------------------------------------------------+
¦ ¦
¦ +-C390-+ ¦
¦ >>--LANGuage(+------+)-->< ¦
¦ +-CMVS-¦ ¦
¦ +-CZOS-+ ¦
+---------------------------------------------------------------------------+

 C390:

(Default) Specifies that some version of the C/C++ for OS/390 compiler should be used. The preprocessor will invoke program CBCDRVR, which is an alias for the compiler module in the libraries distributed for every version of C/C++ for OS/390. You should include the proper libraries for the compiler version you want to use in the STEPLIB DD of your JCL.

CMVS:

Specifies that the C/C++ for MVS compiler (CBC320PP) should be used.

CZOS

Specifies that the z/OS 1.2 or higher C/C++ compiler (CCNDRVR) should be used.

PRINT (PR)

The PRINT command identifies the sections of the listing that will be printed.

The following diagram illustrates the syntax for the PRINT command. You must specify OUTPUT as the parameter of the PRINT command.

+--- PRINT Command ---------------------------------------------------------+
¦ ¦
¦ +-XRef---+ +-LIst---+ +-SOurce---+ ¦
¦ >>--PRint(OUtput(+--------+-,-+--------+-,-+----------+))-->< ¦
¦ +-NOXRef-+ +-NOLIst-+ +-NOSOurce-+ ¦
+---------------------------------------------------------------------------+

OUTPUT (OU):

Specifies the options for a source listing that will be printed.

XREF (XR): 

(Default) Prints the XREF sections of the listing.

NOXREF (NOXR): 

Does not print the XREF sections of the listing.

LIST (LI): 

(Default) Prints the Pseudo-Assembler section of the listing.

NOLIST (NOLI): 

Does not print the Pseudo-Assembler section of the listing.

SOURCE (SO): 

(Default) Prints the Source section of the listing.

NOSOURCE (NOSO): 

Does not print the Source section of the listing.

PROCESSOR (PROC)

The PROCESSOR command specifies the output parameters of the C language processor. The parameters available for the PROCESSOR command are:

ERRORS (ER) Parameter

Specifies how the language processor error messages will be printed.

The following diagram illustrates the syntax for the PROCESSOR command ERRORS parameter.

+--- ERRORS Parameter ------------------------------------------------------+
¦ ¦
¦ +-UPper-case-+ ¦
¦ >>--PROCessor(ERrors(+------------+))-->< ¦
¦ +-MIxed-case-+ ¦
+---------------------------------------------------------------------------+

 UPPER-CASE (UP):

(Default) Errors will be printed in uppercase letters.

MIXED-CASE (MI):

Errors will be printed in uppercase and lowercase letters.

 $NIDR Parameter

Specifies that placement of the date and time stamp on the object module will be bypassed.

The following diagram illustrates the syntax for the PROCESSOR command $NIDR parameter.

+--- $NO Parameter ---------------------------------------------------------+
¦ ¦
¦ >>--PROCessor(+-----+)-->< ¦
¦ +-$NO-+ ¦
+---------------------------------------------------------------------------+

 $NO Parameter

Specifies that the preliminary compilation performed by the preprocessor will be bypassed. The preliminary compilation normally determines the compiler options currently in effect. However, if you know that your options satisfy the requirements of the language processor, you can bypass the preliminary compilation to reduce the preprocessor’s execution time.

The following diagram illustrates the syntax for the PROCESSOR command $NO parameter.

+--- $NO Parameter ---------------------------------------------------------+
¦ ¦
¦ >>--PROCessor(+-----+)-->< ¦
¦ +-$NO-+ ¦
+---------------------------------------------------------------------------+

 IDENTYES or IDENTNO

By default, BMC AMI language processors attempt to add information to the object deck produced by a compiler (DD SYSLIN). This information assists BMC AMI products in locating the correct member in a BMC AMI Listing File. The Language Processors will by default add an IDENTIFY record to the object deck.

This IDENTIFY record is processed by the Linkage Editor or Binder when the object deck is transformed into a load module or program object. The data added to the load module or program object is non-executable, not loaded into memory when the module executes. It identifies the BMC AMI Listing File where the language processor stored its output for that program.

If you want to suppress this IDENTIFY card for a particular run of a Language Processor, you may supply the input PROCESSOR(IDENTNO) in the CWPPRMO input.

The default value is PROCESSOR(IDENTYES). You may alter this default by using the Customer Modification Facility (see Section B). If you alter the default to IDENTNO, you may then wish to supply the input PROCESSOR(IDENTYES) in CWPPRMO, for an individual execution of the Language Processor.

PROGRAM-NAME (PRO)

The PROGRAM-NAME command specifies an override name for members in the source listing file.

The following diagram illustrates the syntax for the PROGRAM-NAME command:

+--- Program Name ----------------------------------------------------------+
¦ ¦
¦ >>--PROgram-name(+------+)-->< ¦
¦ +-name-+ ¦
+---------------------------------------------------------------------------+

 name:

Specifies an alternative name for a source listing written to the source listing file.

SYSTEM (SYS)

The SYSTEM command performs miscellaneous functions.

The following diagram illustrates the syntax for the SYSTEM command:

+--- SYSTEM Command --------------------------------------------------------+
¦ ¦
¦ >>--SYStem(+-----+,-+----+-)->< ¦
¦ +-PTF-+ +-ZAP+ ¦
+---------------------------------------------------------------------------+

 PTF:

Specifies that the PTF numbers currently installed on the CSS library will be printed. This parameter is used by BMC Support during problem diagnosis.

ZAP:

Specifies that the PTF numbers currently installed on the CSS library will be printed. This parameter is used by BMC Support during problem diagnosis.

Tip

The ZAP parameter is allowed for compatibility with pre-SMP/E releases.

 

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*