aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2023-03-25 16:47:25 +0100
committerTristan Gingold <tgingold@free.fr>2023-03-26 16:53:53 +0200
commitbda1f37a34504fa91581e13f35eeaeeb24fff059 (patch)
treed9993a8e7ec1ee2eeeb624169cce758b0c5397a0 /src
parent8331d02c7407bc25fd5552dabcfbab23681770be (diff)
downloadghdl-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.adb6
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;