diff options
author | Morgan Deters <mdeters@gmail.com> | 2012-09-21 10:24:08 +0000 |
---|---|---|
committer | Morgan Deters <mdeters@gmail.com> | 2012-09-21 10:24:08 +0000 |
commit | 9c543757e459bfae5ce1254322212f72af0d37a4 (patch) | |
tree | 710ae09a33cef2b8d80d1c5ceae9048301c8d460 /src/options | |
parent | 107988db066b3265c1cb80662e06f240def2a2c0 (diff) |
better verbosity support (so it's sensible when the library is used via the API)
(this commit was certified error- and warning-free by the test-and-commit script.)
Diffstat (limited to 'src/options')
-rw-r--r-- | src/options/base_options | 2 | ||||
-rw-r--r-- | src/options/base_options_handlers.h | 31 |
2 files changed, 32 insertions, 1 deletions
diff --git a/src/options/base_options b/src/options/base_options index baaf03b50..f7d1a77d4 100644 --- a/src/options/base_options +++ b/src/options/base_options @@ -77,7 +77,7 @@ common-option outputLanguage output-language --output-lang=LANG OutputLanguage : force input language (default is "auto"; see --lang help) option languageHelp bool -option verbosity verbosity int :read-write :default 0 +option verbosity verbosity int :read-write :default 0 :predicate CVC4::options::setVerbosity :predicate-include "options/base_options_handlers.h" the verbosity level of CVC4 common-option - -v --verbose void :handler CVC4::options::increaseVerbosity increase verbosity (may be repeated) diff --git a/src/options/base_options_handlers.h b/src/options/base_options_handlers.h index 76ba9e295..66dc97808 100644 --- a/src/options/base_options_handlers.h +++ b/src/options/base_options_handlers.h @@ -29,12 +29,43 @@ namespace CVC4 { namespace options { +inline void setVerbosity(std::string option, int value, SmtEngine* smt) throw(OptionException) { + if(Configuration::isMuzzledBuild()) { + DebugChannel.setStream(CVC4::null_os); + TraceChannel.setStream(CVC4::null_os); + NoticeChannel.setStream(CVC4::null_os); + ChatChannel.setStream(CVC4::null_os); + MessageChannel.setStream(CVC4::null_os); + WarningChannel.setStream(CVC4::null_os); + } else { + if(value < 2) { + ChatChannel.setStream(CVC4::null_os); + } else { + ChatChannel.setStream(std::cout); + } + if(value < 1) { + NoticeChannel.setStream(CVC4::null_os); + } else { + NoticeChannel.setStream(std::cout); + } + if(value < 0) { + MessageChannel.setStream(CVC4::null_os); + WarningChannel.setStream(CVC4::null_os); + } else { + MessageChannel.setStream(std::cout); + WarningChannel.setStream(std::cerr); + } + } +} + inline void increaseVerbosity(std::string option, SmtEngine* smt) { options::verbosity.set(options::verbosity() + 1); + setVerbosity(option, options::verbosity(), smt); } inline void decreaseVerbosity(std::string option, SmtEngine* smt) { options::verbosity.set(options::verbosity() - 1); + setVerbosity(option, options::verbosity(), smt); } inline OutputLanguage stringToOutputLanguage(std::string option, std::string optarg, SmtEngine* smt) throw(OptionException) { |