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,
|
void pform_make_reginit(const struct vlltype&li,
|
||||||
perm_string name, PExpr*expr)
|
perm_string name, PExpr*expr)
|
||||||
{
|
{
|
||||||
PWire*cur = lexical_scope->wires_find(name);
|
PWire*cur = pform_get_wire_in_scope(name);
|
||||||
if (cur == 0) {
|
if (cur == 0) {
|
||||||
VLerror(li, "internal error: reginit to non-register?");
|
VLerror(li, "internal error: reginit to non-register?");
|
||||||
delete expr;
|
delete expr;
|
||||||
|
|
@ -1250,7 +1250,10 @@ void pform_make_reginit(const struct vlltype&li,
|
||||||
PProcess*top = new PProcess(PProcess::PR_INITIAL, ass);
|
PProcess*top = new PProcess(PProcess::PR_INITIAL, ass);
|
||||||
FILE_NAME(top, li);
|
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