diff options
author | Nguyễn Gia Phong <cnx@loang.net> | 2023-11-30 08:44:50 +0900 |
---|---|---|
committer | Nguyễn Gia Phong <cnx@loang.net> | 2024-03-05 17:53:28 +0900 |
commit | c7b3ca819d5d68345f18f5ac9af7b43ca486ceb8 (patch) | |
tree | cfe97e26f7526261c04ea3428068a6fbaed810d0 /lib | |
parent | 09053680920989425469b0b7df3401c8cac38942 (diff) | |
download | klee-c7b3ca819d5d68345f18f5ac9af7b43ca486ceb8.tar.gz |
Relax revision combination check
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Core/Executor.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/Core/Executor.cpp b/lib/Core/Executor.cpp index 279d5f3a..465100f4 100644 --- a/lib/Core/Executor.cpp +++ b/lib/Core/Executor.cpp @@ -1238,14 +1238,13 @@ Executor::StatePair Executor::fork(ExecutionState ¤t, ref<Expr> condition, void Executor::addConstraint(ExecutionState &state, ref<Expr> condition) { const auto& [isMeta, patchNo] = Differentiator::extractPatchNumber(condition); if (isMeta) { - if (state.patchNo && patchNo != state.patchNo) { + if (state.patchNo && patchNo && patchNo != state.patchNo) { terminateStateEarly(state, "ignore patch combination", StateTerminationType::SilentExit); return; } state.patchLocs++; - if (!state.patchNo) - differ.revisions.insert(state.patchNo = patchNo); + differ.revisions.insert(state.patchNo |= patchNo); return; } |