aboutsummaryrefslogtreecommitdiffstats
path: root/src/simul
diff options
context:
space:
mode:
Diffstat (limited to 'src/simul')
-rw-r--r--src/simul/simul-vhdl_simul.adb4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/simul/simul-vhdl_simul.adb b/src/simul/simul-vhdl_simul.adb
index 92fcc920a..bee671e1b 100644
--- a/src/simul/simul-vhdl_simul.adb
+++ b/src/simul/simul-vhdl_simul.adb
@@ -523,6 +523,8 @@ package body Simul.Vhdl_Simul is
-- Skip the resume statement.
Stmt := Get_Chain (Stmt);
pragma Assert (Get_Kind (Stmt) = Iir_Kind_Procedure_Call_Statement);
+ Synth.Vhdl_Decls.Finalize_Declarations
+ (Process.Instance, Get_Declaration_Chain (Bod), True);
Synth_Subprogram_Back_Association
(Process.Instance, Caller_Inst,
Get_Interface_Declaration_Chain (Imp),
@@ -806,6 +808,8 @@ package body Simul.Vhdl_Simul is
-- TODO: end of call.
else
Execute_Sequential_Statements (Process);
+ Synth.Vhdl_Decls.Finalize_Declarations
+ (Sub_Inst, Get_Declaration_Chain (Bod), True);
Synth_Subprogram_Back_Association
(Sub_Inst, Inst, Inter_Chain, Assoc_Chain);
Next_Stmt := Null_Node;