aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth
diff options
context:
space:
mode:
Diffstat (limited to 'src/synth')
-rw-r--r--src/synth/synth-insts.adb12
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);