OPTION

Specifies the options to use when the ILE C or C++ source code is compiled. You can specify them in any order, separated by a blank space. Unless noted otherwise in the option descriptions, when an option is specified more than once, or when two options conflict, the last one that is specified is used.

Read syntax diagramSkip visual syntax diagramOPTION Syntax:
 
|--+--------------------------------+---------------------------|
   '-OPTION(--| OPTION Details |--)-'
 
OPTION Details:
 
            (1)                  (2)                (1)
   .-*NOAGR------.  .-*NOBITSIGN------.  .-*DIGRAPH--------.
|--+-------------+--+-----------------+--+-----------------+---->
   |      (1)    |  |          (2)    |  |            (1)  |
   '-*AGR--------'  '-*BITSIGN--------'  '-*NODIGRAPH------'
 
                                                     (3)
   .-*NOEVENTF-.  .-*NOEXPMAC-.  .-*NOFULL-.  .-*GEN--------.
>--+-----------+--+-----------+--+---------+--+-------------+--->
   '-*EVENTF---'  '-*EXPMAC---'  '-*FULL---'  |        (3)  |
                                              '-*NOGEN------'
 
                                                  (2)
   .-*NOINCDIRFIRST-.  .-*LOGMSG---.  .-*LONGLONG--------.
>--+----------------+--+-----------+--+------------------+------>
   '-*INCDIRFIRST---'  '-*NOLOGMSG-'  |             (2)  |
                                      '-*NOLONGLONG------'
 
             (2)                   (1) (3)
   .-*NORTTI--------.  .-*NOPPONLY----------.
>--+----------------+--+--------------------+------------------->
   |          (2)   |  |         (1) (3)    |
   +-*RTTIALL-------+  '-*PPONLY------------'
   |           (2)  |
   +-*RTTITYPE------+
   |           (2)  |
   '-*RTTICAST------'
 
               (1)                                  (1)
   .-*NOSECLVL------.  .-*NOSHOWINC-.  .-*NOSHOWSKP------.
>--+----------------+--+------------+--+-----------------+------>
   |         (1)    |  '-*SHOWINC---'  |          (1)    |
   '-*SECLVL--------'                  '-*SHOWSKP--------'
 
   .-*SHOWSRC---.  .-*NOSHOWSYS-.  .-*NOSHOWUSR-.
>--+------------+--+------------+--+------------+--------------->
   '-*NOSHOWSRC-'  '-*SHOWSYS---'  '-*SHOWUSR---'
 
                                                  (1)
   .-*STDINC---.  .-*NOSTDLOGMSG-.  .-*NOSTRUCREF------.
>--+-----------+--+--------------+--+------------------+-------->
   '-*NOSTDINC-'  '-*STDLOGMSG---'  |           (1)    |
                                    '-*STRUCREF--------'
 
   .-*NOSYSINCPATH-.  .-*NOXREF-.  .-*NOXREFREF-.
>--+---------------+--+---------+--+------------+---------------|
   '-*SYSINCPATH---'  '-*XREF---'  '-*XREFREF---'
 

Notes:
  1. C compiler only
  2. C++ compiler only
  3. Create Module command only

The possible options are:

*NOAGR C Compiler only
Accepted but ignored by the C++ compiler. Default setting. Does not generate an aggregate structure map in the compiler listing.
*AGR C Compiler only
Accepted but ignored by the C++ compiler. Generates an aggregate structure map in the compiler listing. This map provides the layout of all structures in the source program, and shows whether variables are padded or not. OUTPUT(*PRINT) must be specified.

The *AGR option overrides the *STRUCREF option.

