diff options
Diffstat (limited to 'src/theory/bv/theory_bv.cpp')
-rw-r--r-- | src/theory/bv/theory_bv.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/theory/bv/theory_bv.cpp b/src/theory/bv/theory_bv.cpp index e03cecdd9..cb214217c 100644 --- a/src/theory/bv/theory_bv.cpp +++ b/src/theory/bv/theory_bv.cpp @@ -576,18 +576,21 @@ bool TheoryBV::doExtfReductions( std::vector< Node >& terms ) { bool TheoryBV::needsCheckLastEffort() { return d_needsLastCallCheck; } - -void TheoryBV::collectModelInfo( TheoryModel* m ){ +bool TheoryBV::collectModelInfo(TheoryModel* m) +{ Assert(!inConflict()); if (options::bitblastMode() == theory::bv::BITBLAST_MODE_EAGER) { - d_eagerSolver->collectModelInfo(m, true); + if (!d_eagerSolver->collectModelInfo(m, true)) + { + return false; + } } for (unsigned i = 0; i < d_subtheories.size(); ++i) { if (d_subtheories[i]->isComplete()) { - d_subtheories[i]->collectModelInfo(m, true); - return; + return d_subtheories[i]->collectModelInfo(m, true); } } + return true; } Node TheoryBV::getModelValue(TNode var) { |