aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/translate
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2018-12-08 06:45:23 +0100
committerTristan Gingold <tgingold@free.fr>2018-12-08 06:45:23 +0100
commit7a09c4b1764e891f07ba6cfc36a5f3baa96156a6 (patch)
treeffd0cc8931b3cc238105993e49013437251ad802 /src/vhdl/translate
parent57bdc5b65bc84bb3a38466a5dda952c9f5a89ef7 (diff)
downloadghdl-7a09c4b1764e891f07ba6cfc36a5f3baa96156a6.tar.gz
ghdl-7a09c4b1764e891f07ba6cfc36a5f3baa96156a6.tar.bz2
ghdl-7a09c4b1764e891f07ba6cfc36a5f3baa96156a6.zip
trans-chap6: fix for previous patch.
Diffstat (limited to 'src/vhdl/translate')
-rw-r--r--src/vhdl/translate/trans-chap6.adb5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/vhdl/translate/trans-chap6.adb b/src/vhdl/translate/trans-chap6.adb
index 302458000..cd5c156c5 100644
--- a/src/vhdl/translate/trans-chap6.adb
+++ b/src/vhdl/translate/trans-chap6.adb
@@ -850,6 +850,7 @@ package body Trans.Chap6 is
El_Type : constant Iir := Get_Type (El);
El_Tinfo : constant Type_Info_Acc := Get_Info (El_Type);
Kind : constant Object_Kind_Type := Get_Object_Kind (Prefix);
+ Base_El : constant Iir := Get_Base_Element_Declaration (El);
El_Info : Field_Info_Acc;
Base_Tinfo : Type_Info_Acc;
Stable_Prefix : Mnode;
@@ -870,7 +871,7 @@ package body Trans.Chap6 is
-- changed.
El_Info := Get_Info (El);
if El_Info = null then
- El_Info := Get_Info (Get_Base_Element_Declaration (El));
+ El_Info := Get_Info (Base_El);
end if;
if Is_Unbounded_Type (El_Tinfo) then
@@ -933,7 +934,7 @@ package body Trans.Chap6 is
B := M2Lv (Base);
if Box_Field /= O_Fnode_Null
- and then Get_Kind (El) = Iir_Kind_Element_Declaration
+ and then El_Type = Get_Type (Base_El)
then
-- Unbox.
B := New_Selected_Element (B, Box_Field);