*NOBITSIGN C++ Compiler only
Default setting. Bitfields are unsigned.
*BITSIGN C++ Compiler only
Bitfields are signed.
*NODIGRAPH C Compiler only
Default setting. Digraph character sequences are not recognized by the compiler. Syntax errors might result if digraphs are encountered with this setting in effect.
*DIGRAPH C Compiler only
Digraph character sequences can be used to represent characters not found on some keyboards. Digraph character sequences appearing in character or string literals are not replaced during preprocessing.
*NOEVENTF
Default setting. Does not create an event file for use by Cooperative Development Environment/400 (CODE/400).
*EVENTF
Creates an event file for use by Cooperative Development Environment/400 (CODE/400). The event file is created as a member in file EVFEVENT in the library where the created module or program object is to be stored. If the file EVFEVENT does not exist, it is automatically created. The event file member name is the same as the name of the object being created. An Event File is normally created when you create a module or program from within CODE/400. CODE/400 uses this file to provide error feedback integrated with the CODE/400 editor.
*NOEXPMAC
Default setting. Does not expand the macros in the source section of the listing or in the debug listing view.
*EXPMAC
Expands all macros in the source section of a listing view. If this suboption is specified together with DBGVIEW(*ALL) or DBGVIEW(*LIST), the compiler issues an error message and stops compilation.
*NOFULL
Default setting. Does not show all compiler-output information in the listing or in the debug listing view.
*FULL
Shows all compiler-output information in the listing or in the debug listing view. This setting turns on all listing-related options. If *FULL is specified, you can turn off an individual listing option by specifying the *NO setting for that option after the *FULL option. If this suboption is specified together with DBGVIEW(*ALL) or DBGVIEW(*LIST), the compiler issues an error message and stops compilation.
*GEN
Valid only with the CRTCMOD and CRTCPPMOD commands. Default setting. All phases of the compilation process are carried out.

C Compiler only Specifying OPTION(*PPONLY) overrides the PPGENOPT(*NONE) and OPTION(*GEN) option settings. Instead, the following settings are implied:

  • PPGENOPT(*DFT) PPSRCFILE(QTEMP/QACZEXPAND) PPSRCMBR(*MODULE) for a data management source file, or,
  • PPGENOPT(*DFT) PPSRCSTMF(*SRCSTMF) for an IFS source file.
*NOGEN
Valid only with the CRTCMOD and CRTCPPMOD commands. Compilation stops after syntax checking. No object is created.
*NOINCDIRFIRST
Default setting. The compiler searches for user include files in the root source directory first, and then in the directories specified by the INCDIR option.
*INCDIRFIRST
The compiler searches for user include files as follows:
  1. If you specify a directory in the INCDIR parameter, the compiler searches for file_name in that directory.
  2. If more than one directory is specified, the compiler searches the directories in the order that they appear on the command line.
  3. Searches the directory where your current root source file resides.
  4. If the INCLUDE environment variable is defined, the compiler searches the directories in the order they appear in the INCLUDE path.
  5. If the *NOSTDINC compiler option is not chosen, search the default include directory /QIBM/include.
*LOGMSG
Default setting. Compilation messages are put into the job log.

When you specify this option and the FLAG parameter, messages with the severity specified on the FLAG parameter (and higher) are placed in the job log.

When you specify this option and a maximum number of messages on the MSGLMT parameter, compilation stops when the number of messages, at the specified severity, have been placed in the job log.

*NOLOGMSG
Does not put the compilation messages into the job log.
*LONGLONG C++ compiler only
Default setting. The compiler recognizes and uses the longlong data type.
*NOLONGLONG C++ compiler only
The compiler does not recognize the longlong data type.
*NORTTI C++ compiler only
Default setting. The compiler does not generate information needed for run time Type Information (RTTI) typeid and dynamic_cast operators.
*RTTIALL C++ compiler only
The compiler generates the information needed for the RTTI typeid and dynamic_cast operators.
*RTTITYPE C++ compiler only
Start of changeThe compiler generates the information needed for the RTTI typeid operator, but the information for the dynamic_cast operator is not generated. This option is not supported if the RTBND(*LLP64) compile option is specified.End of change
*RTTICAST C++ compiler only
Start of changeThe compiler generates the information needed for the RTTI dynamic_cast operator, but the information for the typeid operator is not generated. This option is not supported if the RTBND(*LLP64) compile option is specified.End of change
*NOPPONLY C compiler only
Valid only with the CRTCMOD command. Default setting. The compiler runs the entire compile sequence when *GEN is left as the default for OPTION.

Specifying PPGENOPT with any setting other than *NONE overrides the OPTION(*NOPPONLY) and OPTION(*GEN) option settings.

Note:
The PPGENOPT compiler option replaces OPTION(*NOPPONLY). Support for OPTION(*NOPPONLY) may be removed in future releases.
*PPONLY C compiler only
Valid only with the CRTCMOD command. The preprocessor is run and the output is saved in the source file QACZEXPAND in library QTEMP. The member-name is the same as the name specified on the MODULE parameter. The rest of the compilation sequence is not run. When the job is submitted in batch mode, the output is deleted once the job is complete.

If you specify SRCSTMF, then the compiler saves the output in a stream file in your current directory. The file name is the same as the file on SRCSTMF with a ".i" extension.

