diff options
author | Tristan Gingold <tgingold@free.fr> | 2021-02-11 20:48:17 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2021-02-11 20:48:17 +0100 |
commit | 0badf589e0b937c49eff2ac9374fc97ee47a0dbb (patch) | |
tree | 48ce6d796ea1b07db9c9be78617af2e29dc4c92c /src/vhdl/translate | |
parent | bb7b9bd01bc0ec05da45d96de04a2feba2c6a58f (diff) | |
download | ghdl-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.adb | 3 |
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. |