From 49515ff62b8b2567fe1cb665bf866c0900dc40bb Mon Sep 17 00:00:00 2001 From: anon Date: Mon, 13 Jun 2016 00:55:28 +0200 Subject: [PATCH 1/2] Update vtype.cc Fixed bug described in #110 --- vhdlpp/vtype.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/vhdlpp/vtype.cc b/vhdlpp/vtype.cc index 64e94ef46..de5894d74 100644 --- a/vhdlpp/vtype.cc +++ b/vhdlpp/vtype.cc @@ -119,7 +119,10 @@ VTypeArray::VTypeArray(const VType*element, std::list*r, bool sv) for (size_t idx = 0 ; idx < ranges_.size() ; idx += 1) { ExpRange*curp = r->front(); r->pop_front(); - ranges_[idx] = range_t(curp->msb(), curp->lsb(), curp->direction()); + ranges_[idx] = range_t(curp->msb(), curp->lsb(), + (curp->direction() == ExpRange::range_dir_t::DOWNTO + ? true + : false)); } } From 6d06e9351acb847fcfc9f79ceafe960c3531b06e Mon Sep 17 00:00:00 2001 From: anon Date: Mon, 13 Jun 2016 00:56:43 +0200 Subject: [PATCH 2/2] Update parse_misc.cc Fixed bug described in #110 --- vhdlpp/parse_misc.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/vhdlpp/parse_misc.cc b/vhdlpp/parse_misc.cc index eefe5296b..86c8e90cb 100644 --- a/vhdlpp/parse_misc.cc +++ b/vhdlpp/parse_misc.cc @@ -121,7 +121,11 @@ const VType* calculate_subtype_array(const YYLTYPE&loc, const char*base_name, Expression*lef = tmpr->left(); Expression*rig = tmpr->right(); return calculate_subtype_array(loc, base_name, scope, - lef, tmpr->direction(), rig); + lef, + (tmpr->direction() == ExpRange::range_dir_t::DOWNTO + ? true + : false), + rig); } sorrymsg(loc, "Don't know how to handle multiple ranges here.\n");