[llvm-dev] Propagation of foreign c++ exceptions (msvc, x64, llvm 3.7.1, MCJIT) through IR code
koffie drinker via llvm-dev
llvm-dev at lists.llvm.org
Thu Jan 21 06:21:13 PST 2016
Hi all,
I have the following code:
[use llvm to generate ir_func() ]
in side the ir_func() there's a call to a native cpp function that throws
an exception.
(Just imagine changing the fibonacci example and calling a native c++ func
that throws inside the fibonacci body)
I can't seem to catch "foreign" exception or any exception using the
following pseudo code:
try {
// cast function ptr and execute
ir_func();
} catch (const myEx&) {
} catch (...) {
}
Looking at:
*LLVM_ENABLE_EH:BOOL*Build LLVM with exception-handling support. This is
necessary if you wish to link against LLVM libraries and make use of C++
exceptions in your own code that need to propagate through LLVM code.
Defaults to OFF.
It seems to be exactly what I require.
I enabled LLVM_ENABLE_EH and LLVM_ENABLE_RTTI but it doesn't seems to work.
I also tested it with /EHs /EHsc in msvc. It makes no difference
I also looked at the ExceptionDemo.cpp, but it seems to be unsupported
under windows. Do I need to try catch and retrhow in my ir_func() ?
Regards,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160121/ccc8473f/attachment.html>
More information about the llvm-dev
mailing list