IBM XL C/C++ for z/VM , V1.3 delivers performance improvements and additional C++ standards support

IBM Europe, Middle East, and Africa Software Announcement ZP11-0458
October 12, 2011

Table of contents
Overview Overview Technical information Technical information
Key prerequisites Key prerequisites Ordering information Ordering information
Planned availability date Planned availability date Publications Publications
Description Description Terms and conditions Terms and conditions
Product positioning Product positioning Prices Prices
Program number Program number Announcement countries Announcement countries

Top rule
Bottom rule

XL C/C++ for z/VM®, V1.3 is an advanced optimizing compiler for the z/VM platform. Based on industry standards, this professional programming tool can be used for developing large, complex, computationally intensive applications. XL C/C++ for z/VM includes a C compiler and a C++ compiler giving you the flexibility to write both C and C++ applications or to extend existing C applications using C++.

What's new in XL C/C++ for z/VM, V1.3

  • Delivers performance improvements for faster XL C/C++ applications.
  • Provides additional features to support the advancement of the Standard C++ Library Standard and C++ Language Standard including support for part of the new draft C++0x standard.
  • Includes enhancements to help you with productivity and porting.
  • Includes new and changed compiler options, compiler suboptions, and macros.
  • Introduces serviceability enhancements to help you diagnose runtime problems.
  • Provides additional debug support especially to help you debug optimized code.

XL C/C++ for z/VM, V1.3 brings a highly productive and powerful object-oriented development environment to z/VM programmers.

Back to topBack to top
Top rule
Key prerequisites
Bottom rule

z/VM V6.2, or later

Back to topBack to top
Top rule
Planned availability date
Bottom rule

December 2, 2011

Back to topBack to top
Top rule
Bottom rule

XL C/C++ for z/VM is a highly productive and powerful development environment for building C and C++ applications. This compiler is a critical element because more customer business applications, customer server applications, ISV applications, and IBM® middleware programs are now being written in both C and C++.

XL C/C++ for z/VM, V1R3 continues to provide additional functionality and enhancements.

Performance improvements

  • Additional optimization and tuning improvements are made for the compiler including inlining of additional destructors to avoid overhead of function calls. These changes can improve the performance of generated code without the need for changes to the source code.
  • Implicit RESTRICT support - 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.
  • Performance improvements to the Standard C++ Library particularly with global placement new operators and the implementation of vector template class.

Standards enhancements

  • The Standard C++ Library includes enhancements based on the ISO document ISO/IEC TR 19768-Technical Report on C++ Library Extension, for improved portability of source code from other platforms.
  • XL C/C++ for z/VM, V1.3 supports parts of the ISO/IEC TR 19768:2007, Technical Report on C++ Library Extensions. The XL C/C+ compiler also supports parts of the ISO/IEC JTC1/SC22/WG21 draft of a new C++ language standard, commonly referred to as C++0x. Features supported include Extended Friend Declarations, Extern Template, and Name Lookup in Template Base Class. Support of standards by the XL C/C++ compiler is intended to make it easier to port C++ code from other platforms to z/VM

Productivity and porting support

  • In XL C/C++ for z/VM, V1.3 functionality to address customer requirements includes Unicode Literal support. This 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®.
  • In XL C/C++ for z/VM, V1.3 the XL C/C++ compiler adds additional support for source code compatibility with the GNU Compiler Collection (GCC), including C support for the statement expression construct to allow 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.

