diff options
Diffstat (limited to 'src/smt/smt_engine.cpp')
-rw-r--r-- | src/smt/smt_engine.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/smt/smt_engine.cpp b/src/smt/smt_engine.cpp index a182d8927..81a212edd 100644 --- a/src/smt/smt_engine.cpp +++ b/src/smt/smt_engine.cpp @@ -660,7 +660,7 @@ void SmtEngine::setInfo(const std::string& key, const SExpr& value) } SExpr SmtEngine::getInfo(const std::string& key) const - throw(BadOptionException) { + throw(BadOptionException, ModalException) { SmtScope smts(this); @@ -677,7 +677,7 @@ SExpr SmtEngine::getInfo(const std::string& key) const } return stats; } else if(key == ":error-behavior") { - return SExpr("immediate-exit"); + return SExpr::Keyword("immediate-exit"); } else if(key == ":name") { return Configuration::getName(); } else if(key == ":version") { @@ -687,10 +687,10 @@ SExpr SmtEngine::getInfo(const std::string& key) const } else if(key == ":status") { return d_status.asSatisfiabilityResult().toString(); } else if(key == ":reason-unknown") { - if(d_status.isUnknown()) { + if(!d_status.isNull() && d_status.isUnknown()) { stringstream ss; ss << d_status.whyUnknown(); - return ss.str(); + return SExpr::Keyword(ss.str()); } else { throw ModalException("Can't get-info :reason-unknown when the " "last result wasn't unknown!"); |