This is the mail archive of the gcc@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: Bug in implementation of C++ ABI exception handling?


On Mon, Aug 25, 2003 at 10:53:39AM -0500, Chris Lattner wrote:
> My initial idea was just to wrap this call up with a CLEANUP_STMT, where
> CLEANUP_EH_ONLY(r) = 1 and the CLEANUP_EXPR set to free the exception.  My
> problem, however, is that the code in build_throw is building an
> expression, not a statement chain.

This is correct.

> Would it be best to hack something together with STMT_EXPR's and
> EXPR_STMT's to get around this, or would it be better to generalize
> MUST_NOT_THROW_EXPR to take an extra argument, which indicates what to do
> if an exception is thrown?

Using MUST_NOT_THROW_EXPR would be wrong, since semantics are that
exceptions do not propagate out of such a region.  So you couldn't
let the new exception propagate in this case.


r~


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