This is the mail archive of the
mailing list for the GCC project.
Re: C++ EH vs Forced Unwinding, Round 3
On Fri, May 02, 2003 at 02:10:22PM -0700, Mark Mitchell wrote:
> Sorry; why is that non-negotiable? I'm not sure why, in light of the
> discussion, we don't just have cancellation points do an entirely
> ordinary throw.
Because you nixed try/finally.
So C cleanups are left using setjmp, and those frames may be
interspersed with the C++ EH frames. So longjmp_unwind has to
check each frame as it passes to discover if there are setjmp
cleanups to be invoked. If longjmp_unwind loses control, then
things don't work as advertised.