summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohann Glaser <Johann.Glaser@gmx.at>2014-02-05 16:03:02 +0100
committerJohann Glaser <Johann.Glaser@gmx.at>2014-02-05 16:03:02 +0100
commit3c0b5139a19292b6a3172887b799e15dbe85a086 (patch)
tree77f218f4f200634379f0de7ef1f81445077b29f2
parent667543de0b2a4103a7bfdaffad980ea86faf8e6b (diff)
be more verbose for select -assert-any and -assert-none
-rw-r--r--passes/cmds/select.cc18
1 files changed, 16 insertions, 2 deletions
diff --git a/passes/cmds/select.cc b/passes/cmds/select.cc
index bdfa7a64..963b6940 100644
--- a/passes/cmds/select.cc
+++ b/passes/cmds/select.cc
@@ -664,6 +664,20 @@ void handle_extra_select_args(Pass *pass, std::vector<std::string> args, size_t
design->selection_stack.push_back(RTLIL::Selection(false));
}
+std::string list_nonopt_args(std::vector<std::string> 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;
}