HP aC++/HP C A.06.28 Programmer's Guide Integrity servers (769150-001, March 2014)

Table 14 Changed Command-Line Options (continued)
DescriptionOption
P - patch tool, c++patch
r - Compile-time template processor, c++ptcomp
The following values for x are related to translator mode and template subprocesses and are not
supported in HP aC++.
-Wx,args
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 -g debugger option has changed. It now generates minimal information for
the debugger as does the -g1 option. This is the default.
The -g0 option replaces the -g option 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++