From c7b3ca819d5d68345f18f5ac9af7b43ca486ceb8 Mon Sep 17 00:00:00 2001 From: Nguyễn Gia Phong Date: Thu, 30 Nov 2023 08:44:50 +0900 Subject: Relax revision combination check --- lib/Core/Executor.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'lib') 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 condition, void Executor::addConstraint(ExecutionState &state, ref 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; } -- cgit 1.4.1