Fix V3Assert stale failsp after recursive iteration (#7500) (#7513)

Fixes #7500.
This commit is contained in:
Nikolai Kumar
2026-04-29 05:18:12 -04:00
committed by GitHub
parent 8f18f0cf22
commit 4ebc4f1eee
3 changed files with 64 additions and 0 deletions
+5
View File
@@ -429,6 +429,11 @@ class AssertVisitor final : public VNVisitor {
const string& message = nodep->name();
AstNode* passsp = nodep->passsp();
if (passsp) passsp->unlinkFrBackWithNext();
if (AstAssert* const assertp = VN_CAST(nodep, Assert)) {
failsp = assertp->failsp();
} else if (AstAssertIntrinsic* const assertp = VN_CAST(nodep, AssertIntrinsic)) {
failsp = assertp->failsp();
}
if (failsp) failsp->unlinkFrBackWithNext();
bool selfDestruct = false;