Table 14 Changed
Option Description
•P - patch tool, c++patch
•r -
•0 (zero) - C compiler
•c - C compiler
•i -
•m - merge tool, c++merge
•p - preprocessor
•P - patch tool, c++patch
•r -
Migration Considerations when Debugging
The HP/DDE Debugger supports HP aC++. The HP Symbolic Debugger, xdb, is not supported. Functionality of the
The
See “Debugging Options” (page 35) for complete information.
Migration Considerations when Using Exception Handling
When migrating exception handling code, the following characteristics of HP aC++ differ from those of HP C++ (cfront):
•“Exception Handling is the Default” (page 202)
•“Memory Allocation Failure and operator new” (page 203)
•“Possible Differences when Exiting a Signal Handler” (page 203)
•“Differences in setjmp/longjmp Behavior” (page 204)
•“Calling unexpected” (page 204)
•“Unreachable catch Clauses” (page 205)
•“Throwing an Object having an Ambiguous Base Class” (page 205)
Exception Handling is the Default
In HP aC++ exception handling is enabled by default. Use the +noeh option to disable exception handling.
NOTE: With exception handling disabled, the keywords throw and try generate a compiler error. The HP C++ (cfront) compiler, behaves differently; the default is exception handling off. To turn it on, you must use the +eh option.
If your executable throws no exceptions, object files compiled with and without the +noeh option can be mixed freely. However, in an executable that throws exceptions (HP aC++ runtime libraries throw exceptions), you must be certain that no exception is thrown in your application which will unwind through a function compiled without the exception handling option turned on.
In order to prevent this, the call graph for the program must never have calls from functions compiled without exception handling to functions compiled with exception handling (either direct calls or
202 Migrating from HP C++ (cfront) to HP aC++