summaryrefslogtreecommitdiff
path: root/translate
diff options
context:
space:
mode:
authorgingold2006-06-19 19:29:29 +0000
committergingold2006-06-19 19:29:29 +0000
commit8c212ade722f0f46ab7e8d9fddfe5769ee6e2bed (patch)
treea12cc30c0767380fcaf06c0df5beabc324b4a985 /translate
parenta8db752954f060217f21417bd98077a215fab971 (diff)
downloadghdl-8c212ade722f0f46ab7e8d9fddfe5769ee6e2bed.tar.gz
ghdl-8c212ade722f0f46ab7e8d9fddfe5769ee6e2bed.tar.bz2
ghdl-8c212ade722f0f46ab7e8d9fddfe5769ee6e2bed.zip
bug fixes
Diffstat (limited to 'translate')
-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