From 05f15419031268573cd24e5bf53d30d8e6e60613 Mon Sep 17 00:00:00 2001 From: Stephen Williams Date: Sat, 14 Jun 2008 21:50:48 -0700 Subject: [PATCH] Make reg initializations account for generated scope. During parse, reg initialization may be in generated scopes. Handle that properly. --- pform.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pform.cc b/pform.cc index 4aa94080d..abdca446e 100644 --- a/pform.cc +++ b/pform.cc @@ -1236,7 +1236,7 @@ void pform_make_pgassign_list(svector*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); } /*