Make reg initializations account for generated scope.
During parse, reg initialization may be in generated scopes. Handle that properly.
This commit is contained in:
parent
30d42e2806
commit
05f1541903
7
pform.cc
7
pform.cc
|
|
@ -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);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
Loading…
Reference in New Issue