From b3c1fa3e85179019493a6645b7909124126e3099 Mon Sep 17 00:00:00 2001 From: Maciej Suminski Date: Thu, 11 Jun 2015 11:45:22 +0200 Subject: [PATCH] vhdlpp: Elaborate prefix & indices for ExpName. --- vhdlpp/expression_elaborate.cc | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/vhdlpp/expression_elaborate.cc b/vhdlpp/expression_elaborate.cc index 919331548..8b3eed90f 100644 --- a/vhdlpp/expression_elaborate.cc +++ b/vhdlpp/expression_elaborate.cc @@ -954,13 +954,22 @@ const VType* ExpName::fit_type(Entity*ent, ScopeBase*scope, const VTypeArray*)co return probe_type(ent, scope); } -int ExpName::elaborate_expr(Entity*, ScopeBase*, const VType*ltype) +int ExpName::elaborate_expr(Entity*ent, ScopeBase*scope, const VType*ltype) { if (ltype) { ivl_assert(*this, ltype != 0); set_type(ltype); } + if(prefix_.get()) + prefix_.get()->elaborate_expr(ent, scope, NULL); + + if(index_) + index_->elaborate_expr(ent, scope, &primitive_INTEGER); + + if(lsb_) + lsb_->elaborate_expr(ent, scope, &primitive_INTEGER); + return 0; }