diff options
author | Tristan Gingold <tgingold@free.fr> | 2023-03-26 09:09:41 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2023-03-26 16:53:56 +0200 |
commit | 8e1f1d3dc49420c37a8fb106b0ad0afbc5235f3f (patch) | |
tree | c97808535af3c54ac7df44af09802b9d8441a6c2 | |
parent | f846149c27804a2ce58bf6d2186e870a4d23791a (diff) | |
download | ghdl-8e1f1d3dc49420c37a8fb106b0ad0afbc5235f3f.tar.gz ghdl-8e1f1d3dc49420c37a8fb106b0ad0afbc5235f3f.tar.bz2 ghdl-8e1f1d3dc49420c37a8fb106b0ad0afbc5235f3f.zip |
synth-vhdl_insts: use the right synth instance for actual type.
Fix #2399
-rw-r--r-- | src/synth/synth-vhdl_insts.adb | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/synth/synth-vhdl_insts.adb b/src/synth/synth-vhdl_insts.adb index addd5a9da..2a20d06a9 100644 --- a/src/synth/synth-vhdl_insts.adb +++ b/src/synth/synth-vhdl_insts.adb @@ -716,6 +716,7 @@ package body Synth.Vhdl_Insts is end Sort_Value_Offset; function Synth_Individual_Input_Assoc (Syn_Inst : Synth_Instance_Acc; + Inter_Inst : Synth_Instance_Acc; Inter_Typ : Type_Acc; Assoc : Node) return Net is @@ -736,7 +737,7 @@ package body Synth.Vhdl_Insts is -- FIXME: should it be unshared ? Formal_Typ := Elab.Vhdl_Types.Synth_Subtype_Indication - (Syn_Inst, Get_Actual_Type (Assoc)); + (Inter_Inst, Get_Actual_Type (Assoc)); Iassoc := Get_Chain (Assoc); while Iassoc /= Null_Node @@ -800,7 +801,7 @@ package body Synth.Vhdl_Insts is (Syn_Inst, Inter_Typ, Syn_Inst, Get_Actual (Assoc), Assoc); when Iir_Kind_Association_Element_By_Individual => Res_Net := Synth_Individual_Input_Assoc - (Syn_Inst, Inter_Typ, Assoc); + (Syn_Inst, Inter_Inst, Inter_Typ, Assoc); Release_Expr_Pool (Marker); return Res_Net; end case; |