From 3c0b5139a19292b6a3172887b799e15dbe85a086 Mon Sep 17 00:00:00 2001 From: Johann Glaser Date: Wed, 5 Feb 2014 16:03:02 +0100 Subject: [PATCH] be more verbose for select -assert-any and -assert-none --- passes/cmds/select.cc | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/passes/cmds/select.cc b/passes/cmds/select.cc index bdfa7a64e..963b6940f 100644 --- a/passes/cmds/select.cc +++ b/passes/cmds/select.cc @@ -664,6 +664,20 @@ void handle_extra_select_args(Pass *pass, std::vector args, size_t design->selection_stack.push_back(RTLIL::Selection(false)); } +std::string list_nonopt_args(std::vector args) +{ + size_t argidx; + std::string result = ""; + for (argidx = 1; argidx < args.size(); argidx++) + { + std::string arg = args[argidx]; + if (arg.size() > 0 && arg[0] == '-') + continue; + result += arg + " "; + } + return result; +} + struct SelectPass : public Pass { SelectPass() : Pass("select", "modify and view the list of selected objects") { } virtual void help() @@ -1004,7 +1018,7 @@ struct SelectPass : public Pass { if (work_stack.size() == 0) log_cmd_error("No selection to check.\n"); if (!work_stack.back().empty()) - log_error("Assertation failed: selection is not empty.\n"); + log_error("Assertation failed: selection is not empty: %s\n",list_nonopt_args(args).c_str()); return; } @@ -1013,7 +1027,7 @@ struct SelectPass : public Pass { if (work_stack.size() == 0) log_cmd_error("No selection to check.\n"); if (work_stack.back().empty()) - log_error("Assertation failed: selection is empty.\n"); + log_error("Assertation failed: selection is empty: %s\n",list_nonopt_args(args).c_str()); return; } -- 2.30.2