New compiler options, compiler suboptions, and macros

  • New compiler options include:
    • SHOWMACROS, to display macro definitions for debugging complex macro expansions in application programs
    • SKIPSRC, for excluding source statements from the listing to improve readability of the compiler listings
  • XL C/C++ for z/VM, V1.3 introduces the following new compiler suboptions:
    • INFO(ALS)
    • KEYWORD(typeof)for C source code
    • TARGET(zOSV1R12)
  • XL C/C++ for z/VM, V1.3 introduces the following new macros:
    • __IBMCPP_C99_LONG_LONG (C++ only)
    • __IBMCPP_C99_PREPROCESSOR (C++ only)
    • __IBMCPP_DECLTYPE (C++ only)
    • __IBMCPP_STATIC_ASSERT (C++ only)
  • New pragma directives - XL C/C++ for z/VM, V1.3 introduces the new suboption zosv1r12_ansi to the option NAMEMANGLING and to the language construct #pragma namemangling. The linkage errors caused by any future changes in the mangling scheme can be resolved by recompiling the new modules using the same mangling scheme that was used in the already-compiled modules, zOSV1R12_ANSI.

Serviceability enhancements

  • The new Saved Option String feature 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 - XL C/C++ for z/VM, V1.3 adds support for the SEVERITY option, to allow 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 XL C/C++ 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.
  • Functions and parameters displayed for optimized code - 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.

Accessibility by people with disabilities

A US Section 508 Voluntary Product Accessibility Template (VPAT) containing details on accessibility compliance can be requested at

Back to topBack to top
Top rule
Product positioning
Bottom rule

XL C/C++ for z/VM is part of an IBM family of C and C++ compilers that supports all of the major platforms of IBM. It joins XL C/C++ for z/OS on zSeries®, XL C/C++ for AIX® on the pSeries®, XL C/C++ for Linux™ on the pSeries, ILE C/C++ for OS/400® on the iSeries®, and XL C/C++ Advanced Edition for Blue Gene/L™ and Blue Gene/P™ (IBM supercomputers). The code base for all of these compilers is the same making source-level portability among these platforms easier than ever before.

Back to topBack to top
Top rule
Hardware and software support services
Bottom rule

SmoothStart/installation services

IBM SmoothStart Services and Installation Services are not provided.

Back to topBack to top
Top rule
Program number
Bottom rule

Program                         Program
name                            number
XL C/C++ for z/VM, V1.3         5654-A22

Back to topBack to top
Top rule
Technical information
Bottom rule

Specified operating environment

Hardware requirements

XL C/C++ for z/VM V1.3 and its generated object code can be executed on any zSeries server supported by z/VM V6.2, or later. The C/C++ for z/VM compiler will only execute on z/VM V6.2, or later and can only be licensed to operate on standard processor engines.

Software requirements

Required licensed programs --z/VM V6.2, or later

Security, auditability, and control

The announced program uses the security and auditability features of the host operating system software. The customer is responsible for evaluation, selection, and implementation of security features, administrative procedures, and appropriate controls in application systems and communication facilities.

Back to topBack to top
Top rule
Ordering information
Bottom rule

Order VM SDO and VSE SIPO through the Internet

ShopzSeries provides an easy way to plan and order System z® software upgrades. This now includes VM and VSE. Using ShopzSeries, you can quickly generate orders for VM SDOs and VSE SIPOs. Additionally, ShopzSeries will ensure your order is technically correct (that is, ensures any co-req or pre-req or incompatibility conditions are resolved to ensure timely order placement and processing). ShopzSeries is available in the United States and several countries in Europe. In countries where ShopzSeries is not available yet, contact your IBM representative (or IBM Business Partner) to handle your order via the traditional IBM ordering process. For more details and availability, visit the ShopzSeries Website at

New licensees

Orders for new licenses can be placed now.

Registered customers can access IBMLink for ordering information and charges.

Shipment will begin on the planned availability date.

  • Orders that ship before the planned availability will receive XL C/C++ for z/VM, V1.2.
  • Orders that ship after the planned availability date will receive XL C/C++ for z/VM, V1.3.
  • The previous release, XL C/C++ for z/VM, V1.2, is therefore withdrawn from marketing and being replaced by XL C/C++ for z/VM, V1.3

New users of XL C/C++ for z/VM, V1.3 should specify: Type: 5654 Model: A22.

Note: XL C/C++ for z/VM, V1.3 may also be ordered using the z/VM V6.2 SDO packaged offering, program number (5741-A08), after November 28, 2011.

