Support extern constraint

This commit is contained in:
Wilson Snyder
2024-12-12 08:16:19 -05:00
parent 6e204ed0dd
commit a2f327f729
17 changed files with 215 additions and 90 deletions
+10
View File
@@ -72,6 +72,16 @@ class LinkResolveVisitor final : public VNVisitor {
m_classp = nodep;
iterateChildren(nodep);
}
void visit(AstConstraint* nodep) override {
// V3LinkDot moved the isExternDef into the class, the extern proto was
// checked to exist, and now isn't needed
nodep->isExternDef(false);
if (nodep->isExternProto()) {
VL_DO_DANGLING(nodep->unlinkFrBack()->deleteTree(), nodep);
return;
}
iterateChildren(nodep);
}
void visit(AstInitialAutomatic* nodep) override {
iterateChildren(nodep);
// Initial assignments under function/tasks can just be simple