llvm-config
将-fno-exceptions
放入LDFLAGS中以链接llvm本身。假设这意味着我不能在与llvm编译器链接的代码(例如新语言前端)中使用普通的C ++ try / throw块吗?我不是在谈论编译器生成的程序,而是编译器本身。我不想干涉llvm-config
的输出,我确信-fno-exceptions
是有原因的。
如果我想为LLVM(对于我正在编写的玩具语言)编写一个新的语言前端,它与其他LLVM代码链接,是否有一种标准的方法来处理前端代码中的异常?
答案 0 :(得分:1)
仅仅因为LLVM代码不使用异常并不意味着LLVM环境没有异常处理机制......我认为你在这里感到困惑。
答案 1 :(得分:1)
LLVM bug 815有基本原理:生成的EH代码约占整个二进制代码的10-20%。它还指出代码的某些部分存在例外情况。因此,假设您的代码也可以使用异常是合理的。
答案 2 :(得分:0)
LLVM documentation应告诉您需要了解的有关如何使用例外的信息;我不知道为什么指定了-fno-exceptions
,或者你是否可以删除它。
答案 3 :(得分:0)
在源代码级别Makefile.am中向LDFLAGS添加-fexceptions
有效,但我不确定这是否是正确的做法。