From 0957ad0803f472bcb2dc8a5f64aa5583d1d2c6fe Mon Sep 17 00:00:00 2001 From: Cristian Cadar Date: Fri, 25 May 2012 09:42:42 +0000 Subject: Patch by Paul Marinescu that makes KLEE gracefully fail on assembly code. Includes test case. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@157463 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Core/Executor.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'lib/Core') diff --git a/lib/Core/Executor.cpp b/lib/Core/Executor.cpp index 917a746d..c6bd379a 100644 --- a/lib/Core/Executor.cpp +++ b/lib/Core/Executor.cpp @@ -1592,6 +1592,10 @@ void Executor::executeInstruction(ExecutionState &state, KInstruction *ki) { if (f && isDebugIntrinsic(f, kmodule)) break; + if (isa(fp)) { + terminateStateOnExecError(state, "inline assembly is unsupported"); + break; + } // evaluate arguments std::vector< ref > arguments; arguments.reserve(numArgs); @@ -1633,9 +1637,6 @@ void Executor::executeInstruction(ExecutionState &state, KInstruction *ki) { i++; } - } else if (isa(fp)) { - terminateStateOnExecError(state, "inline assembly is unsupported"); - break; } executeCall(state, ki, f, arguments); -- cgit 1.4.1