Skip to main content

Technical detail

z/OS V1R9 offers, as an optional priced feature, the z/OS V1R9 XL C/C++ compiler.

This compiler shares a common code base, including IBM's most advanced compiler optimization technology, with other members of the XL C/C++ and XL Fortran compiler families.

z/OS V1R9 XL C/C++ offers the following performance and usability enhancements in this new release:

z/OS XL C support for system program development – METAL option
Prior to V1R9, z/OS XL C compiler-generated code required Language Environment for C run-time library functions and required the establishment of an overall execution context, including the heap storage and dynamic storage area. This dependency meant that the XL C compiler could only generate code to run in an environment where Language Environment services existed.

The METAL compiler option, which is provided with z/OS V1R9, generates code that does not have Language Environment run-time dependencies.

In addition, language features are provided to embed small pieces of HLASM source within C statements. Most assembler macros can be used in this embedded HLASM code. Function prolog and epilog code can be provided for all functions that have extern scope.

When applied together, these features can assist with writing programs suitable for use in an MVS™ system level environment, as well as for inter-operating with most programs written in HLASM. Any system services that the program needs can be obtained directly by calling Assembler Services.

z/OS XL C/C++ support for decimal floating-point formats (DFP)
z/OS V1R9 XL C/C++ supports decimal floating-point formats in addition to the current hex and binary floating-point formats.

The decimal formats are specified by the revised IEEE 754 Floating Point Standard. This support assists with avoiding potential rounding problems, which can result from using binary or hexadecimal floating-point types to handle decimal calculations.

z/OS XL C/C++ provides the following:

CDAHLASM utility to produce debug information
The CDAHLASM utility produces debug information in DWARF format and ADATA format. Debuggers can use the DWARF debug information to debug Metal C applications. The CDAASMC cataloged procedure is provided to execute this utility.

New compiler options
z/OS V1R9 XL C/C++ introduces the following new compiler options:

New compiler suboption
z/OS V1R9 XL C/C++ introduces the following new compiler suboption:

New pragma directives
z/OS V1R9 XL C introduces the following new pragma directives:

Performance improvements
As an ongoing effort, improvements are provided in the generated code to take advantage of new instructions in the hardware architecture. You can benefit from these improvements by recompiling your existing source without code changes. Additional built-in functions are provided to help programs use selected hardware instructions directly.

For information on these built-in functions, see the built-in functions described in the z/OS XL C/C++ Programming Guide.

Support for the CICS Transaction Server 3.1 & 3.2 Integrated Translator
Integrated CICS translation is supported for use with CICS Transaction Server for z/OS V3R1 and above. The integrated CICS translator enables users to embed CICS statements in C/C++ source and pass them through the compiler without the need for an explicit preprocessing step. This permits a more seamless operation of C/C++ within the CICS environment. See APAR PK49920 for more information.

Support for the DB2 V7, V8 and V9 coprocessor
If all the SQL statements are embedded in your XL C programs, you can use the XL C DB2 coprocessor to prepare the programs to request DB2 services. The DB2 coprocessor enables users to embed EXEC SQL statements in C/C++ source code, and pass them through the compiler without the need for a preprocessing step. This permits a more seamless operation of C/C++ within the DB2 environment. See APAR PK20435 and APAR PK33665 for more information.

We're here to help

live-assistance

Easy ways to get the answers you need.


Or call us at:
877-426-3774
Priority code:
104CBW61