[LLVMdev] using external functions from llvm

Alec Benzer alecbenzer at gmail.com
Thu Aug 19 15:37:15 PDT 2010


Is there documentation somewhere on how to call external functions from
llvm? The only guide I found was this: http://www.gearleaf.com/blog/post/44,
and it doesn't seem to be working for me.

I have a function:

llvm::GenericValue lle_X_create_number_object(llvm::FunctionType* ft, const
std::vector<llvm::GenericValue>& args)
{
  llvm_object_structure* result = new llvm_object_structure;
  result->typeIdx = TypeSystem::number;
  result->data = reinterpret_cast<unsigned char*>(new
double(args[0].DoubleVal));
  llvm::GenericValue gv;
  gv.PointerVal = reinterpret_cast<void*>(result);
  return gv;
}

defined in an extern "C" block. I add it as a symbol with:

llvm::sys::DynamicLibrary::AddSymbol("lle_X_create_number_object",(void*)lle_X_create_number_object);

yet when attempting to call it I still get: "LLVM ERROR: Program used
external function 'create_number_object' which could not be resolved!"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100819/fd1dee4d/attachment.html>


More information about the llvm-dev mailing list