[llvm-commits] Support for calling external var arg functions in interpreter

Victoria Caparrós victoria.caparros at gmail.com
Tue Aug 14 04:08:05 PDT 2012


Hi,

I am intensively working with lli, and I run into the problem that varargs
functions
are not supported because there is no information about the  argument types
(there is a TODO in  lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
about this).

I just modified the functions callFunction, callExternalFunction in
Execution.cpp, and
ffiInvoke in ExternalFunctions.cpp (and all the places where they are
called, and the
corresponding header files) so that they receive the vector of arguments
types as an
argument, and then the argument types are available even if it is a vararg
function
(see attached files).

I just wanted to let you know that I have that working, and if you think it
is worth
committing this change, just let me know if I have to do something, or feel
free to
add it.

Regards,

Victoria
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120814/597ea8c8/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Execution.cpp
Type: text/x-c++src
Size: 59427 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120814/597ea8c8/attachment.cpp>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ExternalFunctions.cpp
Type: text/x-c++src
Size: 16959 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120814/597ea8c8/attachment-0001.cpp>


More information about the llvm-commits mailing list