From f247d3eaa1d2dda3eb26e038efe52b0c6cbfd754 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Wed, 28 Sep 2022 19:28:14 +0200 Subject: vhdl-canon: extract guard for signal assignment sensitivity --- src/vhdl/vhdl-canon.adb | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/vhdl/vhdl-canon.adb b/src/vhdl/vhdl-canon.adb index edddfc721..1cad2b147 100644 --- a/src/vhdl/vhdl-canon.adb +++ b/src/vhdl/vhdl-canon.adb @@ -369,8 +369,22 @@ package body Vhdl.Canon is end Canon_Extract_Sensitivity_Waveform; procedure Canon_Extract_Sensitivity_Signal_Assignment_Common - (Stmt : Iir; List : Iir_List) is + (Stmt : Iir; List : Iir_List) + is + Guard : Iir; begin + case Get_Kind (Stmt) is + when Iir_Kind_Concurrent_Conditional_Signal_Assignment + | Iir_Kind_Concurrent_Selected_Signal_Assignment + | Iir_Kind_Concurrent_Simple_Signal_Assignment => + Guard := Get_Guard (Stmt); + if Guard /= Null_Iir then + Add_Element (List, Guard); + end if; + when others => + null; + end case; + Canon_Extract_Sensitivity_Expression (Get_Target (Stmt), List, True); Canon_Extract_Sensitivity_If_Not_Null (Get_Reject_Time_Expression (Stmt), List); -- cgit v1.2.3