__cxa_rethrow
Jim Dehnert
dehnert at transmeta.com
Wed Feb 28 08:10:40 UTC 2001
Richard Henderson wrote:
>
> How are the following two statements reconciled?
>
> 1.3
> _Unwind_Resume should not be used to implement rethrowing. To the
> unwinding runtime, the catch code that rethrows was a handler, and
> the previous unwinding session was terminated before entering it.
> Rethrowing is implemented by calling _Unwind_RaiseException again
> with the same exception object.
>
> 2.5.4
> [__cxa_rethrow] then returns to the handler that called it, which
> must call __cxa_end_catch(), perform any necessary cleanup, and
> finally call _Unwind_Resume() to continue unwinding.
Christophe can provide more definitive information, but I think that 1.3
simply means that a rethrow is not accomplished by _just_ directly calling
_Unwind_Resume. Instead the user code which is rethrowing must return to
its personality routine, which has some work to do before resuming.
Jim
--
- Jim Dehnert dehnert at transmeta.com
(408)919-6984 dehnertj at acm.org
More information about the cxx-abi-dev
mailing list