Return nice error in pmgen generated code, fixes #2482

This commit is contained in:
Miodrag Milanovic 2020-12-09 11:06:22 +01:00
parent c46452221e
commit 82dcf78cd9
1 changed files with 6 additions and 2 deletions

View File

@ -451,7 +451,9 @@ with open(outfile, "w") as f:
current_pattern = None current_pattern = None
print(" SigSpec port(Cell *cell, IdString portname) {", file=f) print(" SigSpec port(Cell *cell, IdString portname) {", file=f)
print(" return sigmap(cell->getPort(portname));", file=f) print(" try {", file=f)
print(" return sigmap(cell->getPort(portname));", file=f)
print(" } catch(std::out_of_range) { log_error(\"Accessing non existing port %s\\n\",portname.c_str()); }", file=f)
print(" }", file=f) print(" }", file=f)
print("", file=f) print("", file=f)
print(" SigSpec port(Cell *cell, IdString portname, const SigSpec& defval) {", file=f) print(" SigSpec port(Cell *cell, IdString portname, const SigSpec& defval) {", file=f)
@ -460,7 +462,9 @@ with open(outfile, "w") as f:
print("", file=f) print("", file=f)
print(" Const param(Cell *cell, IdString paramname) {", file=f) print(" Const param(Cell *cell, IdString paramname) {", file=f)
print(" return cell->getParam(paramname);", file=f) print(" try {", file=f)
print(" return cell->getParam(paramname);", file=f)
print(" } catch(std::out_of_range) { log_error(\"Accessing non existing parameter %s\\n\",paramname.c_str()); }", file=f)
print(" }", file=f) print(" }", file=f)
print("", file=f) print("", file=f)
print(" Const param(Cell *cell, IdString paramname, const Const& defval) {", file=f) print(" Const param(Cell *cell, IdString paramname, const Const& defval) {", file=f)