diff options
author | Clifford Wolf <clifford@clifford.at> | 2018-11-05 12:33:21 +0100 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2018-11-05 12:33:33 +0100 |
commit | 719e29404a74db8f994c9c3dc0d6b6e8d7f114a7 (patch) | |
tree | 06b303fae19d12c5f1ce145ddd07b6dbde389d2a | |
parent | 8f50f289b9d142828aa38a2d3338e8bf517b0258 (diff) | |
download | yosys-719e29404a74db8f994c9c3dc0d6b6e8d7f114a7.tar.gz yosys-719e29404a74db8f994c9c3dc0d6b6e8d7f114a7.tar.bz2 yosys-719e29404a74db8f994c9c3dc0d6b6e8d7f114a7.zip |
Allow square brackets in liberty identifiers
Signed-off-by: Clifford Wolf <clifford@clifford.at>
-rw-r--r-- | frontends/liberty/liberty.cc | 3 | ||||
-rw-r--r-- | passes/techmap/libparse.cc | 4 |
2 files changed, 4 insertions, 3 deletions
diff --git a/frontends/liberty/liberty.cc b/frontends/liberty/liberty.cc index 66db43baf..4acfbf1cb 100644 --- a/frontends/liberty/liberty.cc +++ b/frontends/liberty/liberty.cc @@ -36,7 +36,8 @@ static RTLIL::SigSpec parse_func_identifier(RTLIL::Module *module, const char *& int id_len = 0; while (('a' <= expr[id_len] && expr[id_len] <= 'z') || ('A' <= expr[id_len] && expr[id_len] <= 'Z') || - ('0' <= expr[id_len] && expr[id_len] <= '9') || expr[id_len] == '.' || expr[id_len] == '_') id_len++; + ('0' <= expr[id_len] && expr[id_len] <= '9') || expr[id_len] == '.' || + expr[id_len] == '_' || expr[id_len] == '[' || expr[id_len] == ']') id_len++; if (id_len == 0) log_error("Expected identifier at `%s'.\n", expr); diff --git a/passes/techmap/libparse.cc b/passes/techmap/libparse.cc index bb09117e2..3927a657b 100644 --- a/passes/techmap/libparse.cc +++ b/passes/techmap/libparse.cc @@ -90,11 +90,11 @@ int LibertyParser::lexer(std::string &str) c = f.get(); } while (c == ' ' || c == '\t' || c == '\r'); - if (('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || ('0' <= c && c <= '9') || c == '_' || c == '-' || c == '+' || c == '.') { + if (('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || ('0' <= c && c <= '9') || c == '_' || c == '-' || c == '+' || c == '.' || c == '[' || c == ']') { str = c; while (1) { c = f.get(); - if (('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || ('0' <= c && c <= '9') || c == '_' || c == '-' || c == '+' || c == '.') + if (('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || ('0' <= c && c <= '9') || c == '_' || c == '-' || c == '+' || c == '.' || c == '[' || c == ']') str += c; else break; |