Case statements need their expresions probed.
Probe the widths of the case statement expressions. The expressions are self-determined in that context, but the probe is needed to setup the expression types.
This commit is contained in:
parent
1cc5586c4d
commit
d272a93a40
|
|
@ -2215,6 +2215,7 @@ NetProc* PCase::elaborate(Design*des, NetScope*scope) const
|
||||||
{
|
{
|
||||||
assert(scope);
|
assert(scope);
|
||||||
|
|
||||||
|
probe_expr_width(des, scope, expr_);
|
||||||
NetExpr*expr = elab_and_eval(des, scope, expr_, -1);
|
NetExpr*expr = elab_and_eval(des, scope, expr_, -1);
|
||||||
if (expr == 0) {
|
if (expr == 0) {
|
||||||
cerr << get_fileline() << ": error: Unable to elaborate this case"
|
cerr << get_fileline() << ": error: Unable to elaborate this case"
|
||||||
|
|
@ -2267,6 +2268,7 @@ NetProc* PCase::elaborate(Design*des, NetScope*scope) const
|
||||||
NetExpr*gu = 0;
|
NetExpr*gu = 0;
|
||||||
NetProc*st = 0;
|
NetProc*st = 0;
|
||||||
assert(cur->expr[e]);
|
assert(cur->expr[e]);
|
||||||
|
probe_expr_width(des, scope, cur->expr[e]);
|
||||||
gu = elab_and_eval(des, scope, cur->expr[e], -1);
|
gu = elab_and_eval(des, scope, cur->expr[e], -1);
|
||||||
|
|
||||||
if (cur->stat)
|
if (cur->stat)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue