mirror of
https://github.com/verilator/verilator.git
synced 2026-10-06 01:54:01 +02:00
Add covergroup runtime registry (#8134)
This commit is contained in:
@@ -541,6 +541,8 @@ string EmitCFunc::emitVarResetRecurse(const AstVar* varp, bool constructing,
|
||||
depth + 1, suffix + ".atDefault()", nullptr);
|
||||
} else if (VN_IS(dtypep, CDType)) {
|
||||
return ""; // Constructor does it
|
||||
} else if (VN_IS(dtypep, CoverpointDType)) {
|
||||
return ""; // Covergroup constructor creates the runtime and assigns the pointer
|
||||
} else if (const AstClassRefDType* const adtypep = VN_CAST(dtypep, ClassRefDType)) {
|
||||
return adtypep->rawPointer() ? varNameProtected + suffix + " = nullptr;\n" : "";
|
||||
} else if (VN_IS(dtypep, IfaceRefDType)) {
|
||||
@@ -594,6 +596,10 @@ string EmitCFunc::emitVarResetRecurse(const AstVar* varp, bool constructing,
|
||||
return "";
|
||||
} else if (basicp && (basicp->isRandomGenerator() || basicp->isStdRandomGenerator())) {
|
||||
return "";
|
||||
} else if (basicp && (basicp->isCovergroupInstHandle() || basicp->isCovergroupCross())) {
|
||||
// The handle's own constructor deals with it; the cross is a borrowed pointer that
|
||||
// the covergroup constructor assigns once it creates the runtime
|
||||
return "";
|
||||
} else if (basicp && (basicp->isEvent())) {
|
||||
return "VlAssignableEvent{};\n";
|
||||
} else if (basicp) {
|
||||
|
||||
Reference in New Issue
Block a user