[LLVMdev] Catching exceptions passed through a JIT ExecutionEngine
Peter Zion
peter.zion at fabric-engine.com
Thu Jul 21 14:47:10 PDT 2011
Yes, I did -- it made no difference. Should it?
Note that I have since discovered that this is not a problem on Windows -- the exception drops through as expected.
pz
On 2011-07-21, at 5:45 PM, Garrison Venn wrote:
> Sorry Peter, just saw this.
>
> If you are still having the problem:
>
> Did you set: llvm::JITExceptionHandling = true; ?
>
> Garrison
>
> On Jul 12, 2011, at 19:25, Peter Zion wrote:
>
>> Hi All,
>>
>> I'm trying to catch an exception that is "passed through" an LLVM ExecutionEngine but I am unable to do so. Specifically, in C++ code, inside a try/catch block, I call a JITted function, which in turn calls back into my code. Everything works fine unless an exception is thrown; I would except the outermost try/catch(...) block to catch the exception thrown in my innermost C++ code, but instead I get the abort "terminate called after throwing an instance of 'MyException'". I am compiling the system with g++ (on Linux and OSX); I haven't tried MSVC++.
>>
>> Is there something that I need to do to get this behaviour to work? I admit that I have only a fairly basic understanding of how exception handling is implemented in C++ but from what I've read it seems like the exception should unwind through what is, for all intents and purposes, a simple call stack...
>>
>> Thanks,
>> Peter Zion
>>
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
More information about the llvm-dev
mailing list