LLVM exception throwing

前端 未结 2 2033
失恋的感觉
失恋的感觉 2021-02-05 15:13

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++ orie

相关标签:
2条回答
  • 2021-02-05 15:37

    As you don't want to use existing C++ exception handling infrastructure, you'll need to replicate parts of it for your language.

    You can use the implementation of C unwinder in compiler-rt (or significantly more complex one in libstdc++), and invocation of an unwinder in libstdc++ to start with.

    0 讨论(0)
  • 2021-02-05 15:55

    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.

    0 讨论(0)
提交回复
热议问题