From 578ea0849c7fdf87c7255bc5559466c438fadf6a Mon Sep 17 00:00:00 2001 From: Morgan Deters Date: Mon, 16 Jun 2014 22:35:14 -0400 Subject: [PATCH] More application-track fixes for use with trace executor. --- src/main/driver_unified.cpp | 16 +++++----------- src/options/base_options | 2 +- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/src/main/driver_unified.cpp b/src/main/driver_unified.cpp index c39627550..54f6383ac 100644 --- a/src/main/driver_unified.cpp +++ b/src/main/driver_unified.cpp @@ -332,17 +332,14 @@ int runCvc4(int argc, char* argv[], Options& opts) { if(dynamic_cast(cmd) != NULL) { if(needReset) { pExecutor->reset(); - bool succ = Command::printsuccess::getPrintSuccess(*opts[options::out]); - Command::printsuccess::setPrintSuccess(*opts[options::out], false); - 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(); + cmd->setMuted(true); pExecutor->doCommand(cmd); delete cmd; } } - Command::printsuccess::setPrintSuccess(*opts[options::out], succ); needReset = false; } *opts[options::out] << CommandSuccess(); @@ -350,36 +347,33 @@ int runCvc4(int argc, char* argv[], Options& opts) { } else if(dynamic_cast(cmd) != NULL) { allCommands.pop_back(); // fixme leaks cmds here pExecutor->reset(); - bool succ = Command::printsuccess::getPrintSuccess(*opts[options::out]); - Command::printsuccess::setPrintSuccess(*opts[options::out], 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(); + cmd->setMuted(true); pExecutor->doCommand(cmd); delete cmd; } } - Command::printsuccess::setPrintSuccess(*opts[options::out], succ); *opts[options::out] << CommandSuccess(); } else if(dynamic_cast(cmd) != NULL || dynamic_cast(cmd) != NULL) { if(needReset) { pExecutor->reset(); - bool succ = Command::printsuccess::getPrintSuccess(*opts[options::out]); - Command::printsuccess::setPrintSuccess(*opts[options::out], 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(); + cmd->setMuted(true); pExecutor->doCommand(cmd); delete cmd; } } - Command::printsuccess::setPrintSuccess(*opts[options::out], succ); } status = pExecutor->doCommand(cmd); needReset = true; } else { - allCommands.back().push_back(cmd->clone()); + Command* copy = cmd->clone(); + allCommands.back().push_back(copy); if(dynamic_cast(cmd) != NULL) { delete cmd; break; diff --git a/src/options/base_options b/src/options/base_options index ee15238c8..ed94e68f6 100644 --- a/src/options/base_options +++ b/src/options/base_options @@ -128,7 +128,7 @@ option - trace -t --trace=TAG argument :handler CVC4::options::addTraceTag 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" :read-write +option printSuccess print-success --print-success bool :predicate CVC4::options::setPrintSuccess :predicate-include "options/base_options_handlers.h" 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 -- 2.30.2