This FixPak is provided as a set of files.  To install this FixPak
perform the following steps :

(1) Make sure you are currently in the directory into which the fixpak
    was unzipped. It should contain either the file "SERVICE.EXE",
    or the file "SERVICE.BAT"

(2) Issue the following command :

      SERVICE

    The FixPak may be installed to any disk accessible to your system.
    The service program itself must run on Windows NT 3.51 or higher,
    or Windows 95.

------------------------------------------------------------------------

The following conditions must exist for FixPak installation to be
successful:

 (1) The product installed must  NOT  be the IBM VisualAge C++ for Windows
     DEMO 60 days Try-Buy Product.

 (2) No IBM VisualAge C++ for Windows tools can be open in any session
     when you install the FixPak.

 (3) The FixPak level must be equal to or greater than the previously
     installed level (if any). Note that FixPaks are cumulative.

 (4) If you are installing the FixPak onto an installed version of the product,
     at least one component that the FixPak addresses must have been installed
     using a "Typical" install. Service will only be applied to components
     installed using a "Typical" install.

------------------------------------------------------------------------

Updating Browser Database (PDL) Files
=====================================

A) Why do I need to update my Browser database files?

  The Browser provides database files (.PDL files) for the VisualAge for
  C++ class libraries.  By using the Load and Merge cascade menus from
  the File menu in the Browser, you can load this information, or merge
  it with information from your own programs.

  When the VisualAge components issue new FixPaks, a change may occur in
  the contents or the date and time stamps of some of the header files.
  If this occurs, the Browser may display some incorrect information,
  or identify that some files are out-of-date or incompatible.
  This indicates that you need to update the Browser database files.

  You should also recreate any .PDB, .PDL, .PDD, and .PDL files that
  you have.

B) When do I update my Browser database files?

  The Browser has the following database files:

    User Interface Classes      - userintf.pdl
    Collection Classes          - collectn.pdl
    I/O Stream Classes          - iostream.pdl
    Complex Math Classes        - complex.pdl
    Database Access Classes     - database.pdl
    Application Support Classes - applsupp.pdl
    OLE Framework Classes       - oleframe.pdl

  The information in the above files can be affected by FixPaks from the
  following components:
    - Compiler
    - IOC Class Libraries
    - Visual Builder
    - Data Access Builder

  After installing the FixPaks for the above components, then
  you can update the Browser database files.

C) How do I update my Browser database files?

   If you have a complete install version of VisualAge for C++ on your
   machine, then change to the INCLUDE directory, and enter:
     nmake -f ibrspdl.mak

   Make sure the CPPMAIN environment variable is pointing to the product
   install directory (and where the INCLUDE directory is located).
   Make sure the INCLUDE environment variable includes
   the location where the VisualAge for C++ include files are installed.

   If you get your PDL and header files from the INCLUDE directory
   on a LAN, then ask the person who installed the FixPak to run the
   ibrspdl.mak makefile.

   The following files (located in the INCLUDE directory) are used to
   rebuild the Browser database files:

    - ibrspdl.mak
    - brsfound.exe
    - ui1.cpp
    - ui2.cpp
    - ui3.cpp
    - cc1.cpp
    - cc2.cpp
    - cc3.cpp
    - cc4.cpp
    - cc5.cpp
    - cc6.cpp
    - iostream.cpp
    - complex.cpp
    - database.cpp
    - applsupp.cpp
    - oleframe.cpp


Performance Analyzer
====================

1. After installing this FixPak, you should re-link your applications
   with the new CPPWPA3.OBJ.


2. Two problems documented in the original README.TXT file have
   been fixed.

   The items were described in the 7th and 8th bullets under
   "2.13.2 Restrictions and Known Problems."  These bullets said:

     If your EXE is not in the current directory or in a directory
     specified by the PATH environment variable, and it uses a DLL
     that is in the current directory, then the Performance Analyzer
     cannot load the program.  Instead the operating system displays
     an error message stating "Unable to locate DLL".  The error message
     shows the path that the operating system searched, which includes
     the current directory.

                          and

     If your DLL is not in the current directory or in a directory
     specified by the PATH environment variable, the functions in your
     DLL will be traced; however, they will not be resolved.  In the
     trace file, they will appear as addresses instead of names.

3. The following errors may occur when using Windows 95 with a small
   virtual memory size:

     a) you get the following message:

          24100I: /Ti, /Gh or /De not used or CPPWPA3.OBJ
          not linked into preloaded DLLs and EXEs.  Possible load
          on call DLLs.

        even though you compiled and linked your program with all of
        the required options.

     b) you get a message saying "Internal error 1E"

     c) you get messages about page faults

   If any of these conditions occur, you should increase the size of
   your virtual memory.  To change your virtual memory under Windows 95:

     -- click on the Start button
     -- click on Settings
     -- click on Control Panel
     -- double-click on the System icon
     -- click on the Performance tab
     -- click on Virtual Memory...
     -- click on "Let me specify my own virtual memory settings"
     -- select a hard drive that has at least 40MB of free space
     -- select at least 40MB as the minimum space
     -- click on OK




Debugger
=========

The disassembler used in the debugger has been updated.  These
changes affect the following areas:
  1. It fixes some defects in the stepping algorithms of the debugger
     that manifested themselves as "debuggee ran to completion when
     stepping".
  2. The disassembler will now correctly disassemble Pentium and Pentium
     Pro specific instructions.
  3. The disassembler will now correctly disassemble MMX instructions;
     the debugger does not support displaying the MMX registers.
  4. Argument sizes are now included in the disassembled code line.
     This makes looking at NPX instructions somewhat easier.
  5. The debugger now recognizes that the Intel opcode 0x82 is actually
     unassigned, even though current Intel processors treat opcodes 0x80
     and 0x82 as identical.  The disassembler will distinguish between
     the two by following the mnemonics for the 0x82 opcodes with two
     question marks.
