aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth/elab-vhdl_types.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2021-11-13 22:14:46 +0100
committerTristan Gingold <tgingold@free.fr>2021-11-13 22:14:46 +0100
commitd4e80643bc015d6404d9ac23a32cf9c5ff084976 (patch)
treecfe8c062e2815c2fffcaeb0d1049502b8aa96f69 /src/synth/elab-vhdl_types.adb
parent56735b0d1e92b4246ef53442236e89afe07aacdc (diff)
downloadghdl-d4e80643bc015d6404d9ac23a32cf9c5ff084976.tar.gz
ghdl-d4e80643bc015d6404d9ac23a32cf9c5ff084976.tar.bz2
ghdl-d4e80643bc015d6404d9ac23a32cf9c5ff084976.zip
synth: add exec_name_subtype. Fix #1911
Diffstat (limited to 'src/synth/elab-vhdl_types.adb')
-rw-r--r--src/synth/elab-vhdl_types.adb4
1 files changed, 1 insertions, 3 deletions
diff --git a/src/synth/elab-vhdl_types.adb b/src/synth/elab-vhdl_types.adb
index 1238bec39..300f57427 100644
--- a/src/synth/elab-vhdl_types.adb
+++ b/src/synth/elab-vhdl_types.adb
@@ -76,15 +76,13 @@ package body Elab.Vhdl_Types is
Dim : constant Natural :=
Vhdl.Evaluation.Eval_Attribute_Parameter_Or_1 (Attr);
Typ : Type_Acc;
- Val : Valtyp;
begin
-- Prefix is an array object or an array subtype.
if Get_Kind (Prefix) = Iir_Kind_Subtype_Declaration then
-- TODO: does this cover all the cases ?
Typ := Get_Subtype_Object (Syn_Inst, Get_Subtype_Indication (Prefix));
else
- Val := Exec_Name (Syn_Inst, Prefix_Name);
- Typ := Val.Typ;
+ Typ := Exec_Name_Subtype (Syn_Inst, Prefix_Name);
end if;
return Get_Array_Bound (Typ, Dim_Type (Dim));