From bda1f37a34504fa91581e13f35eeaeeb24fff059 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Sat, 25 Mar 2023 16:47:25 +0100 Subject: Canon_Concurrent_Simple_Signal_Assignment: avoid leak Do not unlink unaffected_waveform --- src/vhdl/vhdl-canon.adb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src') 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; -- cgit v1.2.3