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

Exploitation of the latest z/Architecture

Read the documentation

Exploits the latest IBM z15™ servers with support for new hardware features. The compiler supports facilities available on IBM z15 systems and offers vector programming support to take advantage of the Vector Facility for z/Architecture. z/OS XL C/C++ delivers 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

Read the documentation

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.

Support for program diagnosis and debug

Read the documentation

Increases programmer productivity and lowers maintenance costs by diagnosing potential language semantics adherence while controlling reliable code generation. Examines, monitors, and controls the execution of C and C++ programs with the information that is consumable by standard symbolic debugging tools, including IBM Debug for z/OS and dbx.

Industry standards support

Read the documentation

Conforms to C89, C99, C++98, C++03 and supports the core C11 standard and most of the C++11 and C++14 standards, 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.

Support for automatic SIMDization optimization

Read the documentation

Supports the automatic SIMDization or automatic vectorization optimization that uses single instruction, multiple data (SIMD) instructions to automatically generate SIMD code so that you do not have to handle the complexity of parallel programming.

Advanced optimization technology

Read the documentation

Provides state-of-the-art compilation technology for improved application performance. The compiler supports multiple optimization levels to tailor the optimization aggressiveness for your applications. Advanced optimization techniques, such as high-order transformation (HOT) loop optimization, interprocedural analysis (IPA) optimization, and profile-directed feedback (PDF) optimization, can result in significant performance improvements.

High-performance mathematical computing libraries

Read the documentation

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 with enhancements that are in common. Applications can then be tuned to the z/OS platform to take advantage of the new IBM Z hardware.

Support for z/OS UNIX System Services

Read the documentation

z/OS UNIX System Services provides capabilities under z/OS to make it easier to implement and 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

Visit product page

IBM Application Delivery Foundation for z/OS 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: IBM Developer for z/OS Enterprise Edition tools, which include IBM Debug for z/OS, IBM Fault Analyzer for z/OS, and IBM Application Performance Analyzer for z/OS.

Support for embedded CICS and SQL statements

Read the documentation

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.

Technical details

Software requirements

z/OS V2.3 (5650-ZOS) or later with required program temporary fixes (PTFs)

Hardware requirements

IBM z/OS XL C/C++ V2.4 runs on the following IBM Z systems servers:

  • IBM z15™ (z15)
  • IBM z14® (z14), IBM z14 Model ZR1 (z14 ZR1)
  • IBM z13® (z13), IBM z13s® (z13s)
  • IBM zEnterprise® EC12 (zEC12)
  • IBM zEnterprise BC12 (zBC12)