I need to insert a varargs function declaration from within an LLVM pass. getOrInsertFunction() allows an arbitrary list of type parameters for function arguments to be passed in, but as far as I can tell there is no LLVM "type" to represent the variable-length portion of a function argument list. How is this normally done?
--Patrick
I am not sure how it is normally done, but I have used
getOrInsertFunction to insert function calls with variable arguments
and FunctionType::get to build my function type. Check out
DerivedTypes.h and look at the get methods (there are options with
isVarArg as a parameter).
Scott
Hi Patrick,
I need to insert a varargs function declaration from within an LLVM
pass. getOrInsertFunction() allows an arbitrary list of type parameters
for function arguments to be passed in, but as far as I can tell there
is no LLVM "type" to represent the variable-length portion of a function
argument list. How is this normally done?
when you create a FunctionType you can specify whether it is varargs or not.
Ciao,
Duncan.