mirror of
https://github.com/verilator/verilator.git
synced 2026-09-02 18:58:51 +02:00
+6
-3
@@ -712,9 +712,12 @@ class ConstraintExprVisitor final : public VNVisitor {
|
||||
}
|
||||
void visit(AstStructSel* nodep) override {
|
||||
if (VN_IS(nodep->fromp()->dtypep()->skipRefp(), StructDType)) {
|
||||
AstMemberDType* memberp
|
||||
= VN_AS(nodep->fromp()->dtypep()->skipRefp(), StructDType)->membersp();
|
||||
while (memberp->nextp()) {
|
||||
AstNodeExpr* const fromp = nodep->fromp();
|
||||
if (VN_IS(fromp, StructSel)) {
|
||||
VN_AS(fromp->dtypep()->skipRefp(), StructDType)->markConstrainedRand(true);
|
||||
}
|
||||
AstMemberDType* memberp = VN_AS(fromp->dtypep()->skipRefp(), StructDType)->membersp();
|
||||
while (memberp) {
|
||||
if (memberp->name() == nodep->name()) {
|
||||
memberp->markConstrainedRand(true);
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user