From 22cad93083c8bad9de642ca46931561f4f5ae4a8 Mon Sep 17 00:00:00 2001 From: Kamil Danecki Date: Tue, 17 Mar 2026 19:20:24 +0100 Subject: [PATCH] Non functioning split static parameter into port and static var Signed-off-by: Kamil Danecki --- src/V3Begin.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/V3Begin.cpp b/src/V3Begin.cpp index b1b02ca0a..bbc8b0305 100644 --- a/src/V3Begin.cpp +++ b/src/V3Begin.cpp @@ -300,10 +300,14 @@ class BeginVisitor final : public VNVisitor { void visit(AstVar* nodep) override { // If static variable, move it outside a function. if (nodep->lifetime().isStatic() && m_ftaskp) { + UINFO(0, "TASK IS STATIC " << m_ftaskp->lifetime().isStatic()); const std::string newName = m_ftaskp->name() + "__Vstatic__" + dot(m_unnamedScope, nodep->name()); + AstVar* newVarp = nodep->cloneTreePure(false); + nodep->replaceWith(newVarp); + // AstNode::addNext(nodep, newVarp); nodep->name(newName); - nodep->unlinkFrBack(); + // nodep->unlinkFrBack(); m_ftaskp->addHereThisAsNext(nodep); nodep->funcLocal(false); } else if (m_unnamedScope != "") {