diff options
author | Tristan Gingold <tgingold@free.fr> | 2023-03-25 16:46:31 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2023-03-26 16:53:52 +0200 |
commit | 8331d02c7407bc25fd5552dabcfbab23681770be (patch) | |
tree | 5eed2556c4ea23e0792aebac821e75f69b3dd108 /src | |
parent | c0949eb9622abd03f9601b643bd8ed413a1d6bb3 (diff) | |
download | ghdl-8331d02c7407bc25fd5552dabcfbab23681770be.tar.gz ghdl-8331d02c7407bc25fd5552dabcfbab23681770be.tar.bz2 ghdl-8331d02c7407bc25fd5552dabcfbab23681770be.zip |
trans-chap8(translate_wait_statement): free sensitivity list
Diffstat (limited to 'src')
-rw-r--r-- | src/vhdl/translate/trans-chap8.adb | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/vhdl/translate/trans-chap8.adb b/src/vhdl/translate/trans-chap8.adb index b5393479e..74bb3b57a 100644 --- a/src/vhdl/translate/trans-chap8.adb +++ b/src/vhdl/translate/trans-chap8.adb @@ -3769,13 +3769,15 @@ package body Trans.Chap8 is Sensitivity : Iir_List; Constr : O_Assoc_List; Resume_State : State_Type; + Free_List_P : Boolean; begin Sensitivity := Get_Sensitivity_List (Stmt); + Free_List_P := False; if Sensitivity = Null_Iir_List and Cond /= Null_Iir then -- Extract sensitivity from condition. Sensitivity := Create_Iir_List; Vhdl.Canon.Canon_Extract_Sensitivity_Expression (Cond, Sensitivity); - Set_Sensitivity_List (Stmt, Sensitivity); + Free_List_P := True; end if; -- The wait statement must be within a suspendable process/subprogram. @@ -3831,6 +3833,9 @@ package body Trans.Chap8 is Register_Signal_List (Sensitivity, Ghdl_Process_Wait_Add_Sensitivity); Chap9.Destroy_Types_In_List (Sensitivity); + if Free_List_P then + Destroy_Iir_List (Sensitivity); + end if; end if; -- suspend (); |