IBM XL C/C++ for z/VM

An advanced optimizing compiler for the z/VM® platform
Illustration of abstract geometric chevron

Overview

IBM® XL C/C++ for z/VM is an optimizing compiler designed for developing large, complex, computationally intensive applications. It lets you write C and C++ applications that are optimized for IBM Z® systems hardware.

    XL C/C++ for z/VM 1.3 user and implementation guides
    Optimize application performance

    Supports high-order transformations, which are optimizations that improve performance for loops; supports up to OPTIMIZE(3) or OPT(3)

    Migrate applications easily

    Conforms to the ISO/IEC 9899:1999 international standard (C99), the ANSI/ISO 1998 C++ standard and a standards-conforming C compiler, and includes the C++ Standard Library.

    Simplify porting of applications

    Supports industry standards to simplify the porting of applications to z/VM from both IBM and non-IBM platforms.

    Features

    A diagram of C/C++ compiler inputs and outputs
    Unicode literal support

    IBM XL C/C++ for z/VM adds support for the char16_t and char32_t types through typedefs in C and as native types in C++, making it easier to port code that uses these types to z/OS®.

    Female Software Engineer Writing Code on Desktop Computer with Multiple Screens Setup in Coworking Office Space. Professional Caucasian Woma
    Compatibility with the GNU Compiler Collection (GCC)

    IBM XL C/C++ for z/VM adds support for the char16_t and char32_t types through typedefs in C and as native types in C++, making it easier to port code that uses these types to z/OS®.

    IT developer working online software development on pc monitors on top view at modern home office on coding application screens, creating updated program firmware information version concept. Gusher.
    Deeper pointer analysis

    The RESTRICT option indicates to the compiler that parameter pointers in all functions or specified functions are disjoint. The compiler performs more in-depth pointer analysis when the RESTRICT option is active. This is intended to improve the performance of the application being compiled.

    Team of IT programmers working on desktop computers in data center control room. Young professionals writing on sophisticated programming code language.
    Saved option string feature

    IBM XL C/C++ for z/VM provides a compact representation of compiler options used for each source file and creates the saved options string in the executable file for each compilation unit. The compiler records version information for all components active during the compilation. This new feature can help you in diagnosing run-time problems.

    Man using computer, typing, working in modern office
    Message severity modification support

    The severity option allows changing the severity of some of the diagnostic messages emitted by the compiler. This feature allows customization of certain diagnostic message levels to the coding standards of the user.

    Female engineer coding late at night in her home office, developing AI and robotics system. Concept of STEM, machine learning, and perseverance.
    Debug support

    Source listings generated by the compiler are enhanced to add the starting offset of each function to the listings. The starting offset of each function is expected to be helpful for debugging purposes. For compiled code using optimization level O2 or O3, the names and addresses of functions and the names, types and values of the parameters can be displayed when you debug optimized code.

    A diagram of C/C++ compiler inputs and outputs
    Unicode literal support

    IBM XL C/C++ for z/VM adds support for the char16_t and char32_t types through typedefs in C and as native types in C++, making it easier to port code that uses these types to z/OS®.

    Female Software Engineer Writing Code on Desktop Computer with Multiple Screens Setup in Coworking Office Space. Professional Caucasian Woma
    Compatibility with the GNU Compiler Collection (GCC)

    IBM XL C/C++ for z/VM adds support for the char16_t and char32_t types through typedefs in C and as native types in C++, making it easier to port code that uses these types to z/OS®.

    IT developer working online software development on pc monitors on top view at modern home office on coding application screens, creating updated program firmware information version concept. Gusher.
    Deeper pointer analysis

    The RESTRICT option indicates to the compiler that parameter pointers in all functions or specified functions are disjoint. The compiler performs more in-depth pointer analysis when the RESTRICT option is active. This is intended to improve the performance of the application being compiled.

    Team of IT programmers working on desktop computers in data center control room. Young professionals writing on sophisticated programming code language.
    Saved option string feature

    IBM XL C/C++ for z/VM provides a compact representation of compiler options used for each source file and creates the saved options string in the executable file for each compilation unit. The compiler records version information for all components active during the compilation. This new feature can help you in diagnosing run-time problems.

    Man using computer, typing, working in modern office
    Message severity modification support

    The severity option allows changing the severity of some of the diagnostic messages emitted by the compiler. This feature allows customization of certain diagnostic message levels to the coding standards of the user.

    Female engineer coding late at night in her home office, developing AI and robotics system. Concept of STEM, machine learning, and perseverance.
    Debug support

    Source listings generated by the compiler are enhanced to add the starting offset of each function to the listings. The starting offset of each function is expected to be helpful for debugging purposes. For compiled code using optimization level O2 or O3, the names and addresses of functions and the names, types and values of the parameters can be displayed when you debug optimized code.

    Related products

    IBM z/OS IBM z/OS XL C/C++

    Exploits the latest z/Architecture®, including the latest IBM z15™ servers.

    IBM XL C/C++ for Linux

    A high-performance compiler for developing complex C/C++ programs.

    Discover the IBM C and C++ Compiler Family

    Visit C and C++ compiler family page.

    Take the next step

    Explore IBM XL C/C++ for z/VM. Schedule a no-cost 30-minute meeting with an IBM Z representative.

    More ways to explore Support Flexible pricing Education and training Developer community Resources IBM Redbooks® Community Cloud application development consulting services