aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/vhdl-parse.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/vhdl/vhdl-parse.adb')
-rw-r--r--src/vhdl/vhdl-parse.adb16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/vhdl/vhdl-parse.adb b/src/vhdl/vhdl-parse.adb
index 33a54a0ef..140317d3f 100644
--- a/src/vhdl/vhdl-parse.adb
+++ b/src/vhdl/vhdl-parse.adb
@@ -3317,6 +3317,9 @@ package body Vhdl.Parse is
Chain_Append (First, Last, Terminal);
exit when Current_Token /= Tok_Comma;
+
+ Set_Has_Identifier_List (Terminal, True);
+
-- Skip ','.
Scan;
end loop;
@@ -3408,7 +3411,18 @@ package body Vhdl.Parse is
when Tok_Colon =>
-- Either a free quantity (or a source quantity)
-- TODO
- raise Program_Error;
+
+ -- Skip ':'.
+ Scan;
+
+ Set_Subtype_Indication (First, Parse_Subtype_Indication);
+
+ if Current_Token = Tok_Assign then
+ -- Skip ':='.
+ Scan;
+
+ Set_Default_Value (First, Parse_Expression);
+ end if;
when Tok_Tolerance
| Tok_Assign
| Tok_Across