diff options
Diffstat (limited to 'src/synth')
-rw-r--r-- | src/synth/synth-insts.adb | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/synth/synth-insts.adb b/src/synth/synth-insts.adb index 12703bc64..66a6bb2fb 100644 --- a/src/synth/synth-insts.adb +++ b/src/synth/synth-insts.adb @@ -614,11 +614,13 @@ package body Synth.Insts is null; when Port_Out | Port_Inout => - Port := Get_Output (Inst, Nbr_Outputs); - Port := Builders.Build_Port (Get_Build (Syn_Inst), Port); - O := Create_Value_Net - (Port, Get_Value_Type (Comp_Inst, Get_Type (Inter))); - Synth_Assignment (Syn_Inst, Actual, O, Assoc); + if Actual /= Null_Node then + Port := Get_Output (Inst, Nbr_Outputs); + Port := Builders.Build_Port (Get_Build (Syn_Inst), Port); + O := Create_Value_Net + (Port, Get_Value_Type (Comp_Inst, Get_Type (Inter))); + Synth_Assignment (Syn_Inst, Actual, O, Assoc); + end if; Nbr_Outputs := Nbr_Outputs + 1; end case; Next_Association_Interface (Assoc, Assoc_Inter); |