ARMODE | NOARMODE (C only)
Category
Object code control
Pragma equivalent
None.
Purpose
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.
When ARMODE is in effect, all functions in the compilation unit will be compiled in AR mode. AR mode functions can access data stored in additional data spaces supported by IBM® System z® hardware.
To override the effect of the ARMODE option and selectively re-set particular functions to be in non-AR mode (or primary address space control mode), use __attribute__((noarmode)). For more information on this attribute, see armode | noarmode type attribute (C only) and z/OS Metal C Programming Guide and Reference.
When NOARMODE is in effect, functions are not in AR mode unless __attribute__((armode)) is specifically specified for the functions.
Defaults
NOARMODE
Usage
If the ARMODE compiler option is specified, all functions in the compilation unit will be compiled in AR mode.
AR mode enables a program to manipulate large amounts of data in memory by using __far pointers. This means that a program working with a large table, for example, would not need to use temporary disk files to move the data in and out of disk storage. It also means that program logic can be less complicated, easier to maintain, and less error prone. Currently, only assembler can make use of AR Mode directly.
Predefined macros
None.
Related information
For more information on the METAL compiler option, see METAL | NOMETAL (C only).
For more information on __far pointers, see z/OS XL C/C++ Language Reference.
