aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/sem.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/vhdl/sem.adb')
-rw-r--r--src/vhdl/sem.adb11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/vhdl/sem.adb b/src/vhdl/sem.adb
index 6fa2f3ac6..c0cfcae61 100644
--- a/src/vhdl/sem.adb
+++ b/src/vhdl/sem.adb
@@ -1374,14 +1374,15 @@ package body Sem is
return False;
end if;
declare
- L_Left, L_Right : Iir_List;
+ L_Left : constant Iir_Flist := Get_Index_Subtype_List (Left);
+ L_Right : constant Iir_Flist := Get_Index_Subtype_List (Right);
begin
- L_Left := Get_Index_Subtype_List (Left);
- L_Right := Get_Index_Subtype_List (Right);
- for I in Natural loop
+ if Get_Nbr_Elements (L_Left) /= Get_Nbr_Elements (L_Right) then
+ return False;
+ end if;
+ for I in Flist_First .. Flist_Last (L_Left) loop
El_Left := Get_Nth_Element (L_Left, I);
El_Right := Get_Nth_Element (L_Right, I);
- exit when El_Left = Null_Iir;
if not Are_Trees_Equal (El_Left, El_Right) then
return False;
end if;