Make reg initializations account for generated scope.

During parse, reg initialization may be in generated scopes. Handle
that properly.
This commit is contained in:
Stephen Williams 2008-06-14 21:50:48 -07:00
parent 30d42e2806
commit 05f1541903
1 changed files with 5 additions and 2 deletions

View File

@ -1236,7 +1236,7 @@ void pform_make_pgassign_list(svector<PExpr*>*alist,
void pform_make_reginit(const struct vlltype&li,
perm_string name, PExpr*expr)
{
PWire*cur = lexical_scope->wires_find(name);
PWire*cur = pform_get_wire_in_scope(name);
if (cur == 0) {
VLerror(li, "internal error: reginit to non-register?");
delete expr;
@ -1250,7 +1250,10 @@ void pform_make_reginit(const struct vlltype&li,
PProcess*top = new PProcess(PProcess::PR_INITIAL, ass);
FILE_NAME(top, li);
lexical_scope->behaviors.push_back(top);
if (pform_cur_generate)
pform_cur_generate->add_behavior(top);
else
lexical_scope->behaviors.push_back(top);
}
/*