Add isolate_assignments to functions

git-svn-id: file://localhost/svn/verilator/trunk/verilator@881 77ca24e4-aefa-0310-84f0-b9a241c72d87
This commit is contained in:
Wilson Snyder
2007-01-30 15:51:16 +00:00
parent f1a2ee3273
commit ecb938f20e
6 changed files with 27 additions and 6 deletions
+3
View File
@@ -220,6 +220,8 @@ private:
nodep->userp(m_curVarsp);
}
// Convert the func's range to the output variable
// This should probably be done in the Parser instead, as then we could
// just attact normal signal attributes to it.
if (AstFunc* funcp = nodep->castFunc()) {
if (!funcp->fvarp()->castVar()) {
AstRange* rangep = funcp->fvarp()->castRange();
@@ -228,6 +230,7 @@ private:
newvarp->isSigned(funcp->isSigned());
newvarp->funcReturn(true);
newvarp->trace(false); // Not user visible
newvarp->attrIsolateAssign(funcp->attrIsolateAssign());
funcp->addFvarp(newvarp);
// Explicit insert required, as the var name shadows the upper level's task name
m_curVarsp->insert(newvarp->name(), newvarp);