if(dynamic_cast<PushCommand*>(cmd) != NULL) {
if(needReset) {
pExecutor->reset();
+ bool succ = opts[options::printSuccess];
+ opts.set(options::printSuccess, false);
for(size_t i = 0; i < allCommands.size(); ++i) {
for(size_t j = 0; j < allCommands[i].size(); ++j) {
Command* cmd = allCommands[i][j]->clone();
delete cmd;
}
}
+ opts.set(options::printSuccess, succ);
needReset = false;
}
allCommands.push_back(vector<Command*>());
} else if(dynamic_cast<PopCommand*>(cmd) != NULL) {
allCommands.pop_back(); // fixme leaks cmds here
pExecutor->reset();
+ bool succ = opts[options::printSuccess];
+ opts.set(options::printSuccess, false);
for(size_t i = 0; i < allCommands.size(); ++i) {
for(size_t j = 0; j < allCommands[i].size(); ++j) {
Command* cmd = allCommands[i][j]->clone();
delete cmd;
}
}
+ opts.set(options::printSuccess, succ);
} else if(dynamic_cast<CheckSatCommand*>(cmd) != NULL ||
dynamic_cast<QueryCommand*>(cmd) != NULL) {
if(needReset) {
pExecutor->reset();
+ bool succ = opts[options::printSuccess];
+ opts.set(options::printSuccess, false);
for(size_t i = 0; i < allCommands.size(); ++i) {
for(size_t j = 0; j < allCommands[i].size(); ++j) {
Command* cmd = allCommands[i][j]->clone();
delete cmd;
}
}
+ opts.set(options::printSuccess, succ);
}
status = pExecutor->doCommand(cmd);
needReset = true;
option - debug -d --debug=TAG argument :handler CVC4::options::addDebugTag
debug something (e.g. -d arith), can repeat
-option printSuccess print-success --print-success bool :predicate CVC4::options::setPrintSuccess :predicate-include "options/base_options_handlers.h"
+option printSuccess print-success --print-success bool :predicate CVC4::options::setPrintSuccess :predicate-include "options/base_options_handlers.h" :read-write
print the "success" output required of SMT-LIBv2
alias --smtlib-strict = --lang=smt2 --output-lang=smt2 --strict-parsing --default-expr-depth=-1 --print-success --incremental --abstract-values