aboutsummaryrefslogtreecommitdiffstats
path: root/src/simul
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2022-10-01 05:26:58 +0200
committerTristan Gingold <tgingold@free.fr>2022-10-01 05:41:20 +0200
commit2c755f301e995b73581c435d22a189ab874d5d84 (patch)
tree366cbfc45e76ce42f8593cbff1b997bc52c5ff2b /src/simul
parentd4dc28659c657f14aecd2e6b04d747f36e540bb2 (diff)
downloadghdl-2c755f301e995b73581c435d22a189ab874d5d84.tar.gz
ghdl-2c755f301e995b73581c435d22a189ab874d5d84.tar.bz2
ghdl-2c755f301e995b73581c435d22a189ab874d5d84.zip
simul: finalize declarations of procedure calls
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;