diff options
author | Tristan Gingold <tgingold@free.fr> | 2023-03-25 16:47:25 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2023-03-26 16:53:53 +0200 |
commit | bda1f37a34504fa91581e13f35eeaeeb24fff059 (patch) | |
tree | d9993a8e7ec1ee2eeeb624169cce758b0c5397a0 /src | |
parent | 8331d02c7407bc25fd5552dabcfbab23681770be (diff) | |
download | ghdl-bda1f37a34504fa91581e13f35eeaeeb24fff059.tar.gz ghdl-bda1f37a34504fa91581e13f35eeaeeb24fff059.tar.bz2 ghdl-bda1f37a34504fa91581e13f35eeaeeb24fff059.zip |
Canon_Concurrent_Simple_Signal_Assignment: avoid leak
Do not unlink unaffected_waveform
Diffstat (limited to 'src')
-rw-r--r-- | src/vhdl/vhdl-canon.adb | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/vhdl/vhdl-canon.adb b/src/vhdl/vhdl-canon.adb index 96f7e0b11..393b48cca 100644 --- a/src/vhdl/vhdl-canon.adb +++ b/src/vhdl/vhdl-canon.adb @@ -1792,8 +1792,10 @@ package body Vhdl.Canon is begin Stmt := Canon_Wave_Transform (Conc_Stmt, Get_Waveform_Chain (Conc_Stmt), Proc, True); - Set_Waveform_Chain (Conc_Stmt, Null_Iir); - Set_Target (Conc_Stmt, Null_Iir); + if Get_Kind (Stmt) /= Iir_Kind_Null_Statement then + Set_Waveform_Chain (Conc_Stmt, Null_Iir); + Set_Target (Conc_Stmt, Null_Iir); + end if; Set_Parent (Stmt, Parent); Set_Sequential_Statement_Chain (Parent, Stmt); end Canon_Concurrent_Simple_Signal_Assignment; |