When I try running simple example with exceptions through JIT I get this
output:
terminate called after throwing an instance of 'E*'
Why exceptions don't work in JIT and what it takes to make them work?
Yuri
--- e.C ---
#include <stdio.h>
#include <stdlib.h>
class E {
};
void xmain() {
try {
throw new E;
} catch (E *e) {
printf("caught!\n");
}
printf("done\n");
}
--- commands ---
clang++ -O3 -fexceptions -emit-llvm -S -o e.ll e.C
llvm-as e.ll
lli --entry-function=_Z5xmainv e.bc
-jit-enable-eh solves the problem. Sorry, Yuri On 07/13/2010 22:09, Yuri wrote:> When I try running simple example with exceptions through JIT I get this > output: > terminate called after throwing an instance of 'E*' > > Why exceptions don't work in JIT and what it takes to make them work? > > Yuri > >
On Tue, Jul 13, 2010 at 10:09 PM, Yuri <yuri at rawbw.com> wrote:> When I try running simple example with exceptions through JIT I get this > output: > terminate called after throwing an instance of 'E*' > > Why exceptions don't work in JIT and what it takes to make them work?Try "lli -jit-enable-eh e.bc". -Eli
Apparently Analagous Threads
- [LLVMdev] Why -jit-emit-debug doesn't work with gdb-7.1 ?
- [LLVMdev] Why -jit-emit-debug doesn't work with gdb-7.1 ?
- [LLVMdev] Why -jit-emit-debug doesn't work with gdb-7.1 ?
- [LLVMdev] Why -jit-emit-debug doesn't work with gdb-7.1 ?
- [LLVMdev] Strange exception code behavior: insertion of trace instructions makes result incorrect