[LLVMdev] How to initiate/throw an exception (resume just continues)
edA-qa mort-ora-y
eda-qa at disemia.com
Fri Mar 29 10:52:55 PDT 2013
On 29/03/13 18:34, David Chisnall wrote:
> handlers, and so on), and a generic structure for the unwind library.
> It then passes it to _Unwind_RaiseException(), which is the generic
> unwind routine.
Excuse me if this sounds silly, but what "library" does the _Unwind_
series of functions come from? Is this a kind of target ABI instrinsic
library, or must I link with a particular runtime library to get these
functions?
I assume using the JIT there will somehow already be there, so at least
I can start experimenting. Perhaps another question, since this does
generate ABI compliant EH-tables, could my throw function just invoke a
native throw? That is, for really quick testing can I just create a c++
function which does a throw?
> The personality function is probably the least fun code I've ever
> written (I've now done it three times, for three different languages,
> and it doesn't become any more fun). If you get it wrong, the stack
> is gone by the time you get into the debugger, so lots and lots of
> logging statements are your friend...
I feel excited already. :)
I'm still quite unclear on this part as well. Don't suppose you ever
wrote a tutorial on this aspect, or have some example code you could show?
--
edA-qa mort-ora-y
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Sign: Please digitally sign your emails.
Encrypt: I'm also happy to receive encrypted mail.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 261 bytes
Desc: OpenPGP digital signature
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130329/d9e31333/attachment.sig>
More information about the llvm-dev
mailing list