|
|||||||||||
|
Technical Support On-Line Manuals Compiler User Guide |
C++ exception handling in ARM C++
10.11 C++ exception handling in ARM C++The ARM compilation tools fully support C++ exception handling. However, the compiler does not support this by default. You must enable C++ exception handling with the NoteThe Rogue Wave Standard C++ Library is provided with C++ exceptions
enabled.
You can exercise limited control over exception table generation.
Function unwinding at runtimeBy default, functions compiled with
--exceptions can
be unwound at runtime. Function unwinding includes
destroying C++ automatic variables, and restoring register values
saved in the stack frame. Function unwinding is implemented by emitting
an exception table describing the operations to be performed.You can enable or disable unwinding for specific functions
with the pragmas
#pragma exceptions_unwind and #pragma
no_exceptions_unwind. The --exceptions_unwind option
sets the initial value of this pragma.Disabling function unwinding for a function has the following
effects:
Therefore,
#pragma no_exceptions_unwind lets
you forcibly prevent unwinding in a way that requires no additional
source decoration.By contrast, in C++ an empty function exception specification
permits unwinding as far as the protected function, then calls
std::unexpected() in
accordance with the ISO C++ Standard. | ||||||||||
|
|||||||||||
Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.