diff options
Diffstat (limited to 'src/vhdl/vhdl-parse.adb')
-rw-r--r-- | src/vhdl/vhdl-parse.adb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/vhdl/vhdl-parse.adb b/src/vhdl/vhdl-parse.adb index 4f8ac27c0..177d46f88 100644 --- a/src/vhdl/vhdl-parse.adb +++ b/src/vhdl/vhdl-parse.adb @@ -2206,6 +2206,7 @@ package body Vhdl.Parse is Subprg: Iir; Old : Iir; pragma Unreferenced (Old); + Def : Iir; begin -- Create the node. case Current_Token is @@ -2254,6 +2255,22 @@ package body Vhdl.Parse is (Subprg, Kind = Iir_Kind_Interface_Function_Declaration, True); -- TODO: interface_subprogram_default + if Current_Token = Tok_Is then + -- Skip 'is'. + Scan; + + if Current_Token = Tok_Box then + Def := Create_Iir (Iir_Kind_Reference_Name); + Set_Location (Def); + + -- Skip '<>'. + Scan; + else + Def := Parse_Name; + end if; + + Set_Default_Subprogram (Subprg, Def); + end if; return Subprg; end Parse_Interface_Subprogram_Declaration; |