From 0badf589e0b937c49eff2ac9374fc97ee47a0dbb Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Thu, 11 Feb 2021 20:48:17 +0100 Subject: vhdl-evaluation.adb: use is_overflow_literal. Avoid crash in Eval_Discrete_Range_Length on overflow. --- src/vhdl/translate/trans-chap3.adb | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/vhdl/translate') diff --git a/src/vhdl/translate/trans-chap3.adb b/src/vhdl/translate/trans-chap3.adb index 7e7cefb24..f1928ae2e 100644 --- a/src/vhdl/translate/trans-chap3.adb +++ b/src/vhdl/translate/trans-chap3.adb @@ -1047,6 +1047,9 @@ package body Trans.Chap3 is return -1; end if; Idx_Len := Eval_Discrete_Type_Length (Index); + if Idx_Len < 0 then + return -1; + end if; -- Do not consider very large arrays as static, to avoid overflow at -- compile time. -- cgit v1.2.3