What are the various performance and usability enhancements for z/OS V1R13 XL C/C++?
IBM z/OS XL C/C++ compiler delivers various performance and usability enhancements for the z/OS V1R13 release, which are briefly described below. You can get details on these feature and all other aspects of the compiler in the relevant compiler documentation.
- The following enhancements are available in the z/OS V1R13 XL C/C++ September 2012 PTF:
- New ARCH(10) option to enable functions for programs running on zEnterprise EC12 System servers, including support for the execution-hint facility, the load-and-trap facility, the miscellaneous-instruction-extension facility, and the transactional-execution facility.
- New TUNE(10) option, to generate code that is optimized for zEnterprise EC12.
- New hardware built-in functions to support transaction execution for zEnterprise EC12. The following new built-in functions have been added to mark the beginning and end of transactions, and to diagnose the reasons for failure.
- For Metal C, new support is provided for:
- IPA and HOT options, which provide inter procedural analysis and high-order loop analysis and transformations during optimization
- Function property blocks to help you identify the C functions and their associated properties when code scanning or dump reading
- A DSAUSER option you can use to request that a field the size of a pointer be reserved on the stack
- An ARGPARSE option for automatic parsing of entry point options
- The qsort() function, which allows an array to be sorted using a function you supply, and is intended to relieve Metal C programmers from having to write sort routines with similar capabilities.
- New ARCH(9) functions for programs running on zEnterprise System servers, including support for the interlocked storage access instructions, and for Multiply and Add in hexadecimal floating-mode with a new combination of FLOAT(MAF) and FLOAT(HEX) options.
- Informational messages, FLAG(I), is now the default in z/OS UNIX System Services for consistency with batch compilations
- TEMPLATEDEPTH option for C++ for increased template control, to specify the maximum number of recursively instantiated template specializations to be processed by the compiler
- Additional source and binary compatibility support, including:
- New C++0x function, trailing return type, whereby the compiler deduces the type of an auto variable from the type of its initializer expression
- Debugging enhancements:
- In prior releases, the z/OS dbx debugger for C/C++ programs requires that the compiler insert Execute (EX) instructions (called hooks) so that the debugger can gain control during program execution to display information about the program and the data it processes. In z/OS V1.13, dbx provides support for debugging programs compiled without hooks, in addition to those compiled with hooks. This support is intended to allow you to debug programs whose sizes and performance characteristics are more closely aligned with production programs. For more information about dbx commands, see the UNIX System Services Command Reference.
- New debugging APIs for easier access to debug information in .mdbg and .dbg files
- Debug information for inline procedures, ability to set entry breakpoints at all inline instance
z/OS V1R13 XL C/C++ includes these performance and usability enhancements: