diff options
author | Tristan Gingold <tgingold@free.fr> | 2020-07-27 18:54:12 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2020-07-27 18:54:12 +0200 |
commit | 89f81ef02c4fb9d0441a2b1c773c8e9da79cda5a (patch) | |
tree | 196ca66b632387d7c3b4484086c87f983ce18fd2 /src/vhdl/translate/trans-chap3.adb | |
parent | a663cbbe964e351e91560d0c7e660f90deb3f83e (diff) | |
download | ghdl-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.adb | 9 |
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), |