Fix broken support of unassigned virtual interfaces (#6253) (#6338)

* Fix broken support of unassigned virtual interfaces

Unassigned virtual interface support added by #6245 is broken - PR marks
dead module as alive - we can't do that as once a module is dead it
needs to remain dead because earlier steps (e.g. port resolution) have
already been skipped.

This commit handles unassigned virtual interfaces at the beginning of
first pass of LinkDot (so it is never marked as dead, and no linking
steps are getting skipped).

Fixes #6253.

* Apply suggestions from code review

Co-authored-by: Wilson Snyder <[email protected]>

* Apply 'make format'

* Revert add of redundant iterateChildren() call

* Add original test case

---------

Co-authored-by: Wilson Snyder <[email protected]>
Co-authored-by: github action <[email protected]>
This commit is contained in:
Szymon Gizler
2025-08-28 09:03:46 -04:00
committed by GitHub
co-authored by Wilson Snyder github action
parent 1043a6c6be
commit 8868d459a2
9 changed files with 164 additions and 18 deletions
@@ -0,0 +1,5 @@
%Error: t/t_interface_virtual_missing_bad.v:9:12: Cannot find file containing interface: 'foo'
9 | virtual foo vif;
| ^~~
... See the manual at https://verilator.org/verilator_doc.html?v=latest for more assistance.
%Error: Exiting due to