diff --git a/src/V3LinkDot.cpp b/src/V3LinkDot.cpp index 043520551..e1eb250bb 100644 --- a/src/V3LinkDot.cpp +++ b/src/V3LinkDot.cpp @@ -525,10 +525,14 @@ public: varp->v3warn(E_UNSUPPORTED, "Unsupported: Interfaced port on top level module"); } - ifacerefp->v3error("Parent instance's interface is not found: " - << AstNode::prettyNameQ(ifacerefp->ifaceName()) << '\n' + ifacerefp->v3error("Interface " + << AstNode::prettyNameQ(ifacerefp->ifaceName()) + << " not connected as parent's interface not connected\n" << ifacerefp->warnMore() - << "... Perhaps intended an interface instantiation but " + << "... Perhaps caused by another error on the parent " + "interface that needs resolving\n" + << ifacerefp->warnMore() + << "... Or, perhaps intended an interface instantiation but " "are missing parenthesis (IEEE 1800-2023 25.3)?"); continue; } else if (ifacerefp->ifaceViaCellp()->dead() diff --git a/test_regress/t/t_interface_paren_missing_bad.out b/test_regress/t/t_interface_paren_missing_bad.out index f86122e68..573097bdc 100644 --- a/test_regress/t/t_interface_paren_missing_bad.out +++ b/test_regress/t/t_interface_paren_missing_bad.out @@ -1,5 +1,6 @@ -%Error: t/t_interface_paren_missing_bad.v:13:4: Parent instance's interface is not found: 'intf' - : ... Perhaps intended an interface instantiation but are missing parenthesis (IEEE 1800-2023 25.3)? +%Error: t/t_interface_paren_missing_bad.v:13:4: Interface 'intf' not connected as parent's interface not connected + : ... Perhaps caused by another error on the parent interface that needs resolving + : ... Or, perhaps intended an interface instantiation but are missing parenthesis (IEEE 1800-2023 25.3)? 13 | intf intf_i; | ^~~~ ... See the manual at https://verilator.org/verilator_doc.html?v=latest for more assistance. diff --git a/test_regress/t/t_interface_top_bad.out b/test_regress/t/t_interface_top_bad.out index e90e95137..418f785fc 100644 --- a/test_regress/t/t_interface_top_bad.out +++ b/test_regress/t/t_interface_top_bad.out @@ -2,8 +2,9 @@ 17 | ifc.counter_mp c_data | ^~~~~~ ... For error description see https://verilator.org/warn/UNSUPPORTED?v=latest -%Error: t/t_interface_top_bad.v:17:4: Parent instance's interface is not found: 'ifc' - : ... Perhaps intended an interface instantiation but are missing parenthesis (IEEE 1800-2023 25.3)? +%Error: t/t_interface_top_bad.v:17:4: Interface 'ifc' not connected as parent's interface not connected + : ... Perhaps caused by another error on the parent interface that needs resolving + : ... Or, perhaps intended an interface instantiation but are missing parenthesis (IEEE 1800-2023 25.3)? 17 | ifc.counter_mp c_data | ^~~ ... See the manual at https://verilator.org/verilator_doc.html?v=latest for more assistance. diff --git a/test_regress/t/t_interface_typo_bad.out b/test_regress/t/t_interface_typo_bad.out index e08823cfa..330ae193f 100644 --- a/test_regress/t/t_interface_typo_bad.out +++ b/test_regress/t/t_interface_typo_bad.out @@ -1,5 +1,6 @@ -%Error: t/t_interface_typo_bad.v:14:4: Parent instance's interface is not found: 'foo_intf' - : ... Perhaps intended an interface instantiation but are missing parenthesis (IEEE 1800-2023 25.3)? +%Error: t/t_interface_typo_bad.v:14:4: Interface 'foo_intf' not connected as parent's interface not connected + : ... Perhaps caused by another error on the parent interface that needs resolving + : ... Or, perhaps intended an interface instantiation but are missing parenthesis (IEEE 1800-2023 25.3)? 14 | foo_intf foo | ^~~~~~~~ ... See the manual at https://verilator.org/verilator_doc.html?v=latest for more assistance.