-mzos-target

Pragma equivalent

None.

Purpose

Controls which z/OS® level is assumed for compiling your program.

Syntax

Read syntax diagramSkip visual syntax diagram-mzos-targetzosvXrY0xnnnnnnnncurrent

Default

None.

Parameter

zosvXrY
X is the z/OS version number and Y is the release number. X and Y are single digits. Open XL C/C++ for z/OS supports zosv2r5 and newer.
0xnnnnnnnn
A hexadecimal string literal that represents the version number of the target library. The format of the version number is 0xPVRRMMMM, where:
P
Represents the C/C++ library product. The possible value is 4 for z/OS Release 2 and later.
V
Represents the version number.
RR
Represents the release number.
MMMM
Represents the modification number.
current
A string literal that indicates that the OS version is determined by the system headers being used.

Usage

The -mzos-target option controls which z/OS level is assumed for compiling you program. You can use this option if the program you are compiling is expected to execute on an earlier z/OS level than that of the system on which the program was compiled.

Predefined macro

The __TARGET_LIB__ macro is set by the -mzos-target suboptions as follows:
  • 0x42050000 (for the zosv2r5 suboption)
  • 0x43010000 (for the zosv3r1 suboption)
  • 0x43020000 (for the zosv3r2 suboption)
  • 0xnnnnnnnn (for the 0xnnnnnnnn suboption)
  • Undefined (for the current suboption)
    Note: When -mzos-target=current is in effect and a system header is included, the __TARGET_LIB__ macro is defined.