aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/translate
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2021-02-11 20:48:17 +0100
committerTristan Gingold <tgingold@free.fr>2021-02-11 20:48:17 +0100
commit0badf589e0b937c49eff2ac9374fc97ee47a0dbb (patch)
tree48ce6d796ea1b07db9c9be78617af2e29dc4c92c /src/vhdl/translate
parentbb7b9bd01bc0ec05da45d96de04a2feba2c6a58f (diff)
downloadghdl-0badf589e0b937c49eff2ac9374fc97ee47a0dbb.tar.gz
ghdl-0badf589e0b937c49eff2ac9374fc97ee47a0dbb.tar.bz2
ghdl-0badf589e0b937c49eff2ac9374fc97ee47a0dbb.zip
vhdl-evaluation.adb: use is_overflow_literal.
Avoid crash in Eval_Discrete_Range_Length on overflow.
Diffstat (limited to 'src/vhdl/translate')
-rw-r--r--src/vhdl/translate/trans-chap3.adb3
1 files changed, 3 insertions, 0 deletions
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.