summaryrefslogtreecommitdiff
path: root/src/theory/inference_manager_buffered.cpp
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2020-10-06 22:22:16 -0500
committerGitHub <noreply@github.com>2020-10-06 22:22:16 -0500
commit0c540b4b96a100ba1d280c700c6c360efeb24fc2 (patch)
tree7785784ed5ddb2b07a8e1fc8556695f365c86d2b /src/theory/inference_manager_buffered.cpp
parent5aa526ab1df69783d17750bfce8819a6e358e157 (diff)
Process pending inferences at the beginning of datatypes post check (#5213)
This fixes a potential crash in datatypes where a pending inference is not processed on a call to Theory::check. This ensures the pending set of inferences in datatypes is empty after each check. This also ensures the pending vectors are cleared before each check in datatypes.
Diffstat (limited to 'src/theory/inference_manager_buffered.cpp')
-rw-r--r--src/theory/inference_manager_buffered.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/theory/inference_manager_buffered.cpp b/src/theory/inference_manager_buffered.cpp
index 5699e75ad..7985f7de0 100644
--- a/src/theory/inference_manager_buffered.cpp
+++ b/src/theory/inference_manager_buffered.cpp
@@ -118,6 +118,12 @@ void InferenceManagerBuffered::doPendingPhaseRequirements()
}
d_pendingReqPhase.clear();
}
+void InferenceManagerBuffered::clearPending()
+{
+ d_pendingFact.clear();
+ d_pendingLem.clear();
+ d_pendingReqPhase.clear();
+}
void InferenceManagerBuffered::clearPendingFacts() { d_pendingFact.clear(); }
void InferenceManagerBuffered::clearPendingLemmas() { d_pendingLem.clear(); }
void InferenceManagerBuffered::clearPendingPhaseRequirements()
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback