diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2020-10-06 22:22:16 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-06 22:22:16 -0500 |
commit | 0c540b4b96a100ba1d280c700c6c360efeb24fc2 (patch) | |
tree | 7785784ed5ddb2b07a8e1fc8556695f365c86d2b /src/theory/inference_manager_buffered.cpp | |
parent | 5aa526ab1df69783d17750bfce8819a6e358e157 (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.cpp | 6 |
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() |