aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/translate/trans-chap5.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2020-07-25 09:04:10 +0200
committerTristan Gingold <tgingold@free.fr>2020-07-25 11:28:51 +0200
commit2f37e351d2008e7b5be7a975dc34fe3485809a62 (patch)
tree5edbcb824862ddc40ce8816705a1c6c88b262617 /src/vhdl/translate/trans-chap5.adb
parent0795210282e6ddb6190a4a16bca73aad18717cb7 (diff)
downloadghdl-2f37e351d2008e7b5be7a975dc34fe3485809a62.tar.gz
ghdl-2f37e351d2008e7b5be7a975dc34fe3485809a62.tar.bz2
ghdl-2f37e351d2008e7b5be7a975dc34fe3485809a62.zip
translate: improve support of unbounded records and arrays.
Diffstat (limited to 'src/vhdl/translate/trans-chap5.adb')
-rw-r--r--src/vhdl/translate/trans-chap5.adb11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/vhdl/translate/trans-chap5.adb b/src/vhdl/translate/trans-chap5.adb
index 4c508931c..20d4a3a19 100644
--- a/src/vhdl/translate/trans-chap5.adb
+++ b/src/vhdl/translate/trans-chap5.adb
@@ -72,8 +72,7 @@ package body Trans.Chap5 is
Push_Identifier_Prefix_Uniq (Mark);
if Is_Anonymous_Type_Definition (Spec_Type) then
Push_Identifier_Prefix (Mark2, "OT");
- Chap3.Translate_Subtype_Definition
- (Spec_Type, Get_Type (Attr), True);
+ Chap3.Translate_Subtype_Definition (Spec_Type, Get_Type (Attr), True);
Pop_Identifier_Prefix (Mark2);
end if;
@@ -336,10 +335,14 @@ package body Trans.Chap5 is
is
pragma Unreferenced (Formal_Type);
Res : Connect_Data;
+ Fel : Iir;
begin
+ Fel := Get_Nth_Element
+ (Get_Elements_Declaration_List (Data.Actual_Type),
+ Natural (Get_Element_Position (El)));
Res := (Actual_Sig =>
- Chap6.Translate_Selected_Element (Data.Actual_Sig, El),
- Actual_Type => Get_Type (El),
+ Chap6.Translate_Selected_Element (Data.Actual_Sig, Fel),
+ Actual_Type => Get_Type (Fel),
Mode => Data.Mode,
By_Copy => Data.By_Copy);
return Res;