aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlberto Gonzalez <boqwxp@airmail.cc>2020-03-23 17:50:11 +0000
committerAlberto Gonzalez <boqwxp@airmail.cc>2020-03-23 17:50:11 +0000
commit0da65d498b9f18ce0c09eedc19f16db2390e6dcb (patch)
treebf39f6dd98c12757d74b1581c2e422e0458e3ac4
parentca4e5dd56e1f007fa13c791ab179236103187c6f (diff)
downloadyosys-0da65d498b9f18ce0c09eedc19f16db2390e6dcb.tar.gz
yosys-0da65d498b9f18ce0c09eedc19f16db2390e6dcb.tar.bz2
yosys-0da65d498b9f18ce0c09eedc19f16db2390e6dcb.zip
Do not warn on empty selection with prefixed `arg_memb`.
Co-Authored-By: N. Engelhardt <nak@symbioticeda.com>
-rw-r--r--passes/cmds/select.cc3
-rw-r--r--tests/select/no_warn_prefixed_arg_memb.ys5
2 files changed, 7 insertions, 1 deletions
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