This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [3.3] Followup to C++ forced unwinding


On Wed, 2003-04-30 at 19:24, Jason Merrill wrote:
> On 30 Apr 2003 17:29:20 -0700, Mark Mitchell <mark@codesourcery.com> wrote:
> 
> > If it is really true that we cannot enter "catch(...)" blocks for some
> > reason (which I do not yet believe, despite Ulrich's usual inimitable
> > expression of confidence), then running into a "catch(...)" block while
> > unwinding should result in a call to std::terminate.
> 
> This makes sense to me.
> 
> Actually, I have an idea for how to DTRT here: give terminate() as the
> destructor for the exception object in the forced unwind case.  So if the
> catch(...) block rethrows, all is good, but if we exit the catch block some
> other way, we try to clean up the exception, which calls terminate.

This is a good extension to my suggestion; it allows strictly more
non-controversial cases to work as we all think they should while
allowing us to debate the controversial cases as time permits.

-- 
Mark Mitchell <mark@codesourcery.com>
CodeSourcery, LLC


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]