First of all I'd like to thank LLVM developers for doing a great job!
I am trying to use LLVM libraries on Windows using Visual Studio environment and everything works very smoothly until it comes to the execution engine. I construct a module and obtain a pointer to the function in it using ExecutionEngine::getPointerToFunction but calling this function (after appropriate cast) causes the following error:
Unhandled exception at 0x0122a5bc in sampl.exe: 0xC000001E: An attempt was made to execute an invalid lock sequence.
The function I am trying to call is trivial (took it from the tutorial just for testing purposes) and has C calling conventions. The execution engine returned by ExecutionEngine::create is Interpreter.
Am I doing something wrong or is it a bug?
And another question: is JIT supported on Windows?
Thank you in advance,