aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/translate/trans-chap3.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2020-07-27 18:54:12 +0200
committerTristan Gingold <tgingold@free.fr>2020-07-27 18:54:12 +0200
commit89f81ef02c4fb9d0441a2b1c773c8e9da79cda5a (patch)
tree196ca66b632387d7c3b4484086c87f983ce18fd2 /src/vhdl/translate/trans-chap3.adb
parenta663cbbe964e351e91560d0c7e660f90deb3f83e (diff)
downloadghdl-89f81ef02c4fb9d0441a2b1c773c8e9da79cda5a.tar.gz
ghdl-89f81ef02c4fb9d0441a2b1c773c8e9da79cda5a.tar.bz2
ghdl-89f81ef02c4fb9d0441a2b1c773c8e9da79cda5a.zip
translate: fix foreach_non_composite for arrays with unbounded elements.
Diffstat (limited to 'src/vhdl/translate/trans-chap3.adb')
-rw-r--r--src/vhdl/translate/trans-chap3.adb9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/vhdl/translate/trans-chap3.adb b/src/vhdl/translate/trans-chap3.adb
index b88881ed3..861ba894a 100644
--- a/src/vhdl/translate/trans-chap3.adb
+++ b/src/vhdl/translate/trans-chap3.adb
@@ -2726,11 +2726,11 @@ package body Trans.Chap3 is
return Layout_To_Bounds (Array_Bounds_To_Element_Layout (B, Arr_Type));
end Array_Bounds_To_Element_Bounds;
- function Array_Bounds_To_Element_Size (B : Mnode; Arr_Type : Iir)
- return O_Lnode is
+ function Array_Bounds_To_Element_Size
+ (B : Mnode; Arr_Type : Iir; Mode : Object_Kind_Type) return O_Lnode is
begin
return Layout_To_Size
- (Array_Bounds_To_Element_Layout (B, Arr_Type), Get_Object_Kind (B));
+ (Array_Bounds_To_Element_Layout (B, Arr_Type), Mode);
end Array_Bounds_To_Element_Size;
function Type_To_Range (Atype : Iir) return Mnode
@@ -3039,7 +3039,8 @@ package body Trans.Chap3 is
(ON_Mul_Ov,
Index,
New_Value (Array_Bounds_To_Element_Size
- (Get_Composite_Bounds (Arr), Atype))),
+ (Get_Composite_Bounds (Arr), Atype,
+ Get_Object_Kind (Arr)))),
El_Tinfo.B.Base_Ptr_Type (Kind)),
El_Tinfo, Kind,
El_Tinfo.B.Base_Type (Kind),