summaryrefslogtreecommitdiff
path: root/src/smt/smt_engine.h
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@gmail.com>2010-11-16 19:18:19 +0000
committerMorgan Deters <mdeters@gmail.com>2010-11-16 19:18:19 +0000
commite66924cb0f425ca70969058532340e68c9c17a54 (patch)
tree6dfdb2d02621c45a17b9ca3202cc3db7c30d7da5 /src/smt/smt_engine.h
parentd5d504da7c73538642b9be86c73f8407e08ab57a (diff)
SmtEngine now fails with a ModalException if --incremental is not enabled
but a push/pop or multiple query is attempted (previously it could give incorrect answers) Also, fix some multi-query and push-pop tests that had wrong answers, and support a new "% COMMAND-LINE: " gesture in regression tests so that a test can pass additional, specific command line flags it wants to run with (here, --incremental). Also fix mkbuilddir script for when it's called from contrib/switch-config.
Diffstat (limited to 'src/smt/smt_engine.h')
-rw-r--r--src/smt/smt_engine.h19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/smt/smt_engine.h b/src/smt/smt_engine.h
index d8d9f4b54..b8a72dc38 100644
--- a/src/smt/smt_engine.h
+++ b/src/smt/smt_engine.h
@@ -125,12 +125,20 @@ class CVC4_PUBLIC SmtEngine {
std::string d_logic;
/**
- * Whether or not we have added any
- * assertions/declarations/definitions since the last checkSat/query
- * (and therefore we're not responsible for an assignment).
+ * Whether or not we have added any assertions/declarations/definitions
+ * since the last checkSat/query (and therefore we're not responsible
+ * for an assignment).
*/
bool d_haveAdditions;
+ /**
+ * Whether or not a query() or checkSat() has already been made through
+ * this SmtEngine. If true, and d_incrementalSolving is false, then
+ * attempting an additional query() or checkSat() will fail with a
+ * ModalException.
+ */
+ bool d_queryMade;
+
/**
* Whether or not to type check input expressions.
*/
@@ -157,6 +165,11 @@ class CVC4_PUBLIC SmtEngine {
bool d_produceAssignments;
/**
+ * Whether multiple queries can be made, and also push/pop is enabled.
+ */
+ bool d_incrementalSolving;
+
+ /**
* Most recent result of last checkSat/query or (set-info :status).
*/
Result d_status;
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback