From 862010ac190652c0257a4cd5151accf4b7b93a0d Mon Sep 17 00:00:00 2001 From: Martin Whitaker Date: Sat, 5 Oct 2019 20:11:38 +0100 Subject: [PATCH] SV does not require constant expression in variable initialisation. --- elaborate.cc | 2 -- pform.cc | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/elaborate.cc b/elaborate.cc index 0875929f3..4781893dc 100644 --- a/elaborate.cc +++ b/elaborate.cc @@ -2321,8 +2321,6 @@ NetExpr* PAssign_::elaborate_rval_(Design*des, NetScope*scope, if (!is_constant_ || !rv) return rv; - if (dynamic_cast(rv)) return rv; - cerr << get_fileline() << ": error: " "The RHS expression must be constant." << endl; cerr << get_fileline() << " : " diff --git a/pform.cc b/pform.cc index d9772dd70..18b391f50 100644 --- a/pform.cc +++ b/pform.cc @@ -2507,7 +2507,7 @@ void pform_make_var_init(const struct vlltype&li, PEIdent*lval = new PEIdent(name); FILE_NAME(lval, li); - PAssign*ass = new PAssign(lval, expr, true); + PAssign*ass = new PAssign(lval, expr, !gn_system_verilog()); FILE_NAME(ass, li); lexical_scope->var_inits.push_back(ass);