invoke unwind instruction support in 2.9


I was looking over the documentation support for exceptions and it indicates that the invoke unwind support is incomplete. Is this still the case in 2.9?



Exception handling works, mostly, including the invoke instruction,
although the unwind instruction is essentially unusable. Note that
there is a substantial rewrite of exception handling going into 3.0.


Hi Carter,

The use of the term "unwind" is a bit confusing in this context. The "invoke" instruction has an "unwind" clause, which is (more or less) the code that's executed when an exception is thrown by the function that was called. Then there is the "unwind" instruction. The "unwind" instruction is the one which hasn't been implemented by pretty much any back-end. As Eli pointed out, it's basically unusable.

If you're worried about EH working, it does work. But there are many problems with the current design. The current status is that it's much better in top-of-tree than 2.9, and is being rewritten for 3.0.


Thanks both. I guess what I may be looking for is the exception system.