[basic-improvements] try/finally support for c/c++

Fergus Henderson fjh@cs.mu.OZ.AU
Wed Nov 6 17:48:00 GMT 2002


On 06-Nov-2002, Richard Henderson <rth@redhat.com> wrote:
> longjmp pretty much bypasses all the logic one would care to
> ask about.  I would say that such would have to be undefined.  There
> is mention in the IA-64 psABI docs of a separate longjmp_unwind
> function that _is_ EH aware, but that's the exception not the rule.
> So leaving a try block via longjmp is going to have to be undefined.

Undefined behaviour is pretty drastic.  Would it be sufficient to just
make it implementation-defined whether or not longjmp() invokes cleanups
(i.e. destructors and finally blocks)?

-- 
Fergus Henderson <fjh@cs.mu.oz.au>  |  "I have always known that the pursuit
The University of Melbourne         |  of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh>  |     -- the last words of T. S. Garp.



More information about the Gcc-patches mailing list