You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
test.cpp:18:5: unreachable: code is dead
printf("exception caught\n");
^
IKOS is unsound because it thinks the catch block is unreachable. This is because the control flow graph of g doesn't have an exit block, see _Z1gv.pdf. The current design of the exception propagation analysis requires that all exit nodes are merged into one block, so that we can capture all the exceptions and propagate it to the caller.
We should investigate if LLVM could generate an invoke instead of a call and add a basic block that explicitly propagates the exception.
The text was updated successfully, but these errors were encountered:
On the following code:
IKOS produces the following output:
IKOS is unsound because it thinks the catch block is unreachable. This is because the control flow graph of
g
doesn't have an exit block, see _Z1gv.pdf. The current design of the exception propagation analysis requires that all exit nodes are merged into one block, so that we can capture all the exceptions and propagate it to the caller.We should investigate if LLVM could generate an
invoke
instead of acall
and add a basic block that explicitly propagates the exception.The text was updated successfully, but these errors were encountered: