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: [RFC] C++ vs forced unwinding


On Monday, March 31, 2003, at 06:12 PM, Richard Henderson wrote:
To refresh your memory, forced unwinding is a not-an-exception
that runs only cleanups, but can't be caught.

Hum... I'd almost like to see the complete description of this... It differs from the model we worked out years ago for threads and EH. In that scheme, cancellation was just a throw of a pthread_terminate type value. The problem I see is that in C++, catch (...) { ... } can be a cleanup, but, if it is, or not, cannot be known by the compiler. So, when you say, cancellation runs cleanups, this means, in C++, that at least some catch (...) { } things are run. :-(


With the cancellation being part of EH, the interactions with C++ are natural and obvious.

Also, does the design cover Ada as well?

If C++ was well represented in the designed of this feature, ignore me...


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