Table 14 Changed Command-Line Options (continued)

Option Description

P - patch tool, c++patch

r - Compile-time template processor, c++ptcomp

-Wx,argsThe following values for x are related to translator mode and template subprocesses and are not supported in HP aC++.

0 (zero) - C compiler

c - C compiler

i - Link-time template processor, c++ptlink

m - merge tool, c++merge

p - preprocessor

P - patch tool, c++patch

r - Compile-time template processor, c++ptcomp

Migration Considerations when Debugging

The HP/DDE Debugger supports HP aC++. The HP Symbolic Debugger, xdb, is not supported. Functionality of the -gdebugger option has changed. It now generates minimal information for the debugger as does the -g1option. This is the default.

The -g0option replaces the -goption and generates full debug information for the debugger.

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++