Specifying OPTION(*PPONLY) overrides the PPGENOPT(*NONE) and OPTION(*GEN) option settings. Instead, the following settings are implied:

Note:
The PPGENOPT compiler option replaces OPTION(*PPONLY). Support for OPTION(*PPONLY) might be removed in future releases.
*NOSECLVL C compiler only
Default setting. Does not generate the second-level message text in the listing.
*SECLVL C compiler only
Generates the second-level message text in the listing. OUTPUT(*PRINT) must be specified.
*NOSHOWINC
Default setting. Does not expand the user include files or the system include files in the source listing or in the debug listing view.
*SHOWINC
Expands both the user-include files and the system-include files in the source section of the listing or in the debug listing view. OUTPUT(*PRINT) or DBGVIEW(*ALL, *SOURCE, or *LIST) must be specified.

This setting turns on the *SHOWUSR and *SHOWSYS settings, but those settings can be overridden by specifying *NOSHOWUSR or *NOSHOWSYS or both after *SHOWINC.

*NOSHOWSKP C compiler only
Default setting. Does not include the statements that the preprocessor has ignored in the source section of the listing or in the debug listing view. The preprocessor ignores statements as a result of a preprocessor directive evaluating to false (zero).
*SHOWSKP C compiler only
Includes all statements in the source listing or in the debug listing view, regardless of whether the preprocessor has skipped them. OUTPUT(*PRINT) or DBGVIEW(*ALL or *LIST) must be specified.
*SHOWSRC
Default setting. Shows the source statements in the source listing or in the debug listing view. OUTPUT(*PRINT) or DBGVIEW(*ALL, *SOURCE, or *LIST) must be specified.
*NOSHOWSRC
Does not show the source statements in the source listing or in the debug listing view. The *EXPMAC,*SHOWINC,*SHOWUSR,* *SHOWSKP listing options can override this setting if specified after the*NOSHOWSRC option.
*NOSHOWSYS
Default setting. Does not expand the system include files on the #include directive in the source listing or in the debug listing view.
*SHOWSYS
Expands the system include files on the #include directive in the source listing or in the debug listing view. An OUTPUT option, or DBGVIEW parameter value of *ALL, *SOURCE or *LIST must be specified. System include files on the #include directive are enclosed in angle brackets (< >).
*NOSHOWUSR
Default setting. Does not expand the user include files on the #include directive in the source listing or in the debug listing view.
*SHOWUSR
Expands the user include files on the #include directive in the source listing or in the debug listing view. OUTPUT(*PRINT) or DBGVIEW(*ALL, *SOURCE, or *LIST) must be specified. User-include files on the #include directive are enclosed in double quotation marks (" "). Use this option to print the typedef that is generated when you use #pragma mapinc in your ILE C or C++ program to process externally described files.
*STDINC
Default setting. The compiler includes the default include path (/QIBM/include for IFS source stream files; QSYSINC for data management source file members) at the end of the search order.
*NOSTDINC
The compiler removes the default include path (/QIBM/include for IFS source stream files; QSYSINC for data management source file members) from the search order.
*NOSTDLOGMSG
Default setting. The compiler does not produce stdout compiler messages.
*STDLOGMSG
The compiler produces stdout compiler messages when working in the Qshell environment. This option has no effect when compiling with TGTRLS(*PRV).
*NOSTRUCREF C compiler only
Default setting. Does not generate an aggregate structure map of all referenced struct or union variables in the compiler listing.
*STRUCREF C compiler only
Generates an aggregate structure map of all referenced struct or union variables in the compiler listing. This map provides the layout of all referenced structures in the source program, and shows whether variables are padded or not.
*NOSYSINCPATH
Default setting. The search path for user includes is not affected.
*SYSINCPATH
Changes the search path of user includes to the system include search path. In function this option is equivalent to changing the double-quotes in the user #include directive (#include "file_name") to angle brackets (#include <file_name>).
*NOXREF
Does not generate the cross-reference table in the listing. *NOXREF is the default.
*XREF
Generates the cross-reference table that contains a list of the identifiers in the source code together with the line number in which they appear. An OUTPUT option must be specified.

The *XREF option overrides the *XREFREF option.

*NOXREFREF
Default setting. Does not generate the cross-reference table in the listing.
*XREFREF
Generates the cross-reference table, including only referenced identifers and variables in the source code, together with the line number in which they appear. An OUTPUT option must be specified.

The *XREF option overrides the *XREFREF option.



[ Top of Page | Previous Page | Next Page | Contents | Index ]