EXH | NOEXH (C++ only)
Category
Object code control
Pragma equivalent
None.
Purpose
Controls whether C++ exception handling is enabled in the module being compiled.
When the EXH option is in effect, you can control the generation of C++ exception handling code.
When the NOEXH option is in effect, the generation of the exception handling code is suppressed, which results in code that runs faster, but it will not be ANSI-compliant if the program uses exception handling.
Syntax
Defaults
EXH
Usage
If you compile a source file with NOEXH, active objects on the stack are not destroyed if the stack collapses in an abnormal fashion. For example, if a C++ object is thrown, or a Language Environment® exception or signal is raised, objects on the stack will not have their destructors run.
If NOEXH has been specified and the source file has try/catch blocks or throws objects, the program may not execute as expected.
In -q syntax, use -qeh when you specify this option.
IPA effects
The IPA link step issues a diagnostic message if you specify the EXH option for that step.
Predefined macros
_CPPUNWIND is predefined to 1 when the EXH option is in effect; otherwise it is undefined.