aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/vhdl-parse.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2019-08-09 05:51:14 +0200
committerTristan Gingold <tgingold@free.fr>2019-08-10 05:23:51 +0200
commit992a52089e39c5975748ca364971ed61d974a168 (patch)
treea0bef887267453bca6ef046911be6e95b15045ec /src/vhdl/vhdl-parse.adb
parent30554b32a7d205feaed5e0658770f137672a1eb6 (diff)
downloadghdl-992a52089e39c5975748ca364971ed61d974a168.tar.gz
ghdl-992a52089e39c5975748ca364971ed61d974a168.tar.bz2
ghdl-992a52089e39c5975748ca364971ed61d974a168.zip
vhdl: handle subtype indication (with range) in discrete_range.
For #877
Diffstat (limited to 'src/vhdl/vhdl-parse.adb')
-rw-r--r--src/vhdl/vhdl-parse.adb3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/vhdl/vhdl-parse.adb b/src/vhdl/vhdl-parse.adb
index 491d14b85..7e15589df 100644
--- a/src/vhdl/vhdl-parse.adb
+++ b/src/vhdl/vhdl-parse.adb
@@ -5152,6 +5152,9 @@ package body Vhdl.Parse is
elsif Current_Token = Tok_To or else Current_Token = Tok_Downto then
A_Choice := Create_Iir (Iir_Kind_Choice_By_Range);
Set_Choice_Range (A_Choice, Parse_Range_Expression (Expr1));
+ elsif Current_Token = Tok_Range then
+ A_Choice := Create_Iir (Iir_Kind_Choice_By_Range);
+ Set_Choice_Range (A_Choice, Parse_Subtype_Indication (Expr1));
else
A_Choice := Create_Iir (Iir_Kind_Choice_By_Expression);
Set_Choice_Expression (A_Choice, Expr1);