I have read this blog post, this documentation page and this example, but I still don't understand how to throw a basic exception using the LLVM's IRBuilder for a non-C++ oriented language.
From my understanding, I have to :
llvm::Value
containing the throwed value.The example is using a system rewinding function (_Unwind_RaiseException
) in order to throw a C++ exception, and I don't really understand how to use my own raising function instead (since I only need to throw an object pointer). What am I missing ?
Short answer is that _Unwind_RaiseException
is not a C++-specific function. It comes from the libunwind library, and allows to throw any type of exception.
More details can be found on these blog posts.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With