diff --git a/src/V3Coverage.cpp b/src/V3Coverage.cpp index afd932909..9c19319d8 100644 --- a/src/V3Coverage.cpp +++ b/src/V3Coverage.cpp @@ -824,6 +824,7 @@ class CoverageVisitor final : public VNVisitor { if (pair.second) { varp = new AstVar{fl, VVarType::MODULETEMP, m_exprTempNames.get(frefp), dtypep}; + varp->lifetime(VLifetime::AUTOMATIC_EXPLICIT); pair.first->second = varp; if (m_ftaskp) { varp->funcLocal(true); diff --git a/test_regress/t/t_cover_expr_fork.v b/test_regress/t/t_cover_expr_fork.v index fd2474bad..c111e5947 100644 --- a/test_regress/t/t_cover_expr_fork.v +++ b/test_regress/t/t_cover_expr_fork.v @@ -13,6 +13,9 @@ module t; if (!x) begin cnt++; end + if (!$onehot(x)) begin + cnt++; + end end join_none endtask @@ -20,7 +23,7 @@ module t; initial begin myTask(); #1; - if (cnt != 1) $stop; + if (cnt != 2) $stop; $write("*-* All Finished *-*\n"); $finish;