Clang 查找llvm中的函数类型

Clang 查找llvm中的函数类型,clang,llvm,Clang,Llvm,我正在迭代模块的函数列表,如下所示。 我正在寻找一种方法来确定函数*f是声明还是定义。(通过转储函数,列表似乎包含这两种类型。) 从手册中: 如果BasicBlock列表为空,则表明函数实际上是一个函数声明:函数的实际主体尚未链接进来 在下一节中,您将找到所需的函数: 布尔() 返回函数是否定义了主体。如果函数是“外部的”,则它没有主体,因此必须通过与不同翻译单元中定义的函数链接来解决 空性为你检查哪一个 for (Module::iterator f = M->begin(), fend

我正在迭代模块的函数列表,如下所示。 我正在寻找一种方法来确定
函数*f
是声明还是定义。(通过转储函数,列表似乎包含这两种类型。)

从手册中:

如果
BasicBlock
列表为空,则表明
函数实际上是一个函数声明:函数的实际主体尚未链接进来

在下一节中,您将找到所需的函数:

布尔()

返回函数是否定义了主体。如果函数是“外部的”,则它没有主体,因此必须通过与不同翻译单元中定义的函数链接来解决

空性为你检查哪一个

for (Module::iterator f = M->begin(), fend = M->end(); f != fend; ++f) {
  ...
}