diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/synth/synth-expr.adb | 1 | ||||
-rw-r--r-- | src/synth/synth-stmts.adb | 6 |
2 files changed, 4 insertions, 3 deletions
diff --git a/src/synth/synth-expr.adb b/src/synth/synth-expr.adb index e58cfce74..628f1d589 100644 --- a/src/synth/synth-expr.adb +++ b/src/synth/synth-expr.adb @@ -815,6 +815,7 @@ package body Synth.Expr is return Synth_Name (Syn_Inst, Get_Named_Entity (Name)); when Iir_Kind_Interface_Signal_Declaration | Iir_Kind_Variable_Declaration + | Iir_Kind_Interface_Variable_Declaration | Iir_Kind_Signal_Declaration | Iir_Kind_Anonymous_Signal_Declaration | Iir_Kind_Interface_Constant_Declaration diff --git a/src/synth/synth-stmts.adb b/src/synth/synth-stmts.adb index cd4ef9a97..cf873b053 100644 --- a/src/synth/synth-stmts.adb +++ b/src/synth/synth-stmts.adb @@ -137,6 +137,7 @@ package body Synth.Stmts is Dest_Voff, Dest_Rdwd, Dest_Type); when Iir_Kind_Interface_Signal_Declaration | Iir_Kind_Variable_Declaration + | Iir_Kind_Interface_Variable_Declaration | Iir_Kind_Signal_Declaration | Iir_Kind_Anonymous_Signal_Declaration | Iir_Kind_Interface_Constant_Declaration @@ -1272,9 +1273,8 @@ package body Synth.Stmts is -- Pass by reference. Create_Object (Subprg_Inst, Inter, Val); when Iir_Kind_Interface_Variable_Declaration => - -- FIXME: Arguments are passed by copy. - Create_Object (Subprg_Inst, Inter, Val); - raise Internal_Error; + -- Arguments are passed by copy. + Create_Object (Subprg_Inst, Inter, Unshare (Val, Current_Pool)); when Iir_Kind_Interface_Signal_Declaration => Create_Object (Subprg_Inst, Inter, Val); when Iir_Kind_Interface_File_Declaration => |