For additional information on IBM z/VM V6.2, refer to Software Announcement ZP11-0499, dated October 12, 2011.

For ordering information on IBM XL C/C++ for z/VM Version 1, refer to Software Announcement ZP03-0318, dated May 13, 2003.

Basic machine-readable material

In conjunction with the availability of XL C/C++ for z/VM, V1.3, the following tape media is now supported:

 Environment                   Supply ID       Distribution medium

 XL C/C++ for z/VM, V1.3       S0156G6         3590 tape cartridge
 XL C/C++ for z/VM, V1.3       S0156G7         3592 tape cartridge

A program directory and Licensed Program Specification are supplied automatically with the basic machine-readable material. No other hardcopy publications are shipped with the program.

Subsequent updates (technical newsletters or revisions between releases) to the publications shipped with the product will be distributed to the user of record for as long as a license for this software remains in effect. A separate publication order or subscription is not needed.

Global Technology Services

Contact your IBM representative for the list of selected services available in your country, either as standard or customized offerings for the efficient installation, implementation, and integration of this product.

Back to topBack to top
Top rule
Terms and conditions
Bottom rule

The terms for IBM XL C/C++ for z/VM, V1 licensed under the IBM Customer Agreement are unaffected by this announcement.

For additional information on IBM XL C/C++ for z/VM Version 1, refer to Software Announcement ZP03-0318, dated May 13, 2003.

Back to topBack to top
Top rule
IBM Electronic Services
Bottom rule

IBM has transformed its delivery of hardware and software support services to help you achieve higher system availability. Electronic Services is a Web-enabled solution that offers an exclusive, no-additional-charge enhancement to the service and support available for IBM servers. These services are designed to provide the opportunity for greater system availability with faster problem resolution and preemptive monitoring. Electronic Services comprises two separate, but complementary, elements: Electronic Services news page and Electronic Services Agent.

The Electronic Services news page is a single Internet entry point that replaces the multiple entry points traditionally used to access IBM Internet services and support. The news page enables you to gain easier access to IBM resources for assistance in resolving technical problems.

The Electronic Service Agent™ is no-additional-charge software that resides on your server. It monitors events and transmits system inventory information to IBM on a periodic, client-defined timetable. The Electronic Service Agent automatically reports hardware problems to IBM. Early knowledge about potential problems enables IBM to deliver proactive service that may result in higher system availability and performance. In addition, information collected through the Service Agent is made available to IBM service support representatives when they help answer your questions or diagnose problems. Installation and use of IBM Electronic Service Agent for problem reporting enables IBM to provide better support and service for your IBM server.

To learn how Electronic Services can work for you, visit

Back to topBack to top
Top rule
Bottom rule

The pricing information for XL C/C++ for z/VM V1, as previously announced in Software Announcement ZP03-0318, dated May 13, 2003, remains unaffected by this announcement.

Contact your IBM representative for information on the current prices for this program.

For all local charges, contact your IBM representative.

Back to topBack to top
Top rule
Announcement countries
Bottom rule

All European, Middle Eastern and African countries except Iran, Syria, and Sudan.


Blue Gene/L, Blue Gene/P and Electronic Service Agent are trademarks of IBM Corporation in the United States, other countries, or both.

z/VM, IBM, z/OS, zSeries, AIX, pSeries, OS/400, iSeries and System z are registered trademarks of IBM Corporation in the United States, other countries, or both.

Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both.

Other company, product, and service names may be trademarks or service marks of others.

Terms of use

IBM products and services which are announced and available in your country can be ordered under the applicable standard agreements, terms, conditions, and prices in effect at the time. IBM reserves the right to modify or withdraw this announcement at any time without notice. This announcement is provided for your information only. Reference to other products in this announcement does not necessarily imply those products are announced, or intend to be announced, in your country. Additional terms of use are located at:

For the most current information regarding IBM products, consult your IBM representative or reseller, or visit the IBM worldwide contacts page

Terms of use

Share this page

Digg Linked In

Contact IBM

Considering a purchase?