aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2023-01-04 08:02:25 +0100
committerTristan Gingold <tgingold@free.fr>2023-01-04 08:02:25 +0100
commitafbffcb6f8e2ebc9786c6fc0c237ed32b900a310 (patch)
tree8972ba2e579d3bb2b0cff24d1697cd57504bfdfd /src/synth
parenta4d2654ea1136b3861960d6b5f82cdc3b36efab2 (diff)
downloadghdl-afbffcb6f8e2ebc9786c6fc0c237ed32b900a310.tar.gz
ghdl-afbffcb6f8e2ebc9786c6fc0c237ed32b900a310.tar.bz2
ghdl-afbffcb6f8e2ebc9786c6fc0c237ed32b900a310.zip
synth: check length of selector in case statement
Diffstat (limited to 'src/synth')
-rw-r--r--src/synth/synth-vhdl_stmts.adb4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/synth/synth-vhdl_stmts.adb b/src/synth/synth-vhdl_stmts.adb
index 794f4ca97..098448ba2 100644
--- a/src/synth/synth-vhdl_stmts.adb
+++ b/src/synth/synth-vhdl_stmts.adb
@@ -1582,6 +1582,10 @@ package body Synth.Vhdl_Stmts is
if Is_Equal (Sel_Val, Sel) then
return Stmts;
end if;
+ if Sel_Val.Typ.Abound.Len /= Sel.Typ.Abound.Len then
+ Error_Msg_Synth (Inst, Choice, "incorrect selector length");
+ -- TODO: what value should be returned ?
+ end if;
when Iir_Kind_Choice_By_Others =>
return Stmts;
when others =>