diff options
author | Tristan Gingold <tgingold@free.fr> | 2019-10-06 17:44:00 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2019-10-06 17:53:24 +0200 |
commit | 74348ad90435e6a28a86c4050d17a989f5434e9d (patch) | |
tree | e1838c654441f93eec74afae0b4d78546f1e6de7 /src/synth/synth-stmts.adb | |
parent | 173bc379a93dd7de950557782bcc9f2b0a137ca9 (diff) | |
download | ghdl-74348ad90435e6a28a86c4050d17a989f5434e9d.tar.gz ghdl-74348ad90435e6a28a86c4050d17a989f5434e9d.tar.bz2 ghdl-74348ad90435e6a28a86c4050d17a989f5434e9d.zip |
synth: handle subtypes in components. Fix #970
Diffstat (limited to 'src/synth/synth-stmts.adb')
-rw-r--r-- | src/synth/synth-stmts.adb | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/synth/synth-stmts.adb b/src/synth/synth-stmts.adb index 50229d775..a9cc0d377 100644 --- a/src/synth/synth-stmts.adb +++ b/src/synth/synth-stmts.adb @@ -1211,6 +1211,7 @@ package body Synth.Stmts is end Synth_Selected_Signal_Assignment; procedure Synth_Subprogram_Association (Subprg_Inst : Synth_Instance_Acc; + Inter_Inst : Synth_Instance_Acc; Caller_Inst : Synth_Instance_Acc; Inter_Chain : Node; Assoc_Chain : Node; @@ -1232,7 +1233,7 @@ package body Synth.Stmts is Assoc_Inter := Inter_Chain; while Is_Valid (Assoc) loop Inter := Get_Association_Interface (Assoc, Assoc_Inter); - Inter_Type := Get_Value_Type (Subprg_Inst, Get_Type (Inter)); + Inter_Type := Get_Value_Type (Inter_Inst, Get_Type (Inter)); case Iir_Parameter_Modes (Get_Mode (Inter)) is when Iir_In_Mode => @@ -1295,6 +1296,7 @@ package body Synth.Stmts is end Synth_Subprogram_Association; procedure Synth_Subprogram_Association (Subprg_Inst : Synth_Instance_Acc; + Inter_Inst : Synth_Instance_Acc; Caller_Inst : Synth_Instance_Acc; Inter_Chain : Node; Assoc_Chain : Node) @@ -1302,8 +1304,8 @@ package body Synth.Stmts is Infos : Target_Info_Array (1 .. 0); pragma Unreferenced (Infos); begin - Synth_Subprogram_Association - (Subprg_Inst, Caller_Inst, Inter_Chain, Assoc_Chain, Infos); + Synth_Subprogram_Association (Subprg_Inst, Inter_Inst, Caller_Inst, + Inter_Chain, Assoc_Chain, Infos); end Synth_Subprogram_Association; procedure Synth_Subprogram_Back_Association @@ -1414,7 +1416,7 @@ package body Synth.Stmts is Infos : Target_Info_Array (1 .. Nbr_Inout); begin Synth_Subprogram_Association - (C.Inst, Syn_Inst, Inter_Chain, Assoc_Chain, Infos); + (C.Inst, Syn_Inst, Syn_Inst, Inter_Chain, Assoc_Chain, Infos); Push_Phi; |