From f9109eb61f4e89c3dba377967114edd45284ac50 Mon Sep 17 00:00:00 2001 From: Wilson Snyder Date: Sat, 22 Mar 2025 08:03:25 -0400 Subject: [PATCH] Delay deletes in V3Fork (#5862 attempt) --- src/V3Fork.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/V3Fork.cpp b/src/V3Fork.cpp index 848222334..81594d856 100644 --- a/src/V3Fork.cpp +++ b/src/V3Fork.cpp @@ -330,7 +330,7 @@ class DynScopeVisitor final : public VNVisitor { membersel->varp(refp->varp()); } handle.relink(membersel); - VL_DO_DANGLING(refp->deleteTree(), refp); + VL_DO_DANGLING(pushDeletep(refp), refp); } static bool hasAsyncFork(AstNode* nodep) { @@ -591,7 +591,7 @@ class ForkVisitor final : public VNVisitor { taskp = makeTask(beginp->fileline(), beginp->stmtsp()->unlinkFrBackWithNext(), taskName); beginp->unlinkFrBack(&handle); - VL_DO_DANGLING(beginp->deleteTree(), beginp); + VL_DO_DANGLING(pushDeletep(beginp), beginp); } else if (AstNodeStmt* const stmtp = VN_CAST(nodep, NodeStmt)) { const string taskName = generateTaskName(stmtp, "fork_stmt"); taskp = makeTask(stmtp->fileline(), stmtp->unlinkFrBack(&handle), taskName);