diff options
Diffstat (limited to 'lib/Core/Executor.cpp')
| -rw-r--r-- | lib/Core/Executor.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/Core/Executor.cpp b/lib/Core/Executor.cpp index bc27c5f3..a2c28dee 100644 --- a/lib/Core/Executor.cpp +++ b/lib/Core/Executor.cpp @@ -3417,7 +3417,8 @@ void Executor::updateStates(ExecutionState *current) { if (it3 != seedMap.end()) seedMap.erase(it3); executionTree->remove(es->executionTreeNode); - delete es; + if (es->formula.empty()) + delete es; } removedStates.clear(); } @@ -3809,6 +3810,8 @@ void Executor::terminateStateOnExit(ExecutionState &state) { terminationTypeFileExtension(StateTerminationType::Exit).c_str()); interpreterHandler->incPathsCompleted(); + getConstraintLog(state, state.formula, Interpreter::SMTLIB2); + exitStates.insert(&state); terminateState(state, StateTerminationType::Exit); } |
