Software Product Description ___________________________________________________________________ PRODUCT NAME: HP C++ for OpenVMS SPD 70.57.09 DESCRIPTION This document addresses HP C++ Version 7.2 for OpenVMS on HP Integrity servers (I64) and Version 7.1 for OpenVMS Alpha Systems. HP C++ for OpenVMS is a native programming language product, which gen- erates highly optimized object code. HP C++ for OpenVMS is based on the ANSI/ISO C++ International Standard, reference designation num- ber ISO/IEC 14882:1998. In addition to this standard, C++ supports the ARM, GNU, and MS dialects. HP C++ for OpenVMS includes access to the following language libraries. Some of these components ship with the compiler kit, while others are shipped with the base OpenVMS operating system: o The C++ Standard Library, which is an implementation of the ANSI/ISO C++ Standard Library. Portions of this library are implemented us- ing source code licensed from and copyrighted by Rogue Wave Soft- ware, Inc. o The C++ Class Library, which is a set of headers and other files implementing a collection of basic C++ classes including the pre- ANSI IOSTREAMS classes. This library is provided to support soft- ware developers using HP C++ for OpenVMS in conjunction with pre- existing software that depends upon pre-ANSI library features. o The OpenVMS C Run-Time Library header files, reference manual, and library. These components allow programmers to access the rich func- tionality of the C Run-Time Library. May 2006 HP C++ for OpenVMS o Features to facilitate porting between HP C++ for OpenVMS and other implementations of the C++ language. The compiler allows you to choose from several C++ language dialects that have evolved over the past several years: - the MS dialect for maximizing compatibility with Microsoft's Vi- sual C++ product. - the GNU dialect for compatibility with the Open Source compil- ers. - the ARM dialect for compatibility with The Annotated C++ Ref- erence Manual by Ellis and Stroustrup. Using this dialect min- imizes the source changes necessary for applications that com- pile with C++ Version 5.6. - the ANSI dialect for developers who want to write applications that comply with the C++ International Standard. o CXXDEMANGLE, a tool to decode compiler-generated names, that en- ables other tools (besides the compiler and debugger) to present these decoded names to the user. o CXXLINK, a facility that lets you link your C++ application. Global names which are displayed by the linker utility are automatically demangled for readability. HP C++ for OpenVMS documentation provides comprehensive reference and usage information for all product components. Online help is provided with the software, and HTML documents are provided on the Layered Prod- ucts CD-ROM Library for the following manuals: o HP C++ User's Guide for OpenVMS Systems o HP C++ Installation Guides for OpenVMS Alpha and I64 o HP C++ Class Library Reference Manual HTML files are provided for the release notes and some of the prod- uct manuals, for use with a web browser. Hardcopy documentation is available by ordering the separate software documentation kit. 2 HP C++ for OpenVMS Features o Extensive error checking diagnostics o Automatic template instantiation compatible with older compilers for the OpenVMS Alpha platform. New ELF comdat based template in- stantiation model for the OpenVMS I64 platform. o Enhanced debugger support o Language mode and diagnostic message options increase compatibil- ity with earlier versions of the compiler as well as with other im- plementations of C++. o Fast compilation and increased code optimization by directly trans- lating C++ source programs to object files o Extensive global and local optimizations of generated code for in- creased performance o Option for running only the preprocessor phase of compilation o Pragmas to control compiler options o Pragmas to control extern models, sharing of data between concur- rent processes, and structure member alignment o Compiler-generated listing file, including optional: - Machine code - Macro expansion - Compilation statistics o Data types for numeric, nonnumeric, and systems programming, as fol- lows: - 8, 16, 32, and 64-bit [un]signed integers - 32, 64, and 128-bit IEEE floating point - 32 and 64-bit VAX floating-point 3 HP C++ for OpenVMS o Integration into the Program Development Environment: - Generation of debug and traceback records for symbolic debug- ger support - Conformance to the OpenVMS calling standard - Access to OpenVMS run-time libraries for general purpose rou- tines and support of multi-language environments - Access to the data management facilities of OpenVMS RMS (Record Management Services) - Ability to package C++ code as shareable libraries - Ability to use additional class libraries - Support for generation of source code analysis information that can be used by the HP Source Code Analyser (Alpha Only) - Support for generation of diagnostic information that can be used by the HP Language-Sensitive Editor Run-Time Library for C Applications The complete C Run-Time Library that is needed for use with HP C++ for OpenVMS is distributed with the OpenVMS operating system. The C Run- Time Library provides routines to perform input/output, character and string handling, mathematical computations, memory allocation, and em- ulation of selected UNIX features. These routines are provided both in shared image and object module library form. C++ Standard Library The C++ Standard Library is an implementation of the ANSI/ISO C++ Stan- dard Library. This library is comprised of a suite of header files and the run-time code needed to implement the string library, numeric lim- its, auto pointer, exceptions, complex math, and the STL (Standard Tem- plate Library). Portions of this library are implemented using source code licensed from and copyrighted by Rogue Wave Software, Inc. C++ Run-Time Support Library (OpenVMS I64) 4 HP C++ for OpenVMS The C++ Run-Time Support Library is distributed with the OpenVMS I64 operating system. This library provides support for language features such as RTTI, new and delete, exception support, and some parts of 128- bit IEEE floating point support. These routines are provided both in shared image and object module library form. C++ Class Library The C++ Class Library Run-Time components are distributed with the Open- VMS operating systems. The Class Library provides the following pack- ages: iostream, generic, mutex, objection, stopwatch, string, message and vector. These routines are provided both in shared image and ob- ject module library form. Run-Time Library Redistribution The HP C++ for OpenVMS kit may include Run-Time Library components in either shareable image or object library form. HP grants the user a nonexclusive royalty-free worldwide right to reproduce and distribute these Run-Time Libraries ("the RTLs") provided that the user: o distributes the RTLs only in conjunction with and as a part of the users's software application product, which is designed to oper- ate in the OpenVMS environment; o does not use HP's name, logo, or trademarks to market the user's software application product; o includes HP's copyright notice for HP C++ for OpenVMS on one of the following: a. the user's product disk label b. each copy of the application c. the title or copyright page of the documentation for the soft- ware application product o agrees to indemnify, hold harmless, and defend HP from and against any claims or lawsuits, including attorney's fees, that arise or result from the use or distribution of the software application prod- uct. Except as expressly provided herein, HP grants no implied or 5 HP C++ for OpenVMS express license under any of its patents, copyrights, trade secrets, trademarks, or any license or other proprietary interests and rights. See the Deploying Your Application chapter in the users guide. ALPHA HARDWARE REQUIREMENTS Processors Supported: Any Integrity system capable of running the OpenVMS Operating System Version 8.2 or 8.2-1, or any Alpha system capable of running the Open- VMS Alpha Operating System Version 7.3-2 or 8.2. Refer to the OpenVMS Software Product Description (SPD 82.35.xx) for details. Disk Space Requirements (Block Cluster Size = 1) Disk space required for 160,000 blocks (80 MB) compiler kit installa- tion: Disk space required for 150,000 blocks (75 MB) use (permanent): Disk space required for 80,000 blocks (40 MB) Debug kit installation: Disk space required for 16,000 blocks use (permanent): ( 8 MB) These counts refer to the disk space required on the system disk. The sizes are approximate; actual sizes may vary depending on the user's system environment, configuration, and software options. I64 HARDWARE REQUIREMENTS OpenVMS I64 supports the following Integrity Servers: - HP Integrity server rx2600 (2 sockets) - all speeds - HP Integrity server rx1600 (2 sockets) - all speeds - HP Integrity server rx4640 (4 sockets) - all speeds 6 HP C++ for OpenVMS Note: A socket is a receptacle for microprocessor modules. A single microprocessor module may contain one or more CPUs. Refer to the OpenVMS Software Product Description (SPD 82.35.xx) for details. Disk Space Requirements (Block Cluster Size = 1) Disk space required for ? blocks (? MB) compiler kit installa- tion: Disk space required for ? blocks (? MB) use (permanent): Disk space required for ? blocks (? MB) Debug kit installation: Disk space required for ? blocks use (permanent): ( ? MB) These counts refer to the disk space required on the system disk. The sizes are approximate; actual sizes may vary depending on the user's system environment, configuration, and software options. SOFTWARE REQUIREMENTS The following are software requirements: o HP C++ for OpenVMS Alpha requires OpenVMS Alpha Version 7.3-2 or 8.2. o HP C++ for OpenVMS I64 requires OpenVMS I64 Version 8.2 or 8.2-1. Note: A version update represents a complete distribution media replace- ment for the previous release of HP C++ for OpenVMS. To provide for proper operation with the new release of HP C++ for OpenVMS, product changes and functional enhancements in a version update may require the recompilation and relinking of all modules in an application built with a prior version. 7 HP C++ for OpenVMS SOFTWARE LICENSING A software license is required in order to use the HP C++ software prod- uct. For VAX and Alpha platforms, HP C++ is offered with Concurrent Use, Personal Use and Traditional 'capacity' licenses. For I64, it is offered with Concurrent Use licenses. Version update licenses are not available for the I64 platform. Rights to use future revisions of HP C++ are available only through a Support Agreement or through a new license purchase. For more information about OpenVMS license terms and policies, contact your local HP sales office, or refer to the Soft- ware Licensing site at: LICENSE MANAGEMENT FACILITY SUPPORT This layered product supports the OpenVMS License Management Facil- ity. License units for Alpha and VAX HP C++ are allocated on a Capacity Use, Personal Use, or Concurrent Use basis. License units for I64 HP C++ are allocated on a Concurrent Use basis. Each Personal Use license allows one identified individual to use the layered product. Each Concurrent Use license allows any one individ- ual at a time to use the layered product. For more information on the License Management Facility, refer to the OpenVMS Operating System Software Product Description or the License Management Facility manual of the OpenVMS documentation set. For more information about HP's licensing terms and policies, contact your lo- cal HP office. 8 HP C++ for OpenVMS CLUSTER ENVIRONMENT This layered product is fully supported when installed on any valid and licensed OpenVMS Cluster* configuration. The HARDWARE REQUIREMENTS section of this product's Software Product Description detail any spe- cial hardware required by this product. * OpenVMS Cluster configurations are fully described in the OpenVMS Cluster Software Product Description (29.78.xx) and include CI, Eth- ernet, and Mixed Interconnect configurations. OpenVMS TAILORING CLASSES The following OpenVMS classes are required for full functionality of this layered product: o OpenVMS Required Saveset o Programming Support o Utilities For more information on OpenVMS classes and tailoring, refer to the OpenVMS Operating System Software Product Description (SPD 82.35.xx). OPTIONAL SOFTWARE o HP DECset Release 12.7 for OpenVMS I64 and Alpha, which includes: - Language-Sensitive Editor/Source Code Analyzer (LSE/SCA) for Open- VMS Systems - Test Manager (DTM) for OpenVMS Systems - Performance and Coverage Analyzer (PCA) for OpenVMS Systems - Code Management System (CMS) for OpenVMS Systems - Module Management System (MMS) for OpenVMS Systems 9 HP C++ for OpenVMS The HP DECset product is available for both OpenVMS Alpha and Open- VMS I64, with similar capabilities. For more information on HP DEC- set Release 12.7 for OpenVMS Alpha and OpenVMS I64 Systems, refer to the Software Product Description (SPD 42.29.xx). GROWTH CONSIDERATIONS The minimum hardware and software requirements for any future version of this product may be different from the requirements for the cur- rent version. DISTRIBUTION MEDIA HP C++ for OpenVMS Alpha product is available on the OpenVMS Alpha Soft- ware Layered Products Library Package (QA-03XAA-H8). The library pack- age includes media and documentation on CD-ROM. The software documentation for C++ on OpenVMS Alpha is available as part of the OpenVMS Alpha Online Documentation CD-ROM Library (QA-4KM8A- G8). A hardcopy documentation set can be ordered separately (QA-0HQAA- GZ). HP C++ OpenVMS I64 ONLY: HP C++ for OpenVMS I64 is available on the Layered Products media within the Operating Environment package. The Layered Products media includes the product binaries and on-line documentation. An optional hardcopy documentation kit is also offered. SOFTWARE WARRANTY This software is provided by HP with a 90 day conformance warranty in accordance with the HP warranty terms applicable to the license pur- chase. 10 HP C++ for OpenVMS ORDERING INFORMATION When purchasing HP C++ both a license and media must be ordered. The license deliverable provides the LMF PAK required to run the HP C++ software. The VMS Operating System or Operating Environment (license and media) is a prerequisite to running HP C++. HP C++ for OpenVMS OpenVMS Alpha Software Licenses: Software Licenses: o Personal Use: QL-MJ1AA-2B o Concurrent Use: QL-MJ1AA-3* o Traditional/Capacity Use: QL-0HQA*-AA Software Update Licenses: o Personal Use: QL-MJ1AA-4B o Concurrent Use: QL-MJ1AA-5* o Traditional/Capacity Use: QL-0HQA*-RA Software Documentation (hardcopy): QA-0HQAA-GZ HP C++ for OpenVMS I64 ONLY: Software Licenses: Concurrent Use: BA349AC Software Media: Foundation Operating Media, BA322AA or Enterprise Operating Media, BA323AA or Mission Critical Media, BA324AA Software Documentation (Hard Copy): BA349MN An example of a new order for HP C++: Concurrent Use License - BA349AC Binaries: Operating Environment Media - BA32*A Hardcopy Documentation Kit (Optional) BA349MN 11 HP C++ for OpenVMS SW Updates Service: BA349AA must be included in the order. Media ser- vices are linked to this zero dollar part. For more information on the Operating Environments, please see the HP Operating Environments for OpenVMS I64 SPD: 82.34.** The "*" denotes variant fields. The ordering information is valid at the time of release. Please con- tact your local HP office for the most up-to-date information. SOFTWARE PRODUCT SERVICES A variety of service options are available from HP. For more infor- mation, contact your local HP office. TRADEMARK INFORMATION © 2006 Hewlett-Packard Development Company, L.P. Confidential computer software. Valid license from HP and/or its sub- sidiaries required for possession, use, or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Soft- ware Documentation, and Technical Data for Commercial use. The information contained herein is subject to change without notice. The only warranties for HP products and services are set forth in the express warranty statements accompanying such products and services. Nothing here in should be construed as constituting an additional war- ranty. HP shall not be liable for technical or editorial errors or omis- sions contained herein. 12