Reinstate error recovery for range expressions.
If an error is found whilst elaborating a range expression in a signal declaration, create a dummy range and continue elaboration. This stops the compiler reporting an error every time that signal is referenced.
This commit is contained in:
parent
b286b76134
commit
871d447ff7
|
|
@ -996,10 +996,6 @@ NetNet* PWire::elaborate_sig(Design*des, NetScope*scope) const
|
|||
<< ". Now check for consistency." << endl;
|
||||
}
|
||||
|
||||
/* If we find errors here, then give up on this signal. */
|
||||
if (bad_range)
|
||||
return 0;
|
||||
|
||||
/* We have a port size error */
|
||||
if (port_set_ && net_set_ && !test_ranges_eeq(plist, nlist)) {
|
||||
|
||||
|
|
|
|||
|
|
@ -972,6 +972,10 @@ bool evaluate_ranges(Design*des, NetScope*scope,
|
|||
|
||||
delete texpr;
|
||||
|
||||
/* Error recovery */
|
||||
if (bad_lsb) use_lsb = 0;
|
||||
if (bad_msb) use_msb = use_lsb;
|
||||
|
||||
llist.push_back(netrange_t(use_msb, use_lsb));
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue