Australia - Updated: 24-SEP-2003
hp.com home products and services support and drivers solutions how to buy
» contact hp
hp.com home hp OpenVMS ECOs

IMPORTANT NOTICE

The online distribution of OpenVMS and related product patches is being migrated to the HP ITRC (Information Technology Resource Center) patch distribution site. The new ITRC patch server will allow OpenVMS customers to take advantage of many enhanced features for patch searching and distribution.

Beginning August 1, 2003, OpenVMS and related Layered Product, publicly available patches will be available from the HP ITRC web site at

http://itrc.hp.com/service/patch/mainPage.do

The same patches will still be available from the existing patch server in Colorado Springs (http://www.support.compaq.com/patches/) through the end of October 2003, to give customers sufficient time to update their bookmarks and make the transition to the HP ITRC web site.

ECO kits will also be available by raw FTP from (ftp://ftp.itrc.hp.com/).

PLEASE UPDATE YOUR BOOKMARKS AND REGISTER ON THE NEW SITE NOW

Note: if you're having trouble connecting to the ITRC site, please delete any cookies for "itrc.hp.com" from your browser and try again. Report any difficulties with or suggestions to MrVMS

» Sydney CSC home page

Navigation
» ECOinfo main index
» Search ECOs
» Search FTP site
» Browse FTP site

ECO Indexes
» Chronological Index
» Indexed by Version
» Indexed by Rating
» Alpha Indexed by Name
» VAX Indexed by Name
» On Hold List

Associated Links
» OpenVMS Home Page
» OpenVMS News
» DIA/WIS Web Service

Feedback
» mail to CSC
.
Sydney Customer Support Centre OpenVMS ECO information
    Updated: 24-SEP-2003 (Use your browsers' Reload button to ensure you're viewing the most recent version)

CXXAE02062 Compaq C++ V6.2 for OpenVMS Alpha ECO Summary

To obtain this kit please call the Customer Support Centre or use the FTP site

Search for this ECO kit and dependencies
Search the Compaq FTP web site this kit (exact match)
Search the Compaq FTP web site this or related ECOs

    
      
    Copyright (c) Compaq Computer Corporation 2000.  All rights reserved.
    
    Modification Date:  12-OCT-2000
    Modification Type:  Updated Kit:  Supersedes CXXAE01062
    
    PRODUCT:    Compaq C++ V6.2 for OpenVMS Alpha
    
    OP/SYS:     OpenVMS Alpha
    
    COMPONENT:  CXX$COMPILER
                CXX$DEMANGLE
                CXX$LINK
                CXX$COMPILER_MSG
                CXX$LINK_MSG
                LIBCXXSTD.OLB
    
    SOURCE:     Compaq Computer Corporation
    
    ECO INFORMATION:
    
         ECO Kit Name:  CXXAE02062
         ECO Kits Superseded by This ECO Kit:  CXXAE01062
         ECO Kit Approximate Size:  37,926 Blocks
         Kit Applies To:  Compaq C++ V6.2 for OpenVMS Alpha
                          OpenVMS Alpha V6.2 through V7.2-1
         System/Cluster Reboot Necessary:  No
         Rolling Re-boot Supported:  Information Not Available
         Installation Rating:  INSTALL_3
                               3 - To be installed on all systems running
                                   the listed versions of OpenVMS which
                                   are experiencing the problems described.
    
    
         Kit Dependencies:
    
           The following remedial kit(s) must be installed BEFORE
           installation of this kit:
    
             None
    
           In order to receive all the corrections listed in this
           kit, the following remedial kits should also be installed:
    
             None
    
    
    ECO KIT SUMMARY:
    
    An ECO kit exists for Compaq C++ V6.2 for OpenVMS Alpha on OpenVMS
    Alpha V6.2 through V7.2-1.  This kit addresses the following problems:
    
    Problems Addressed in CXXAE02062:
    
        Kit Installation Script
    
          o  The Compaq C++ kit installation procedure no longer
             overwrites Compaq C header files if those on the system
             were created later than those on the kit.
    
          o  The Compaq C header files (decc$rtldef.tlb) has been
             updated on this kit. These new headers define functionality
             which has been added to recent versions of OpenVMS as well
             as fix problems which were reported.
    
          o  The installation of the Compaq C components have been
             removed from the CCXX$STARTUP.COM command procedure. A
             comment was placed in the command procedure telling people
             of this change and referring them to the DECC$STARTUP.COM
             procedure.
    
    
        Compiler
    
          o  Attempts to restore pointer size using a pragma which
             differs from the pragma used to save the pointer size
             will now result in a diagnostic. Prior to this change,
             the compiler would take a memory access violation.
    
          o  When one attempts to compile code which includes an
             explicit reference to an implicitly declared special member
             function, the compiler complains 'class "A" has no member
             "operator="'. The standard clearly states that all classes
             have copy assignment operators, so the compiler now creates
             an implicit declaration for the copy assignment operator if
             no user-declared copy assignment operator exists.
    
          o  The compiler was incorrectly generating diagnostics for
             unreachable code which had been created by the compiler
             to deal with calling destructors shall an exception be
             thrown. The compiler no longer generates these warnings for
             compiler generated code.
    
          o  Assigning the address of a NULL pointer to a variable was
             causing the compiler to issue integrity checks. This is now
             handled correctly.
    
          o  A problem was corrected in the information written to an
             object module compiled using /debug to allow the debugger
             to locate the source files of template instantiations.
    
          o  The compiler was micalculating the size of multidimensional
             arrays in our exception handling support. Destructors
             called for these array elements were being given an
             incorrect offset and would sometimes access beyond its
             array boundary.
    
          o  A problem has been fixed where using the += operator on
             a variable pointed to by a char** member variable now
             operates correctly. There were cases which caused an extra
             increment operation to occur.
    
          o  Static arrays within inline member functions with an
             initializer list containing both constant and non-
             constant initializers were not initialized correctly. Array
             elements initialized by constant initializers were instead
             initialized to 0. The compiler now initializes all array
             elements correctly.
    
          o  The compiler no longer generates a GEM_ASSERTION when
             generating a listing for a file containing a #pragma module
             statement.
    
          o  The macro __VMS_VER is no longer defined when the compiler
             cannot parse the version string of the underlying OpenVMS
             operating system. Prior to this change it was defined as
             zero.
    
    
        Standard Library
    
          o  The run-time exception library no longer creates a new
             lock on each call to the cxxl$set_condition function. It
             now properly converts a single lock to and from exclusive
             access mode.
    
          o  Compaq C++ version 6.2 had a bug in the string extraction
             operator that caused it to eat the extra space at the end
             of the string:
    
                    ifstream inFile("input.dat"); // input.dat contains "abc de"
                    inFile >> word; // read "abc"
                    inFile.get(ch1); // ch1 should be space, was 'd'
    
             This problem has been fixed.
    
          o  The basic_string reference count used to be protected by a
             mutex, which called thread locking and unlocking routines
             to ensure thread safety. The implementation was changed
             to instead use atomic builtins (see Appendix B of the C++
             Using Guide), which should improve the performance of this
             class in multithreaded applications.
    
          o  The basic_string::find_first_not_of(charT, size_type)
             function did not work correctly if the string contained
             embedded nulls. This has been corrected in this release.
    
          o  If you compiled your program in strict_ansi mode and used
             the basic_fstream class, run-time access violations could
             happen. This is fixed in this release.
    
          o  The V6.2 version of standard iostreams and locales had a
             bug which prevented them from being multi-thread safe. This
             has been fixed.
    
          o  The standard library vector class did not allocate space
             for elements greater than 1024 bytes correctly, which could
             lead to runtime core dumps. This has been fixed.
    
          o  A fix was added to the tree data structure (which sets and
             maps use) which will decrease the amount of space allocated
             for small element size containers.
    
          o  In V6.2, basic_ostream::flush()  would not always flush the
             buffer if the type of the stream was an fstream. This has
             been fixed.
    
          o  The standard library headers no longer include pthread.h or
             tis.h. This allows them to be used in conjunction with the
             macro _PTHREAD_USE_D4 (DECthreads POSIX 1003.4a/Draft 4 (or
             d4) interface).
    
    
    Problems Addressed in CXXAE01062:
    
        Compiler
    
          o  The compiler now generates code that reports a static
             data member as an undefined symbol at link time if the
             data member is referenced but not defined.
    
          o  The new cxxlink design implemented in Version 6.2 to
             use .olbs instead of objects is not a general solution.
             The default behavior of cxxlink was changed back to
             using objects (/prelink=use_object_files) and the
             switch /prelink=use_olb was added to obtain the new
             mechanism. The new mechanism was simplified for better
             performance. No attempt is made to try alternative link
             methods if the link fails; the default link must be
             used.
    
          o  Names in the C++ standard library are now prefixed
             with CXXL$ as a facility prefix. This change allows
             /names=as_is to work because the prefixed names are
             always in uppercase.
    
          o  In the C++ Version 6.1 compiler, some objects might
             have their exception unwinding information set to a
             negative index in the cleanup table. This condition
             generates the following message:
    
             Unexpected dtor_block_tag in do_dtor_cleanup
    
       Standard Library
    
          o  In versions 6.2 and earlier, a problem in the
             assignment operator for the class raw_storage_iterator
             could cause a run-time seg fault if, for example, you
             called the algorithm stable_sort() more than once with
             the same container. The problem has been corrected.
    
          o  In version 6.2, two of the basic_string::compare()
             member funrtions were throwing an exception if the
             length of the second string was longer than the length
             of the current string. This has been fixed so that
             they throw an exception only if the position the user
             specifies within the second string is greater than the
             length of the second string.
    
          o  A problem in the basic_string::resize() member function
             in Version 6.2 has been corrected. The incorrect
             behaveior was that if two strings pointed at the
             same underlying char*, and the resize() function was
             called on one of them, and if you then you changed the
             underlying string for one string, the value for the
             other strings value would also be changed.
    
          o  A problem in the basic_string assignment operator
             prevented strings containing embedded nulls from being
             copied correctly. The problem has been corrected.
    
    
    RELATED ARTICLES:
    
    Detailed articles describing the problems listed above may exist in
    the OPENVMS database.  To view these articles, open the appropriate
    product database and perform a query using either of the following
    search strings: 'CXXAE02062' or 'CXX'.
    
    
    ECO KIT ORDERING INSTRUCTIONS:
    
    If after an evaluation you wish to obtain this kit, request it
    electronically using the appropriate Advanced Electronic Services
    (AES) Service Tool.  If you are not familiar with how to request
    kits electronically, open the DIA, WIS or DSNLINK database and
    review the article entitled:
    
         [AES] How To Electronically Request ECO Kits Using Service Tools
    
    
    INSTALLATION NOTES:
    
    The system does not need to be rebooted after this kit is installed.
    However, if the system is a member of a VMScluster, the other cluster
    members should be rebooted or this kit should be installed on each
    system in order to make use of the new image(s).
      
      ==========================================================================
      |                     Table of Kit Image Information                     |
      +----------------------------+----------+-----------------+--------------+
      |                            | Overall  | Image File      | Image Link   |
      | Image Name                 | Checksum | Identification  | Date/Time    |
      +----------------------------+----------+-----------------+--------------+
      | COMPARE_TIMES.EXE          | 03C6B3B2 | V1.0            |  1-MAR-1995  |
      |                                       |                 | 15:24:15.94  |
      +----------------------------+----------+-----------------+--------------+
      | EXXALPHAVMS.EXE            | 7B631756 | CXX V6.2-048    | 29-SEP-2000  |
      |                                       |                 | 14:39:08.45  |
      +----------------------------+----------+-----------------+--------------+
      | CXX$COMPILER_MSG.EXE       | 18CB5D88 | CXX V6.2-048    | 29-SEP-2000  |
      |                                       |                 | 14:26:58.66  |
      +----------------------------+----------+-----------------+--------------+
      | CXX$DEMANGLE.EXE           | FBEBD3FF | CXX V6.2-048    | 29-SEP-2000  |
      |                                       |                 | 14:25:50.18  |
      +----------------------------+----------+-----------------+--------------+
      | CXX$LINK.EXE               | 0C2B0706 | CXX V6.2-048    | 29-SEP-2000  |
      |                                       |                 | 14:25:47.49  |
      +----------------------------+----------+-----------------+--------------+
      | CXX$LINK_MSG.EXE           | 38C5B66C | CXX V6.2-048    | 29-SEP-2000  |
      |                                       |                 | 14:25:35.80  |
      +----------------------------+----------+-----------------+--------------+
      | LIBEXT.EXE                 | 553F2DD0 | V1.0            |  1-DEC-1998  |
      |                                       |                 | 21:24:27.87  |
      +----------------------------+----------+-----------------+--------------+
    
    
    All trademarks are the property of their respective owners.
    
privacy statement using this site means you accept its terms feedback to the webmaster
VMS rules VMS rocks OpenVMS rules OpenVMS rocks