IBM® Rational® Rose® 2003.06.15 Hot Fix 1 Release Notes
August 2005

© Copyright IBM Corporation. 1992-2005. All Rights Reserved.
Any reproduction or distribution of this work is expressly prohibited without the prior written consent of IBM Rational.
Legal Notices Information

Scope
This Hot Fix updates Rose C++ and Core Rose.
Hardware/Software Information
Hardware / Software requirements for this Hot Fix are the same as those described in the installation Guide for Suites v2003.06.00.
Getting Started
In addition to the instructions provided in the "Getting Started" section of the Rose 2003.06.00 Release Notes, please review the following information new in this Hot Fix for Rose 2003.06.15.
Installation Information
Prerequisite
Licensing
No licensing changes are required when installing this Hot Fix.
Installation Instructions
Note:  [Release_Location] is the Rational Products installation directory.  This is typically "C:\Program Files\Rational".
1.	Rose Fix Pack 1 or Rose V2003.06.15 must be installed prior to installing this Hot Fix.
2.	Backup (rename) the files “Files Updated in this Hot Fix” (if they exist).
3.	Place the following file in a temporary directory: 
o	Rose_2003r5_HotFix1_Rose_CPP_08.08.2005.exe
4.	Run  Rose_2003r5_HotFix1_Rose_CPP_08.08.2005.exe
Product Documentation
Documentation for Rational Rose is available on-line at http://www-306.ibm.com/software/awdtools/rose/enterprise/support/index.html
Compatibility Issues
This section describes any compatibility issues that could arise from use of this Hot Fix.
With Rational Products
This Hot Fix does not introduce any compatibility issues with other IBM Rational products.
With Third-Party Products
This Hot Fix does not introduce any known compatibility issues with third-party products.
Defects and Changes
Rose C++ Defect Fixed in this Hot Fix
Defect	Description	
RATLC01090058 / PK08674	Rose C++ may generate incorrect code for unsigned attributes.  
They may appear as long unsigned, char unsigned instead of the correct format:  unsigned long, unsigned char.  Code will generate, but format incorrect.	
RATLC01090059 / PK08673	Rose C++ will generate incorrect code for an operation with a templated type.

The incorrectly generated code may appear as:        
                                                                
//## Other Operations (implementation)                          
 long> <unsigned UserSetting &                                  
YY::getXXX()                         
{                                                               
  //## begin                                                    
YY::getXXX%3A64584600D8.body          
preserve=yes                                                    
  //## end                                                      
YY::getXXX%3A64584600D8.body          
}                                                               
                                                                
The correct code should be:                         
                                                                
//## Other Operations (implementation)                          
UserSetting <unsigned long> &                                   
YY::getXXX ()                         
{                                                               
  //## begin                                                    
YY::getXXX%3A64584600D8.body          
preserve=yes                                                    
  //## end                                                      
YY::getXXX%3A64584600D8.body          
}	
RATLC01090080 / IC46773	Rose C++ may add package name as namespace causing failure to generate code.

When attempting to generate C++ code for classes within packages, if the attribute type is set as a complex type (i.e. enum, class, typedef, etc.) – Rose C++ will treat the package names as namespaces even though it is not a namespace or a class, incorrectly appending the package name in the generated code.	
RATLC01090107 / IC46781	Rose C++ will not generate implementation code for abstract destructor.

Important Note:  In order to fix this issue a new Rose C++ property, “GenerateAbstractDestructorBody” is added for a class.  This property must be set to “True” for the body of the abstract destructor to be generated.

To Add this New Property in Models created prior to V2003.06.15 Hot Fix 1:

1.	Select Tools > Model Properties > Update and specify [Release_Location]\Rose\c++\rosecpp.pty as the FileName.
2.	Select Open	
Files Updated or Added by this Hot Fix
[Release_Location]\Rose\rose.exe
[Release_Location]\Rose\c++\rosecpp.cx
[Release_Location]\Rose\c++\rosecpp.pty

Note:  
[Release_Location] is the Rational Products installation directory.  This is typically "C:\Program Files\Rational".
Contacting IBM Rational Customer Support
Contacting Rational Customer Support The IBM software support Internet site provides you with self-help resources and electronic problem submission. The IBM Software Support homepage can be found at www.ibm.com/software/support. 
Voice Support is available to all current contract holders via a telephone number in your country (where available). For specific country phone numbers, please refer to the IBM Software Support Handbook, Appendix B: Contact Information, found at www.ibm.com/software/support.