summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@gmail.com>2012-08-01 22:17:18 +0000
committerMorgan Deters <mdeters@gmail.com>2012-08-01 22:17:18 +0000
commitac7c25f879b222cadefca492102e277488df2bf2 (patch)
tree942c2fdc8dbf5e8370934e8ebc6d63a3dc84fd16 /src
parent1e94b6229e01806f3065066d8eb4917253ef8862 (diff)
a couple fixes to SmtEngine::setOption(). thanks Andy for the report!
Diffstat (limited to 'src')
-rw-r--r--src/smt/smt_engine.h9
-rw-r--r--src/smt/smt_options_template.cpp8
2 files changed, 9 insertions, 8 deletions
diff --git a/src/smt/smt_engine.h b/src/smt/smt_engine.h
index 53454b109..59f66521c 100644
--- a/src/smt/smt_engine.h
+++ b/src/smt/smt_engine.h
@@ -554,11 +554,14 @@ public:
/**
* Used as a predicate for options preprocessor.
*/
- static void beforeSearch(std::string option, bool value, SmtEngine* smt) {
- if(smt != NULL && (smt->d_queryMade || smt->d_problemExtended)) {
+ static void beforeSearch(std::string option, bool value, SmtEngine* smt) throw(ModalException) {
+ // FIXME: should be the following test...
+ // if(smt != NULL && (smt->d_queryMade || smt->d_problemExtended)) {
+ // ...but addToModelType() etc. make a stronger assumption:
+ if(smt != NULL && smt->d_fullyInited) {
std::stringstream ss;
ss << "cannot change option `" << option << "' after assertions have been made";
- throw OptionException(ss.str());
+ throw ModalException(ss.str());
}
}
diff --git a/src/smt/smt_options_template.cpp b/src/smt/smt_options_template.cpp
index 8c7fa1abf..f34a0e2db 100644
--- a/src/smt/smt_options_template.cpp
+++ b/src/smt/smt_options_template.cpp
@@ -47,13 +47,11 @@ void SmtEngine::setOption(const std::string& key, const CVC4::SExpr& value)
Dump("benchmark") << SetOptionCommand(key, value);
}
- stringstream ss;
- ss << value;
- string optarg = ss.str();
+ string optarg = value.getValue();
${smt_setoption_handlers}
-#line 57 "${template}"
+#line 55 "${template}"
throw BadOptionException();
}
@@ -70,7 +68,7 @@ CVC4::SExpr SmtEngine::getOption(const std::string& key) const
${smt_getoption_handlers}
-#line 74 "${template}"
+#line 72 "${template}"
throw BadOptionException();
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback