aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/parse.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/vhdl/parse.adb')
-rw-r--r--src/vhdl/parse.adb12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/vhdl/parse.adb b/src/vhdl/parse.adb
index 6284ac0fe..7653083c3 100644
--- a/src/vhdl/parse.adb
+++ b/src/vhdl/parse.adb
@@ -3875,20 +3875,30 @@ package body Parse is
Res := Create_Iir (Iir_Kind_Group_Declaration);
Set_Location (Res, Loc);
Set_Identifier (Res, Ident);
+
+ -- Skip ':'.
Scan;
+
Set_Group_Template_Name
(Res, Parse_Name (Allow_Indexes => False));
+
+ -- Skip '('.
Expect (Tok_Left_Paren);
Scan;
List := Create_Iir_List;
- Set_Group_Constituent_List (Res, List);
loop
Append_Element (List, Parse_Name (Allow_Indexes => False));
exit when Current_Token = Tok_Right_Paren;
+
+ -- Skip ','.
Expect (Tok_Comma);
Scan;
end loop;
+
+ -- Skip ')'.
Scan_Expect (Tok_Semi_Colon);
+
+ Set_Group_Constituent_List (Res, List_To_Flist (List));
return Res;
end;
when others =>