You can edit almost every page by Creating an account. Otherwise, see the FAQ.

IBM z/OS XL C/C++ compilers

From EverybodyWiki Bios & Wiki




Introduction[edit]

The IBM® z/OS® XL C/C++ is an optional priced feature of IBM z/OS[1], providing support for C and C++ application development on the z/OS platform. z/OS XL C/C++ includes a C compiler [2], a C++ compiler (referred to as the z/OS XL C++ compiler), and a set of utilities for C/C++ application development. z/OS XL C/C++ is a member of the IBM XL C/C++ Compilers[3] family.

History[edit]

The current IBM Z mainframe[4] has a long history that started in mid-1960s with a number of compilers that enable developing mainframe applications. The first IBM z/OS C compiler was introduced in late 1980s followed by the z/OS XL C/C++ compiler.

Key features[edit]

The z/OS XL C/C++ compilers delivers the following key features.

  • Exploitation of z/Architecture

The z/OS XL C/C++ compiler exploits IBM Z [5] servers through directives [6], pragmas [7], source-level built-in functions [8] [9], and performance-tuned libraries.

  • Optimization technology

The z/OS XL C/C++ compiler provides multiple optimization levels of increasingly aggressive code transformations. It also provides many compiler options to tailor the optimization process for C/C++ applications. The key optimization techniques include: high-order transformation (HOT) loop optimization [10], interprocedural analysis (IPA) optimization [11], and profile-directed feedback (PDF) [12] optimization.

HOT optimizer is a specialized loop transformation optimizer, which enables the compiler to request high-order transformations on loops and generates more highly optimized code. IPA optimizer focuses on whole program analysis and optimization during the link step, rather than on a file-by-file basis. PDF collects information about your program as you run it with typical input data and uses this information to instruct the optimizer to focus on trade-offs that favor code that executes more frequently.

  • System programming capabilities provided by Metal C

Provides the XL C METAL option to support system programming on z/OS®. The METAL option generates code that does not require access to the Language Environment®[13] support at run time. The METAL option provides C-language extensions that allow you to specify assembly statements [14] that call system services directly. Metal C can also be used to write programs to run in the CICS Transaction Server for z/OS [15], particularly in situations where you would otherwise code directly using assembler.

  • Libraries for high-performance mathematical computing

The z/OS XL C/C++ compiler is shipped with a set of Mathematical Acceleration Subsystem (MASS)[16] libraries and Automatically Tuned Linear Algebra Software (ATLAS) [17] libraries for high-performance mathematical computing. In addition, the compiler provides vector programming support for programmers to make use of the Vector Facility for z/Architecture for both of these libraries.

  • Standards compliance and GNU C/C++ compatibility

The z/OS XL C/C++ compiler is compliant to the language standard of C89, C99 [18], C++98, C++03 [19]. The compiler also supports selected features of the C11 and C++11 standard. The z/OS XL C/C++ compiler is also compatible with GNU C/C++ [20], which allows the migration of applications built with GNU C/C++ to z/OS.

  • Cross platform compatibility

The z/OS XL C/C++ compiler shares optimization components with IBM XL C/C++ for AIX® [21] and XL C/C++ for Linux [22] compilers, allowing for shared enhancements and porting C/C++ applications between compilers on different platforms.

Releases[edit]

  • z/OS XL C/C++ V2.3 (September 2017)
  • z/OS XL C/C++ V2.2 (September 2015)
  • z/OS XL C/C++ V2.1.1 (February 2015)
  • z/OS XL C/C++ V2.1 (September 2013)
  • z/OS XL C/C++ V1.13 (September 2011)

Related links[edit]

References[edit]

  1. "IBM z/OS".
  2. Compiler
  3. "IBM XL C and C++ compilers family".
  4. IBM mainframe
  5. IBM System z
  6. "Preprocessor directives".
  7. "z/OS XL C/C++ pragmas".
  8. "Using hardware built-in functions".
  9. "Vector built-in functions".
  10. "High-order transformations".
  11. "Interprocedural analysis (IPA) optimization".
  12. "Profile-directed feedback (PDF)".
  13. "Language Environment".
  14. Assembly language
  15. "CICS Transaction Server for z/OS".
  16. "Mathematical Acceleration Subsystem (MASS)".
  17. "Automatically Tuned Linear Algebra Software (ATLAS)".
  18. C (programming language)
  19. "News, Status & Discussion about Standard C++".
  20. "GCC, the GNU Compiler Collection".
  21. "IBM XL C/C++ for AIX".
  22. "IBM XL C/C++ for Linux".

IBM z/OS XL C/C++ compilers[edit]

Review request for the revision for IBM z/OS XL C/C++[edit]

Hi reviewers, I have updated the draft according to the review comment by adding more reliable resources. Please review and approve this draft. Thanks.


This article "IBM z/OS XL C/C++ compilers" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:IBM z/OS XL C/C++ compilers. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.