IBM XL C/C++ for z/VM details

Extensive optimizations

Support for OPT(3) introduces additional options and pragmas to help you improve your application performance, including the loop unrolling option and pragmas and a number of new built-in functions. Using the OPT(0), OPT(2) and OPT(3) options, you can obtain optimization levels that run from comprehensive low-level optimizations to more extensive optimizations.

C++ standard library

IBM XL C/C++ for z/VM® includes the C++ Standard I/O Stream Library for performing input and output (I/O) operations, the C++ Standard Complex Mathematics Library for manipulating complex numbers, and the STL, which is composed of C++ template-based algorithms, container classes, iterators, localization object, and the string class.

Unicode literal support

IBM XL C/C++ for z/VM adds support for the char16_t and char32_t types through the use of typedefs in C and as native types in C++ and makes it easier to port code exploiting these types to z/OS®.

Compatibility with the GNU Compiler Collection (GCC)

The included C support for the statement expression construct enables programmers to use loops, switches, and local variables within an expression, and C and C++ support for the zero-extent array construct as a header for a variable-length object. These features make it easier to port C/C++ code using these constructs on other platforms to XL C/C++ for z/VM®.

Deeper pointer analysis

The RESTRICT option indicates to the compiler that parameter pointers in all functions or in specified functions are disjoint. When the RESTRICT option is in effect, deeper pointer analysis is done by the compiler. This is intended to improve the performance of the application being compiled.

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 for each compilation unit. The compiler will also record version information for all compiler components that were active during the compilation. This new feature can help you in diagnosing run-time problems.

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.

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.

Extensive documentation library

Read the documentation

You may also be interested in

Other products in the C and C++ Compiler Family

IBM z/OS XL C/C++

IBM® z/OS® XL C/C++ exploits the latest z/Architecture®, including the latest IBM z15™ servers. It enables development of high-performing business applications and system programs on z/OS, while maximizing hardware use and improving application performance. XL C/C++ uses services provided by the z/OS Language Environment® and Runtime Library Extensions base elements. It supports embedded CICS® and SQL statements in C/C++ source, simplifying the operation of C/C++ within CICS and Db2® environments. It works with IBM Application Delivery Foundation for z/OS. Announcement: The XL C/C++ compiler is to adopt LLVM open-source infrastructure.

Learn more

IBM XL C/C++ for Linux

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

Learn more

IBM XL C/C++ for AIX

IBM® XL C/C++ for AIX® is a compiler that facilitates the creation and maintenance of applications written in C/C++ for IBM Power Systems™. It generates code that leverages the capabilities of POWER8® and the latest POWER9™ architectures and maximizes your hardware utilization. V16.1 provides new C and C++ compilers adopting the open-source Clang technology. The new compilers provide enhanced C & C++ language standards support including C11, C++11, and C++14 as well as GCC compatibility. The existing C and C++ compilers continue to be available for use. Announcement: IBM C/C++ and Fortran compilers to adopt LLVM open-source infrastructure.

Learn more

IBM XL C for AIX

IBM® XL C for AIX® is a compiler that facilitates the creation & maintenance of C applications for IBM Power Systems™. It generates code that leverages the capabilities of the POWER8® architecture and maximizes your hardware utilization. Interested in support for POWER9 & full C11 standard? You need the latest XL C/C++ for AIX! The same C compiler available in XL C for AIX is included by XL C/C++ for AIX. Trade-up part numbers or feature codes are offered to trade up from your existing XL C for AIX to the new XL C/C++ for AIX. See: ibm.biz/xlc-aix-161 Announcement: IBM C/C++ and Fortran compilers to adopt LLVM open-source infrastructure.

Learn more