February 20, 2008 This readme file contains the latest information about the "C/C++ without Debug Tool" optional feature of z/OS V1R9 that was not previously available for our documentation. 1. The following information relates to Chapter 13 of the z/OS V1R9 XL C/C++ User's Guide in "Creating an object library under z/OS batch": The EDCLIB cataloged procedure is located in the CEE.SCEEPROC data set. The EDCCLIB cataloged procedure is located in the CBC.SCCNPRC data set. ======================================================================== 2. The following information relates to Chapter 4 of the z/OS V1R9 XL C/C++ Language Reference in "The _Packed qualifier (C only)": The following note is incorrect and should be ignored: Note: The compiler aligns pointers on their natural boundaries, 4 bytes, even in packed structures and unions. The correct information is: When the _Packed qualifier is used, the compiler removes padding between members of structures or unions, regardless of the member type. ======================================================================== 3. The following information relates to Chapter 18 of the z/OS V1R9 XL C/C++ Language Reference in "The #pragma map directive": The following information is for C++ only: #pragma map will look at the declarations prior to it and if satisfied will map the declaration. If it is not satisfied, it will check all declarations at the end of the compilation to see if it can find a match. ======================================================================== 4. The following information relates to the C++ template example in Chapter 3 of the z/OS V1R9 XL C/C++ User's Guide: The C++ template example file is named CLB3ATMP.CPP and not CLB3ATMP.CXX. CLB3ATMP.CPP resides in the /usr/lpp/cbclib/sample/ directory. ======================================================================== 5. The following message is missing from the z/OS V1R9 XL C/C++ Messages guide: CCN4103 __VA_ARGS__ can only be used in the replacement list of a function-like macro with a variable argument list. Explanation: The identifier __VA_ARGS__ can only occur in the replacement list part of a C99 function-like macro that uses the ellipsis notation in the parameter list. User Response: Remove the __VA_ARGS__ identifier. ======================================================================== 6. The following information applies to the ARCHITECTURE compiler option description in Chapter 4 of the z/OS V1R9 XL C/C++ User's Guide: ARCH(7) machines also add instructions supported by the decimal floating-point facility, which are generated if the DFP compiler option is specified and there are decimal floating-point data types in the source code. ARCH(8) produces code that uses instructions available on the 2097-xxx models (IBM System z10 EC) in z/Architecture mode. Specifically, these ARCH(8) machines and their follow-ons add instructions supported by the general instruction extensions facility, which may be exploited by the compiler. Also, these machines add instructions supported by the decimal floating-point facility, which are generated if the DFP compiler option is specified and there are decimal floating-point data types in the source code. For further information on these facilities, refer to z/Architecture Principles of Operation. ======================================================================== 7. The following information applies to the TUNE compiler option description in Chapter 4 of the z/OS V1R9 XL C/C++ User's Guide: TUNE(8) generates code that is executable on all models, but is optimized for the 2097-xxx (IBM System z10) models.