mirror of
https://github.com/verilator/verilator.git
synced 2026-10-06 01:54:01 +02:00
Fix elaborating foreach loops (#5285)
This commit is contained in:
+6
-1
@@ -551,8 +551,13 @@ private:
|
||||
}
|
||||
void visit(AstInitArray* nodep) override {
|
||||
checkNodeInfo(nodep);
|
||||
iterateChildrenConst(nodep);
|
||||
if (!m_checkOnly && optimizable()) newValue(nodep, nodep);
|
||||
}
|
||||
void visit(AstInitItem* nodep) override {
|
||||
checkNodeInfo(nodep);
|
||||
iterateChildrenConst(nodep);
|
||||
}
|
||||
void visit(AstEnumItemRef* nodep) override {
|
||||
checkNodeInfo(nodep);
|
||||
UASSERT_OBJ(nodep->itemp(), nodep, "Not linked");
|
||||
@@ -833,7 +838,7 @@ private:
|
||||
clearOptimizable(nodep, "Array initialization has too few elements, need element "
|
||||
+ cvtToStr(offset));
|
||||
} else {
|
||||
setValue(nodep, itemp);
|
||||
setValue(nodep, fetchValue(itemp));
|
||||
}
|
||||
} else {
|
||||
clearOptimizable(nodep, "Array select of non-array");
|
||||
|
||||
Reference in New Issue
Block a user