为什么llvm::FunctionType(Type*,bool)有bool,如果根据定义它没有';不接受参数?

为什么llvm::FunctionType(Type*,bool)有bool,如果根据定义它没有';不接受参数?,llvm,llvm-ir,llvm-c++-api,Llvm,Llvm Ir,Llvm C++ Api,FunctionType*FunctionType::get的一个定义是: FunctionType *FunctionType::get(Type *Result, bool isVarArg) 报告说: 创建一个不带任何参数的FunctionType 如果类型没有参数,我们何时使用bool isVarArg参数来指示参数的数量是可变的?原因是LLVM对可变参数的处理与固定/位置参数不同。文档中“无参数”的意思是没有固定参数(中会出现的那种),因此varargs是免税的 如果您查看注

FunctionType*FunctionType::get
的一个定义是:

FunctionType *FunctionType::get(Type *Result, bool  isVarArg)   
报告说:

创建一个不带任何参数的
FunctionType


如果类型没有参数,我们何时使用
bool isVarArg
参数来指示参数的数量是可变的?

原因是LLVM对可变参数的处理与固定/位置参数不同。文档中“无参数”的意思是没有固定参数(中会出现的那种),因此varargs是免税的

如果您查看注释,它会显示:

返回此函数类型所需的固定参数数。这不考虑VARARGS。


@ggorlen问题更新了链接。所以更准确的文档应该是:“创建一个不带固定/位置参数的函数类型”。谢谢