This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [3.3] Followup to C++ forced unwinding
> Well, if it helps, Tru64 is likely to be the "existing practice" that
> helps to decide what I'll suggest to the C++ committee, and as near as I
> can tell in my readings so far, it does not prevent the user from catching
> and not re-throwing the cancellation (or exit!) exception. So I'm likely
> to suggest the same, unless it can be shown that this is technically a bad
> idea. So, I know you want to convince Ulrich Drepper that it should be as
> I've described, but in trying to convince anybody, I'm turning it around
> asking that you convince me it shouldn't be, or more precisely, that
> calling terminate() is even viable, let alone preferred. However, if that
> is my suggestion, and the committee agrees/accepts the proposal, you'll
> have to change the behavior to not terminate() at that point, anyhow. So,
> I'm providing at least some arguments to help convince people even by
> this.
I think you're misunderstanding the situation.
I'm not arguing that std::terminate is the right thing to do.
I'm not arguing that's even a good thing.
I'm not going to try to convince you it's a good thing.
You and I are on the same page. :-)
The only reason std::terminate came into this discussion at all was that
it appeared impossible to get Ulrich to implement The Right Thing. In
particular there were two classes of programs, and everyone agreed on
the behavior for one class. For the other class, we did not all agree.
I suggested we call terminate for programs in that second class because
it is better to call terminate that to silently do The Wrong Thing,
which was the only other proposal on the table.
See you in Kona,
--
Mark Mitchell <mark@codesourcery.com>
CodeSourcery, LLC