aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2016-12-12 20:21:58 +0100
committerTristan Gingold <tgingold@free.fr>2016-12-12 20:21:58 +0100
commitb0082f134ff7f4226f99990778adce637b5b52f1 (patch)
tree859490bd2c13d5836cd0f3b2ba04f06200412201
parent81b1d0385132829eb414ebf978ab2f8ecd46b580 (diff)
downloadghdl-b0082f134ff7f4226f99990778adce637b5b52f1.tar.gz
ghdl-b0082f134ff7f4226f99990778adce637b5b52f1.tar.bz2
ghdl-b0082f134ff7f4226f99990778adce637b5b52f1.zip
are_trees_equal: handle type_conversion.
Fix #223
-rw-r--r--src/vhdl/sem.adb15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/vhdl/sem.adb b/src/vhdl/sem.adb
index 39916bb76..81fb79ccc 100644
--- a/src/vhdl/sem.adb
+++ b/src/vhdl/sem.adb
@@ -1485,6 +1485,21 @@ package body Sem is
Are_Trees_Chain_Equal (Get_Parameter_Association_Chain (Left),
Get_Parameter_Association_Chain (Right));
+ when Iir_Kind_Association_Element_By_Expression =>
+ return Are_Trees_Equal (Get_Actual (Left), Get_Actual (Right))
+ and then Are_Trees_Equal (Get_Formal (Left), Get_Formal (Right))
+ and then Are_Trees_Equal (Get_In_Conversion (Left),
+ Get_In_Conversion (Right))
+ and then Are_Trees_Equal (Get_Out_Conversion (Left),
+ Get_Out_Conversion (Right));
+
+ when Iir_Kind_Type_Conversion =>
+ return Are_Trees_Equal (Get_Type_Mark (Left),
+ Get_Type_Mark (Right))
+ and then
+ Are_Trees_Equal (Get_Expression (Left),
+ Get_Expression (Right));
+
when Iir_Kind_Access_Type_Definition
| Iir_Kind_Record_Type_Definition
| Iir_Kind_Array_Type_Definition