diff options
| author | Tristan Gingold <tgingold@free.fr> | 2022-10-01 05:26:58 +0200 | 
|---|---|---|
| committer | Tristan Gingold <tgingold@free.fr> | 2022-10-01 05:41:20 +0200 | 
| commit | 2c755f301e995b73581c435d22a189ab874d5d84 (patch) | |
| tree | 366cbfc45e76ce42f8593cbff1b997bc52c5ff2b /src | |
| parent | d4dc28659c657f14aecd2e6b04d747f36e540bb2 (diff) | |
| download | ghdl-2c755f301e995b73581c435d22a189ab874d5d84.tar.gz ghdl-2c755f301e995b73581c435d22a189ab874d5d84.tar.bz2 ghdl-2c755f301e995b73581c435d22a189ab874d5d84.zip | |
simul: finalize declarations of procedure calls
Diffstat (limited to 'src')
| -rw-r--r-- | src/simul/simul-vhdl_simul.adb | 4 | ||||
| -rw-r--r-- | src/synth/synth-vhdl_decls.adb | 2 | 
2 files changed, 6 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; diff --git a/src/synth/synth-vhdl_decls.adb b/src/synth/synth-vhdl_decls.adb index eb1d37e2f..0be74aeb6 100644 --- a/src/synth/synth-vhdl_decls.adb +++ b/src/synth/synth-vhdl_decls.adb @@ -878,6 +878,8 @@ package body Synth.Vhdl_Decls is              null;           when Iir_Kind_Use_Clause =>              null; +         when Iir_Kind_Suspend_State_Declaration => +            null;           when others =>              Vhdl.Errors.Error_Kind ("finalize_declaration", Decl);        end case; | 
