Treat an empty @* as something that will never trigger.
An @* with no sensitivities should be treated as something that will never trigger vs something that will run continuously. This patch makes this change and adds a warning when an @* has no sensitivities since this is almost certainly a coding bug.
This commit is contained in:
parent
9fbeb78d5f
commit
92ad41d65b
18
elaborate.cc
18
elaborate.cc
|
|
@ -3317,10 +3317,20 @@ NetProc* PEventStatement::elaborate_st(Design*des, NetScope*scope,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (nset->count() == 0) {
|
if (nset->count() == 0) {
|
||||||
cerr << get_fileline() << ": error: No inputs to statement."
|
cerr << get_fileline() << ": warning: @* found no "
|
||||||
<< " The @* cannot execute." << endl;
|
"sensitivities so it will never trigger."
|
||||||
des->errors += 1;
|
<< endl;
|
||||||
return enet;
|
/* Add the currently unreferenced event to the scope. */
|
||||||
|
scope->add_event(ev);
|
||||||
|
/* Delete the current wait, create a new one with no
|
||||||
|
* statement and add the event to it. This creates a
|
||||||
|
* perpetual wait since nothing will ever trigger the
|
||||||
|
* unreferenced event. */
|
||||||
|
delete wa;
|
||||||
|
wa = new NetEvWait(0);
|
||||||
|
wa->set_line(*this);
|
||||||
|
wa->add_event(ev);
|
||||||
|
return wa;
|
||||||
}
|
}
|
||||||
|
|
||||||
NetEvProbe*pr = new NetEvProbe(scope, scope->local_symbol(),
|
NetEvProbe*pr = new NetEvProbe(scope, scope->local_symbol(),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue