From 0da65d498b9f18ce0c09eedc19f16db2390e6dcb Mon Sep 17 00:00:00 2001 From: Alberto Gonzalez Date: Mon, 23 Mar 2020 17:50:11 +0000 Subject: [PATCH] Do not warn on empty selection with prefixed `arg_memb`. Co-Authored-By: N. Engelhardt --- passes/cmds/select.cc | 3 ++- tests/select/no_warn_prefixed_arg_memb.ys | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 tests/select/no_warn_prefixed_arg_memb.ys diff --git a/passes/cmds/select.cc b/passes/cmds/select.cc index fc693d20e..b64b077e4 100644 --- a/passes/cmds/select.cc +++ b/passes/cmds/select.cc @@ -775,7 +775,8 @@ static void select_stmt(RTLIL::Design *design, std::string arg, bool disable_emp arg_mod = arg.substr(0, pos); if (!prefixed) arg_mod_found[arg_mod] = false; arg_memb = arg.substr(pos+1); - if (!prefixed) arg_memb_found[arg_memb] = false; + bool arg_memb_prefixed = GetSize(arg_memb) >= 2 && isalpha(arg_memb[0]) && arg_memb[1] == ':'; + if (!arg_memb_prefixed) arg_memb_found[arg_memb] = false; } } diff --git a/tests/select/no_warn_prefixed_arg_memb.ys b/tests/select/no_warn_prefixed_arg_memb.ys new file mode 100644 index 000000000..596a6ed70 --- /dev/null +++ b/tests/select/no_warn_prefixed_arg_memb.ys @@ -0,0 +1,5 @@ +logger -expect-no-warnings +read_verilog ../../examples/igloo2/example.v +hierarchy +proc +select example/t:$add