aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/vhdl/canon.adb15
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;