aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/vhdl-evaluation.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/vhdl/vhdl-evaluation.adb')
-rw-r--r--src/vhdl/vhdl-evaluation.adb8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/vhdl/vhdl-evaluation.adb b/src/vhdl/vhdl-evaluation.adb
index 5f6ad409e..d21288136 100644
--- a/src/vhdl/vhdl-evaluation.adb
+++ b/src/vhdl/vhdl-evaluation.adb
@@ -2590,7 +2590,13 @@ package body Vhdl.Evaluation is
when Iir_Kind_Choice_By_Expression =>
exit when Eval_Is_Eq (Get_Choice_Expression (Assoc), Idx);
when Iir_Kind_Choice_By_Range =>
- exit when Eval_Is_In_Bound (Idx, Get_Choice_Range (Assoc));
+ declare
+ Rng : Iir;
+ begin
+ Rng := Get_Choice_Range (Assoc);
+ Rng := Eval_Static_Range (Rng);
+ exit when Eval_Int_In_Range (Eval_Pos (Idx), Rng);
+ end;
when Iir_Kind_Choice_By_Others =>
exit;
when others =>