Support arrayed parameter overrides, bug1153.

This commit is contained in:
Wilson Snyder
2017-05-02 19:16:54 -04:00
parent 8943ad5966
commit 9dc01cf540
6 changed files with 59 additions and 4 deletions
+8
View File
@@ -1491,6 +1491,14 @@ private:
did=true;
}
}
else if (m_params && valuep->castInitArray() && nodep->backp()->castPin()) {
// Allow parameters to pass arrays
// Earlier recursion of InitArray made sure each array value is constant
// This exception is fairly fragile, i.e. doesn't support arrays of arrays or other stuff
AstNode* newp = valuep->cloneTree(false);
nodep->replaceWith(newp); nodep->deleteTree(); VL_DANGLING(nodep);
did = true;
}
}
}
if (!did && m_required) {