diff options
Diffstat (limited to 'src/vhdl/vhdl-parse.adb')
-rw-r--r-- | src/vhdl/vhdl-parse.adb | 16 |
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 |