Handle errors in parameter handling.
Don't crash if the user typed in an invalid parameter.
This commit is contained in:
parent
d1ce6d2535
commit
33044876dd
|
|
@ -1118,7 +1118,11 @@ void NetScope::dump(ostream&o) const
|
||||||
o << "[" << *(*pp).second.msb
|
o << "[" << *(*pp).second.msb
|
||||||
<< ":" << *(*pp).second.lsb << "] ";
|
<< ":" << *(*pp).second.lsb << "] ";
|
||||||
|
|
||||||
o << (*pp).first << " = " << *(*pp).second.expr;
|
o << (*pp).first << " = ";
|
||||||
|
if (pp->second.expr)
|
||||||
|
o << *(*pp).second.expr;
|
||||||
|
else
|
||||||
|
o << "<nil>";
|
||||||
|
|
||||||
for (range_t*ran = (*pp).second.range ; ran ; ran = ran->next) {
|
for (range_t*ran = (*pp).second.range ; ran ; ran = ran->next) {
|
||||||
if (ran->exclude_flag)
|
if (ran->exclude_flag)
|
||||||
|
|
|
||||||
|
|
@ -590,6 +590,10 @@ void NetScope::evaluate_parameters(Design*des)
|
||||||
for (param_ref_t cur = parameters.begin()
|
for (param_ref_t cur = parameters.begin()
|
||||||
; cur != parameters.end() ; cur ++) {
|
; cur != parameters.end() ; cur ++) {
|
||||||
|
|
||||||
|
// Resolve the expression type (signed/unsigned) if the
|
||||||
|
// expression is present. It is possible to not be
|
||||||
|
// present if there are earlier errors en elaboration.
|
||||||
|
if (cur->second.expr)
|
||||||
cur->second.expr->resolve_pexpr_type();
|
cur->second.expr->resolve_pexpr_type();
|
||||||
|
|
||||||
switch ((*cur).second.type) {
|
switch ((*cur).second.type) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue