aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/synth/elab-vhdl_insts.adb8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/synth/elab-vhdl_insts.adb b/src/synth/elab-vhdl_insts.adb
index 8e93fed84..26763a5c6 100644
--- a/src/synth/elab-vhdl_insts.adb
+++ b/src/synth/elab-vhdl_insts.adb
@@ -429,7 +429,9 @@ package body Elab.Vhdl_Insts is
end case;
end if;
- Res := Unshare (Res, Global_Pool'Access);
+ if Res /= null then
+ Res := Unshare (Res, Global_Pool'Access);
+ end if;
Release_Expr_Pool (Marker);
return Res;
else
@@ -454,7 +456,9 @@ package body Elab.Vhdl_Insts is
if Get_Whole_Association_Flag (Assoc) then
Inter_Typ := Elab_Port_Association_Type
(Sub_Inst, Syn_Inst, Inter, Assoc);
- Create_Signal (Sub_Inst, Inter, Inter_Typ);
+ if Inter_Typ /= null then
+ Create_Signal (Sub_Inst, Inter, Inter_Typ);
+ end if;
end if;
Next_Association_Interface (Assoc, Assoc_Inter);
end loop;