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 += ", ";