Other Panel

This panel contains various language, locale, and file system options.

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

Language level
Specifies which group of library function prototypes are included when the source is compiled. If no language level is specified and no #pragma langlvl directive encoded in the source member, the language level defaults to *EXTENDED. When you specify a language level, it overrides the #pragma langlvl directive that is specified in the source member.

You can select one of the following values in this field:

*CMDDFT
Refers to the language level currently set as default for your system.

*EXTENDED
Defines the preprocessor macro __EXTENDED__ and undefines other language-level variables. ANSI-standard C and the IBM language extensions are available. This parameter should be used when all the functions of C are to be made available.

*ANSI
Defines the preprocessor macros __ANSI__ and __STDC__ , and undefines other language-level variables. Only ANSI-standard CC++ is available.

Locale support
Specifies the type of locale support to be used by the object that is created. You can select one of the following values in this field:

*CMDDFT
Refers to the locale support currently set as default for your system.

*CLD
Objects compiled with this option use the locale support provided with earlier releases of the ILE C/C++ compiler and run time using locale objects of type *CLD.

*LOCALE
Objects compiled with this option use the locale support provided with the ILE C/C++ compiler and run time using locale objects of type *LOCALE. This selection is valid only for programs running on V3R7 and later releases of the OS/400 operating system.

*LOCALEUCS2
Objects compiled with this option store wide-character literals in two-byte form in the Unicode CCSID (13488).

Integrated file system options
Use this field to select which Integrated File System options will be used for C stream I/O operations in the object being created. Select one of the following values from the C stream I/O operations field:

*CMDDFT
Refers to the Integrated File System options currently set as default for your system.

*NOIFSIO
The object being created will use the AS/400 Data management file system for C stream I/O operations.

*IFSIO
The object being created will use the Integrated File System APIs for C stream I/O operations on files up to two gigabytes in size.

*IFS64IO
The object being created will use the 64-bit Integrated File System APIs that support C stream I/O operations on files greater than two gigabytes in size. Using this option also implicitly enables the *IFSIO selection.

*ASYNCSIGNAL
Enables runtime mapping of synchronous signalling functions to asynchronous signalling functions. Specifying this option causes C runtime to map the synchronous signal() and raise() functions to the asynchronous sigaction() and kill() functions respectively.

*NOASYNCSIGNAL
Does not enable runtime mapping of synchronous signalling functions to asynchronous signalling functions.

Data model
Specifies how pointer types will be interpreted in absence of an explicit modifier. You can select one of the following values in this field:

*CMDDFT

*P128
The size of int, long, and pointer data types are 4, 4, and 16 bytes respectively.

*LLP64
The size of int, long, and pointer data types are 4, 4, and 8 bytes respectively, and the compiler will define the macro __LLP64_IFC__.

Notes:

  1. To use the *LLP64 setting, teraspace storage addresses (Generation options panel) must be enabled.

  2. The *LLP64 setting is ignored if the compiler is targetting a release earlier than V5R1M0.

  3. The __ptr64 and __ptr128 type modifiers and the datamodel pragma override the setting of this compiler option.

Pack structure
Specifies the alignment rules to use for members of structures, unions and classes in the source code. You can select one of the following values in this field:

*CMDDFT

1
Structures and unions are packed along 1-byte boundaries.

2
Structures and unions are packed along 2-byte boundaries.

4
Structures and unions are packed along 4-byte boundaries.

8
Structures and unions are packed along 8-byte boundaries.

16
Structures and unions are packed along 16-byte boundaries.

*NATURAL
The natural alignment for the members of structures is used.

Compiler service option
Specifies one or more compiler service options. Valid option strings will be described in PTF cover letters and release notes. You can select one of the following values in this field:

*CMDDFT
Uses the computer service options currently set as default for your system.

*NONE
No compiler service options are selected.

Licensed internal code options
Specifies one or more Licensed Internal Code compile-time options. This parameter allows individual compile-time options to be selected, and is intended for the advanced programmer who understands the potential benefits and drawbacks of each selected type of compiler option.. You can select one of the following values in this field:

*CMDDFT
Uses the licensed internal code options currently set as default for your system.

*NONE
No compile-time options are selected.

Target CCSID
Specifies the target coded character set identifier (CCSID) of the resulting module. The module CCSID identifies the coded character set identifier in which the module character data is stored. This includes character data used to describe literals, comments and identifier names described by the source, with the exception of identifier names for CCSIDs 5026, 930 and 290. You can select of of the following values in this field:

*CMDDFT
The CCSID setting currently set as default for your system is used.

*SOURCE
The CCSID of the root source file is used.

*JOB
The CCSID of the current job is used.

*HEX
The CCSID 65535 is used, indicating that character data is treated as bit data and is not converted.

You can also type a CCSID value directly into this field.

Notes:

  1. Character conversion applies only to char strings, and not to wchar_t strings.

  2. Use of #pragma convert will override character conversion in the section of code to which the pragma applies.

  3. This option is ignored when compiling for a target release earlier than V5R1M0.

Include directory
Specifies directories in which to search for include files. In addition to the specified directories, the source directory is also searched for user include files. You can select one of the following values in this field:

*CMDDFT
Refers to the include file directory search settings currently set as default for your system.

*NONE
No directories other than the source directory are searched for include files.

To add a new directory for the search list, enter the name of the directory into the text entry field and click on Add. To delete a directory, select the directory from the list and click on Delete.

Define preprocessor macros
Defines preprocessor macros that take effect before the file is processed by the compiler. You can select one of the following values in this field:

*CMDDFT
Refers to the define option currently set as default for your system.

*NONE
No macros are defined.

To define a macro, enter the macro definition into the macro definition area and click on Add. To delete a macro, select the macro from the list and click on Delete.

Notes:

  1. A maximum of 32 macros can be defined.

  2. The maximum length of a macro is 80 characters.

  3. Single quotation marks must be used to enclose case-sensitive macros.

  4. Macros defined by this option override macro definitions of the same name in the source. The compiler will issue a warning message if this occurs.

  5. Function-like macros such as #define max(a,b) ((a)>;(b):(a)?(b)) cannot be defined by this option.

Dependency information
Specifies if and where generated dependency information is stored. You can select one of the following values in this field:

*CMDDFT
Refers to the dependency information setting currently set as default for your system.

*NODEP
No dependency information is generated.

filename
Generated dependency information is stored to the selected file.