From 6e0eb7b901595fd601598cc3c7800f0bdc714d24 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Fri, 24 Aug 2018 06:43:35 +0200 Subject: canon_extract_sensitivity: handle dereference. Fix #637 --- src/vhdl/canon.adb | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/vhdl/canon.adb b/src/vhdl/canon.adb index 6c991bd0a..5d7755faf 100644 --- a/src/vhdl/canon.adb +++ b/src/vhdl/canon.adb @@ -145,9 +145,8 @@ package body Canon is Add_Element (Sensitivity_List, Expr); end if; else - Canon_Extract_Sensitivity (Get_Prefix (Expr), - Sensitivity_List, - Is_Target); + Canon_Extract_Sensitivity + (Get_Prefix (Expr), Sensitivity_List, Is_Target); end if; when Iir_Kind_Indexed_Name => @@ -158,9 +157,8 @@ package body Canon is Add_Element (Sensitivity_List, Expr); end if; else - Canon_Extract_Sensitivity (Get_Prefix (Expr), - Sensitivity_List, - Is_Target); + Canon_Extract_Sensitivity + (Get_Prefix (Expr), Sensitivity_List, Is_Target); declare Flist : constant Iir_Flist := Get_Index_List (Expr); El : Iir; @@ -197,6 +195,11 @@ package body Canon is when Iir_Kind_Allocator_By_Subtype => null; + when Iir_Kind_Dereference + | Iir_Kind_Implicit_Dereference => + Canon_Extract_Sensitivity + (Get_Prefix (Expr), Sensitivity_List, False); + when Iir_Kind_External_Variable_Name | Iir_Kind_External_Constant_Name => null; -- cgit v1.2.3