diff options
author | Tristan Gingold <tgingold@free.fr> | 2018-08-24 06:43:35 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2018-08-24 06:43:35 +0200 |
commit | 6e0eb7b901595fd601598cc3c7800f0bdc714d24 (patch) | |
tree | b325c8935a523afdd47ef07946c8c4e316e3a7bb | |
parent | 76ff857489906785d9e100c67302110d68dc7c8a (diff) | |
download | ghdl-6e0eb7b901595fd601598cc3c7800f0bdc714d24.tar.gz ghdl-6e0eb7b901595fd601598cc3c7800f0bdc714d24.tar.bz2 ghdl-6e0eb7b901595fd601598cc3c7800f0bdc714d24.zip |
canon_extract_sensitivity: handle dereference. Fix #637
-rw-r--r-- | src/vhdl/canon.adb | 15 |
1 files changed, 9 insertions, 6 deletions
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; |