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:
- To use the *LLP64 setting, teraspace storage addresses (Generation options
panel) must be enabled.
- The *LLP64 setting is ignored if the compiler is targetting a release
earlier than V5R1M0.
- 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:
- Character conversion applies only to char strings, and not to
wchar_t strings.
- Use of #pragma convert will override character
conversion in the section of code to which the pragma applies.
- 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:
- A maximum of 32 macros can be defined.
- The maximum length of a macro is 80 characters.
- Single quotation marks must be used to enclose case-sensitive
macros.
- 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.
- 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.
(C) Copyright IBM Corporation 1992, 2005. All Rights Reserved.