[llvm-commits] [llvm] r129302 - /llvm/trunk/lib/CodeGen/SjLjEHPrepare.cpp

Duncan Sands baldrick at free.fr
Mon Apr 11 23:11:50 PDT 2011


Hi Bill,

> It turns out, we get there if the _Unwind_Resume_or_Rethrow call returns (which
> it's not supposed to do).

IIRC it will return if there are only cleanups all the way up the stack.  Then
you can use _Unwind_ForcedUnwind to unwind anyway IIRC (Ada uses this because
it always runs cleanups [*], unlike C++ which for some reason thinks that
cleanups don't matter if there is nothing else to do).  I might be remembering
wrong though.

Ciao, Duncan.

[*] For example a cleanup that shuts down the reactor.



More information about the llvm-commits mailing list