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 (!m_curSymp->findIdFallback(nodep->name()) && !nodep->isExternExplicit()) {
if (!m_curSymp->findIdFallback(nodep->name()) && nodep->isExternExplicit()) {
nodep->v3error("Definition not found for extern " + nodep->prettyNameQ());
}
}

View File

@ -11,7 +11,7 @@ class Packet;
extern function void f();
constraint cone;
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

View File

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

View File

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