summaryrefslogtreecommitdiff
path: root/translate/translation.adb
diff options
context:
space:
mode:
Diffstat (limited to 'translate/translation.adb')
-rw-r--r--translate/translation.adb18
1 files changed, 18 insertions, 0 deletions
diff --git a/translate/translation.adb b/translate/translation.adb
index 9241f36..051adc7 100644
--- a/translate/translation.adb
+++ b/translate/translation.adb
@@ -11877,6 +11877,24 @@ package body Translation is
if Get_Whole_Association_Flag (Assoc) then
Elab_Unconstrained_Port (Formal, Get_Actual (Assoc));
end if;
+ when Iir_Kind_Association_Element_Open =>
+ Open_Temp;
+ declare
+ Actual_Type : Iir;
+ Tinfo : Type_Info_Acc;
+ Bounds : Mnode;
+ Formal_Node : Mnode;
+ begin
+ Actual_Type := Get_Type (Get_Default_Value (Formal));
+ Chap3.Create_Array_Subtype (Actual_Type, True);
+ Tinfo := Get_Info (Actual_Type);
+ Bounds := Chap3.Get_Array_Type_Bounds (Actual_Type);
+ Formal_Node := Chap6.Translate_Name (Formal);
+ New_Assign_Stmt
+ (M2Lp (Chap3.Get_Array_Bounds (Formal_Node)),
+ M2Addr (Bounds));
+ end;
+ Close_Temp;
when Iir_Kind_Association_Element_By_Individual =>
Open_Temp;
declare