Compile Panel

Options on this panel specify compiler options to use when the source code is being compiled.

See General Dialog Help for information on *CMDDFT settings, checkbox usage, and pushbutton help.

Compile options

Bitfields
If this checkbox is selected, the compiler considers bitfields as being signed. Otherwise, bitfields are considered unsigned.

Generate Object
If this checkbox is selected, all phases of the compilation process are carried out.

Long long data type
If this checkbox is selected, the compiler will recognize and use the long long data type.

Default include path
If this checkbox is selected, the compiler will use the default system include path when searching for include files.

Generate events file
If this checkbox is selected, the compiler creates an Events File for use by CoOperative Development Environment/400 (CODE/400). CODE/400 uses this file to provide error feedback integrated with the CODE/400 editor. An Events File is normally created when you create a module or program from within CODE/400.

The Events 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 Events File member name is the same as the name of the object being created.

Full listing
If this checkbox is selected, all listing options are turned on.
Note:
To actually view a listing, you must also instruct the compiler to produce a compiler listing. To do so, select the Source listing options checkbox in the Listing compiler options panel.

Struct or union variables
If this checkbox is selected, the compiler generates an aggregate structure map in the compiler listing. This map shows the layout of all structures in the source program, and shows whether variables are padded or not.
Note:
To view the structure map, you must also instruct the compiler to produce a compiler listing. To do so, select the Source listing options checkbox in the Listing compiler options panel.

Referenced struct or union variables
If this checkbox is selected, the compiler includes the layout of all referenced struct or union variables in the listing file.
Note:
To view this layout, you must also instruct the compiler to produce a compiler listing. To do so, select the Source listing options checkbox in the Listing compiler options panel.

Run-time type identification
Specifies how the compiler handles run-time type generation. You can select one of the following values in this field:

*CMDDFT
Refers to the run-time type generation currently set as default for your system.

*NORTTI
The compiler does not generate run-time type identification.

*RTTIALL
The compiler generates run-time type identification for use with the typeid operator and the dynamic_cast operator.

*RTTITYPE
The compiler generates run-time type identification for use with the typeid operator only.

*RTTICAST
The compiler generates run-time type identification for use with the dynamic_cast operator only.

Expanded macros
If this checkbox is selected, the compiler will expand macros in the source part of the listing or in the debug listing view.
Note:
To view the expanded macros, you must also instruct the compiler to produce a compiler listing or debug listing. To do so, select the Source listing options checkbox in the Listing compiler options panel, or set the Debugger view selection in the Debug compiler options panel to either *LIST or *ALL.

Cross-reference identifiers
If this checkbox is selected, the compiler produces a cross-reference table of identifiers in the listing file. The table includes all variables, structure, and function names, plus all local variables specified by the programmer. The table also shows the line numbers where identifiers are declared.
Note:
You must also instruct the compiler to produce a compiler listing. To do so, select the Source listing options checkbox on the Listing compiler options panel.

Cross-reference referenced identifiers
If this checkbox is selected, the compiler produces a cross-reference table of referenced variables, structures, and function names in the listing file. The table also shows the line numbers where identifiers are declared.
Note:
You must also instruct the compiler to produce a compiler listing. To do so, select the Source listing options checkbox on the Listing compiler options panel.

Include INCDIR parameters first
If this checkbox is selected, the compiler first searches for user include files in the directory specified by the INCDIR parameter.

Log messages
If this checkbox is selected, the compiler copies compilation messages into the job log. Additionally:
  • If you select this option together with the Flagging severity option on the Debug options panel, messages with selected severity or higher are also copied into the job log.
  • If you select this option together with the Message limit option on the Debug options panel, compilation stops when the number of messages with selected severity or higher have been copied into the job log.

Search system header files
If this checkbox is selected, 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.

Compilation Message to stdout
If this checkbox is selected, compiler messages will be sent to stdout.

System include path
If this checkbox is selected, the search path of user includes changes to the system include search path. This is equilvalent to changing the double-quotes in the user #include directive (#include "file_name") to angle brackets (#include <file_name>).

Expand include files
Specifies how the compiler will treat include files in the compiler and debug listings. You can select one of the following values in this field:

*CMDDFT
Refers to the include file treatment currently set as default for your system.

*SHOWINC
Expands both user-include files and system-include files in the source part of the compiler listing or debug listing.

*NOSHOWINC
Does not expand the user-include files or system-include files in the source listing or debug listing.

*SHOWUSR
Expands user-include files in the source part of the compiler listing or debug listing. User-include files are those enclosed in double-quotation marks (" ") on an #include directive. Use this option to print the typedef that is generated when you use the #pragma mapinc in your program source to process externally-described files.

*NOSHOWUSR
Does not expand user-include files in the source part of the compiler listing or debug listing. User-include files are those enclosed in double-quotation marks (" ") on an #include directive.

*SHOWSRC
Shows the source statements in the source listing or in the debug listing view.

*NOSHOWSRC
Does not show the source statements in the source listing or in the debug listing view.

*NOSHOWSYS
Does not expand the system include files on an #include directive in the source listing or in the debug listing view.
Note:
To view the expanded macros, you must also instruct the compiler to produce a compiler listing or debug listing. To do so, select the Source listing options checkbox in the Listing compiler options panel, or set the Debugger view selection in the Debug compiler options panel to either *ALL, *SOURCE, or *LIST.