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");