Fix backward external constraint error, from recent new support.

(Thanks sv-tests!)
This commit is contained in:
Wilson Snyder 2024-12-13 16:53:59 -05:00
parent 41a038b79b
commit a23dfdc4ee
4 changed files with 6 additions and 6 deletions

View File

@ -3330,7 +3330,7 @@ class LinkDotResolveVisitor final : public VNVisitor {
} }
} }
if (nodep->isExternProto()) { if (nodep->isExternProto()) {
if (!m_curSymp->findIdFallback(nodep->name()) && !nodep->isExternExplicit()) { if (!m_curSymp->findIdFallback(nodep->name()) && nodep->isExternExplicit()) {
nodep->v3error("Definition not found for extern " + nodep->prettyNameQ()); nodep->v3error("Definition not found for extern " + nodep->prettyNameQ());
} }
} }

View File

@ -11,7 +11,7 @@ class Packet;
extern function void f(); extern function void f();
constraint cone; constraint cone;
extern constraint ctwo; extern constraint ctwo;
extern constraint cmissing; // Ok per IEEE 1800-2023 18.5.1 constraint cmissing; // Ok per IEEE 1800-2023 18.5.1
endclass endclass

View File

@ -1,6 +1,6 @@
%Error: t/t_constraint_extern_bad.v:8:15: Definition not found for extern 'missing_bad' %Error: t/t_constraint_extern_bad.v:8:22: Definition not found for extern 'missing_bad'
8 | constraint missing_bad; 8 | extern constraint missing_bad;
| ^~~~~~~~~~~ | ^~~~~~~~~~~
%Error: t/t_constraint_extern_bad.v:11:20: extern not found that declares 'missing_extern' %Error: t/t_constraint_extern_bad.v:11:20: extern not found that declares 'missing_extern'
11 | constraint Packet::missing_extern { } 11 | constraint Packet::missing_extern { }
| ^~~~~~~~~~~~~~ | ^~~~~~~~~~~~~~

View File

@ -5,7 +5,7 @@
// SPDX-License-Identifier: CC0-1.0 // SPDX-License-Identifier: CC0-1.0
class Packet; class Packet;
constraint missing_bad; extern constraint missing_bad;
endclass endclass
constraint Packet::missing_extern { } constraint Packet::missing_extern { }