LLVM异常抛出

Maë*_*son 14 exception llvm

我已阅读此博客文章,此文档页面此示例,但我仍然不明白如何使用LLVM的IRBuilder为非面向C++的语言抛出基本异常.

根据我的理解,我必须:

  • 创建一个llvm::Value包含throwed值的.
  • 调用"一个函数",将抛出的值传递给它.此功能不会返回.

这个例子是使用系统倒带功能(_Unwind_RaiseException),以抛出一个C++异常,我真的不知道如何使用我自己养函数,而不是(因为我只需要抛出一个对象的指针).我错过了什么?

Maë*_*son 3

简短的回答是这_Unwind_RaiseException不是 C++ 特定的函数。它来自 libunwind 库,并允许抛出任何类型的异常。

更多详细信息可以在这些博客文章中找到。