Fixes #4028. TheoryEngine's pointer was not updated to the new
PropEngine when resetting assertions. This commit fixes that. As far
as I can tell, this was the only class storing a PropEngine* that
isn't owned by PropEngine, so we should hopefully not have other
similar issues.
d_userContext,
d_private->getReplayLog(),
d_replayStream));
+ d_theoryEngine->setPropEngine(getPropEngine());
}
void SmtEngine::interrupt()
d_logicInfo);
}
- inline void setPropEngine(prop::PropEngine* propEngine) {
- Assert(d_propEngine == NULL);
+ void setPropEngine(prop::PropEngine* propEngine)
+ {
d_propEngine = propEngine;
}
regress0/smt2output.smt2
regress0/smtlib/get-unsat-assumptions.smt2
regress0/smtlib/global-decls.smt2
+ regress0/smtlib/issue4028.smt2
regress0/smtlib/reason-unknown.smt2
regress0/smtlib/reset-assertions1.smt2
regress0/smtlib/reset-assertions2.smt2
--- /dev/null
+; EXPECT: sat
+; EXPECT: sat
+(set-logic ALL)
+(set-option :incremental true)
+(push 3)
+(check-sat)
+(reset-assertions)
+(push 4)
+(check-sat)