From 826b03c21f492a8fc7c3c4f27007ff85c978f07b Mon Sep 17 00:00:00 2001 From: Gilberto Abram Date: Tue, 24 Feb 2026 14:08:01 -0500 Subject: [PATCH] Fix segfault in EmitCSyms::getSymCtorStmts (#7142) (#7143) --- src/V3EmitCSyms.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/V3EmitCSyms.cpp b/src/V3EmitCSyms.cpp index c7dee5e68..5a9c6398f 100644 --- a/src/V3EmitCSyms.cpp +++ b/src/V3EmitCSyms.cpp @@ -828,8 +828,9 @@ std::vector EmitCSyms::getSymCtorStmts() { stmt += ", "; stmt += varp->vlEnumDir(); // VLVD_IN etc if (varp->dtypep()->skipRefp()->isSigned()) stmt += "|VLVF_SIGNED"; - if (varp->dtypep()->skipRefp()->basicp()->keyword() == VBasicDTypeKwd::BIT) - stmt += "|VLVF_BITVAR"; + if (AstBasicDType* const basicp = varp->dtypep()->skipRefp()->basicp()) { + if (basicp->keyword() == VBasicDTypeKwd::BIT) stmt += "|VLVF_BITVAR"; + } stmt += ", "; stmt += std::to_string(udim); stmt += ", ";