diff options
author | David Shah <dave@ds0.me> | 2018-11-26 19:14:38 +0000 |
---|---|---|
committer | David Shah <dave@ds0.me> | 2018-11-26 19:14:38 +0000 |
commit | 4a44bc569abde28b8c9d7440447295af683b92f4 (patch) | |
tree | 78b4c878958f1a1c6c81d5702d0cef5d8e1a0765 /common/command.cc | |
parent | 0adc0d75297fa81034aa3f325cf2758314ca1336 (diff) | |
download | nextpnr-4a44bc569abde28b8c9d7440447295af683b92f4.tar.gz nextpnr-4a44bc569abde28b8c9d7440447295af683b92f4.tar.bz2 nextpnr-4a44bc569abde28b8c9d7440447295af683b92f4.zip |
Print warning and error count at end of execution
Signed-off-by: David Shah <dave@ds0.me>
Diffstat (limited to 'common/command.cc')
-rw-r--r-- | common/command.cc | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/common/command.cc b/common/command.cc index 6cc9fbe7..206a4d30 100644 --- a/common/command.cc +++ b/common/command.cc @@ -36,6 +36,7 @@ #include "jsonparse.h" #include "log.h" #include "timing.h" +#include "util.h" #include "version.h" NEXTPNR_NAMESPACE_BEGIN @@ -282,6 +283,15 @@ void CommandHandler::conflicting_options(const boost::program_options::variables } } +void CommandHandler::printFooter() +{ + int warning_count = get_or_default(message_count_by_level, LogLevel::WARNING, 0), + error_count = get_or_default(message_count_by_level, LogLevel::ERROR, 0); + if (warning_count > 0 || error_count > 0) + log_always("%d warning%s, %d error%s\n", warning_count, warning_count == 1 ? "" : "s", error_count, + error_count == 1 ? "" : "s"); +} + int CommandHandler::exec() { try { @@ -300,8 +310,11 @@ int CommandHandler::exec() settings = std::unique_ptr<Settings>(new Settings(ctx.get())); setupContext(ctx.get()); setupArchContext(ctx.get()); - return executeMain(std::move(ctx)); + int rc = executeMain(std::move(ctx)); + printFooter(); + return rc; } catch (log_execution_error_exception) { + printFooter(); return -1; } } |