[3.3] Followup to C++ forced unwinding

Mike Harrold mharrold@cas.org
Fri May 2 15:32:00 GMT 2003


> 
> On 02-May-2003, Gabriel Dos Reis <gdr@integrable-solutions.net> wrote:
> > Mark Mitchell <mark@codesourcery.com> writes:
> > [...]
> > | But we shouldn't go silently breaking millions of lines of until-now
> > | exception-safe ISO-conformant code that happens to use "catch(...)"
> > | rather than destructors.  I'd ever so much rather debug a
> > | why-didn't-my-thread-go-away bug than a
> > | why-is-my-data-in-an-inconsistent-state bug.
> > 
> > strongly seconded.
> 
> I agree that ignoring "catch(...)" handlers for cancels is not going to fly.
> I agree about which bug I'd prefer to debug.
> 
> But my intuition is that I think that very few of those million lines
> of until-now exception-safe ISO-conformant code would break from an
> implicit rethrow if/when a cancel got swallowed -- I think a lot more
> would break from an implicit terminate() in the same situation.

But only if the implicit rethrow happens when a cancellation exception has
been caught in the catch (...) block. Other exceptions _must_ be allowed
to fall off the end of the block...

Regards,

/Mike



More information about the Gcc-patches mailing list