The options in Table 1 affect the characteristics of the object code generated by the compiler.
Option | Description | C Compile | C++ Compile | IPA Link | More Information |
---|---|---|---|---|---|
ALIAS | Generates ALIAS binder control statements, which help the binder locate modules in a load library, for each required entry point. | ✓ | ✓ | See detail | |
ARGPARSE | Parses arguments provided on the invocation line. | ✓ | ✓ | ✓ | See detail |
ARMODE | Specifies that all functions in the C source file will operate in access-register (AR) mode. ARMODE must be used with the METAL compiler option. | ✓ | See detail | ||
ASMDATASIZE | Provides the default data area size for the data areas defined by user-supplied assembly statements. | ✓ | See detail | ||
COMPRESS | Suppresses the generation of function names in the function control block, thereby reducing the size of your application's load module. | ✓ | ✓ | ✓ | See detail |
CSECT | Instructs the compiler to generate CSECT names in the output object module. | ✓ | ✓ | ✓ | See detail |
CVFT | Shrinks the size of the writeable static area (WSA), and reduces the size of construction virtual function tables (CVFT), which in turn reduces the load module size to improve your application's performance. | ✓ | See detail | ||
DLL | Generates object code for DLLs or DLL applications. | ✓ | ✓ | ✓ | See detail |
DSAUSER | When the Metal option is in effect, requests a user field of the size of a pointer to be reserved on the stack. | ✓ | See detail | ||
EPILOG (C only) | Enables you to provide your own function exit code for all your functions that have extern scope. | ✓ | See detail | ||
EXECOPS | Allows you to specify runtime options on the invocation line for the generated executable. | ✓ | ✓ | ✓ | See detail |
EXH | Controls whether C++ exception handling is enabled in the module being compiled. | ✓ | See detail | ||
EXPORTALL | Exports all externally defined functions and variables in the compilation unit so that a DLL application can use them. | ✓ | ✓ | ✓ | See detail |
GOFF | Instructs the compiler to produce an object file in the Generalized Object File Format (GOFF). | ✓ | ✓ | ✓ | See detail |
ILP32 | Instructs the compiler to generate AMODE 31 code. | ✓ | ✓ | ✓ | See detail |
LOCALE | Specifies the locale to be used by the compiler as the current locale throughout the compilation unit. | ✓ | ✓ | ✓ | See detail |
LONGNAME | Provides support for external names of mixed case and up to 1024 characters long. | ✓ | ✓ | ✓ | See detail |
LP64 | Instructs the compiler to generate AMODE 64 code using the z/Architecture® 64-bit instructions. | ✓ | ✓ | ✓ | See detail |
METAL | Generates HLASM code that has no Language Environment® runtime dependencies and follows the MVS™ linkage conventions for passing parameters, returning values, and setting up function save areas. | ✓ | See detail | ||
OBJECTMODEL | Sets the object model to be used for structures, unions, and classes. | ✓ | ✓ | See detail | |
PLIST | Specifies that the original operating system parameter list should be available. | ✓ | ✓ | ✓ | See detail |
PROLOG (C only) | Enables you to provide your own function entry code for all your functions that have extern scope. | ✓ | See detail | ||
REDIR | Allows redirection of stderr, stdin, and stdout from the command line. | ✓ | ✓ | ✓ | See detail |
RENT | Generates reentrant code. | ✓ | ✓ | See detail | |
RESERVED_REG | Instructs the compiler not to use the specified general purpose register (GPR) during the compilation. | ✓ | See detail | ||
ROCONST | Specifies the storage location for constant values. | ✓ | ✓ | ✓ | See detail |
ROSTRING | Specifies the storage type for string literals. | ✓ | ✓ | ✓ | See detail |
RTTI | Generates runtime type identification (RTTI) information for exception handling and for use by the typeid and dynamic_cast operators. | ✓ | See detail | ||
START | Generates a CEESTART, which is an object that controls initialization at execution, when necessary. | ✓ | ✓ | ✓ | See detail |
SYSSTATE | Provides additional SYSSTATE macro parameters to the SYSSTATE macro that is generated by the compiler. | ✓ | ✓ | See detail | |
TARGET | Generates an object module for the targeted operating system or runtime library. | ✓ | ✓ | ✓ | See detail |
WSIZEOF | Causes the sizeof operator to return the widened size for function return types. | ✓ | ✓ | ✓ | See detail |
XPLINK | Uses a z/OS® linkage specifically designed to increase performance. | ✓ | ✓ | ✓ | See detail |