IBM z/OS XL C/C++

IBM z/OS XL C/C++ compiler highlights

Exploitation of the latest z/Architecture

Exploits the latest IBM® z14™ servers with new hardware exploitation features. The compiler supports facilities available on IBM z14 systems, and offers vector programming support so that you can take advantage of the Vector Facility for z/Architecture®. z/OS XL C/C++ exposes hardware level capabilities directly to you through options, directives, pragmas, and source-level built-in functions. In addition, z/Architecture instruction sequences can be inserted with inline assembly statements.

METAL C for system programming capabilities

Provides the METAL option to support system program development on z/OS®. Organizations with limited high level assembler (HLASM) skills can develop optimized system programs using high level C language syntax. Programmers are able to more quickly target system programs written in Metal C to new IBM Z® systems architectures by recompiling to include optimizations for the target system.

Program diagnosis and debug

Increases programmer productivity and lowers maintenance costs by diagnosing potential language semantics adherence while controlling reliable code generation. You can also examine, monitor and control the execution of C and C++ programs by the information consumable by standard symbolic debugging tools, including IBM Debug for z Systems and dbx.

Standards compliance

Conforms to C89, C99, C++98, C++03 and supports the core C11 standard and most of the C++11 standard, enabling straightforward porting and consolidation of C/C++ applications to z/OS for improved platform performance. The XL C/C++ compiler also provides various GNU C/C++ language extensions and compatibility features for ease of migration of applications built with GNU C/C++ to z/OS. OpenMP 3.1 parallelization directives are offered for improved parallel programming.

Profile-directed feedback (PDF) optimization

Collects information about your program as you run it with typical input data and generates information that instructs the optimizer to focus on trade-offs that favor code that executes more frequently; available at high levels of optimization and can result in significant performance improvements.

High-performance mathematical computing libraries

The Mathematical Acceleration Subsystem (MASS) library can be used for accelerated execution of elementary math functions and serve as a higher performance alternative to the standard math library that is part of the z/OS XL C/C++ Runtime. The Automatically Tuned Linear Algebra Software (ATLAS) library provides linear algebra function support for Basic Linear Algebra Subprograms (BLAS) and Linear Algebra PACKage (LAPACK) functions routinely used in Business Analytics and Optimization solutions.

Cross platform compatibility

Supports porting C/C++ applications from the IBM AIX® and Linux platforms to the IBM z/OS platform. The compiler shares optimization components with the IBM XL C/C++ for AIX and Linux compilers so that enhancements are shared between compilers. Applications can then be tuned to the new z/OS platform to take advantage of the new IBM Z systems hardware.

Support for UNIX System Services on z/OS

z/OS UNIX System Services provides capabilities under z/OS to make it easier to implement or port applications in an open, distributed environment. z/OS UNIX is available to z/OS XL C/C++ application programs through the C/C++ language bindings available with the Language Environment® element. Together, z/OS UNIX, the Language Environment element, and the z/OS XL C/C++ compilers provide an application programming interface that supports industry standards.

Integration with IBM Application Delivery Foundation

IBM® Application Delivery Foundation for z Systems provides a core set of tools to create and maintain applications for z/OS environments. The compiler integrates with the following tools that are included in this product: i) IBM Developer for z Systems Enterprise Edition, which includes IBM Debug for z Systems, ii) IBM Fault Analyzer for z/OS, and iii) IBM Application Performance Analyzer for z/OS.

Support for embedded CICS and SQL statements

Simplifies the operation of C/C++ within CICS® and Db2® environments with support for embedded CICS and SQL statements in C/C++ source that are passed through without the need for a preprocessing step.