From b5e12077b2920b98ed8be2c4389acd67937516e6 Mon Sep 17 00:00:00 2001 From: Nick Gasson Date: Tue, 15 Jul 2008 18:40:30 +0100 Subject: [PATCH] Fix assignment to lval slice It was broken in yeserday's refactoring --- tgt-vhdl/stmt.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tgt-vhdl/stmt.cc b/tgt-vhdl/stmt.cc index dfdd59263..3f4738989 100644 --- a/tgt-vhdl/stmt.cc +++ b/tgt-vhdl/stmt.cc @@ -128,7 +128,7 @@ static vhdl_expr *make_assign_rhs(ivl_signal_t sig, vhdl_scope *scope, return rhs->cast(&t); } else { - vhdl_type t(tname, lval_width); + vhdl_type t(tname, lval_width - 1); return rhs->cast(&t); } } @@ -143,7 +143,7 @@ static vhdl_var_ref *make_assign_lhs(ivl_signal_t sig, vhdl_scope *scope, vhdl_type *ltype = new vhdl_type(*decl->get_type()); vhdl_var_ref *lval_ref = new vhdl_var_ref(signame.c_str(), ltype); if (base) - lval_ref->set_slice(base, lval_width-1); + lval_ref->set_slice(base, lval_width - 1); return lval_ref; }