diff options
author | Tristan Gingold | 2014-10-29 20:36:29 +0100 |
---|---|---|
committer | Tristan Gingold | 2014-10-29 20:36:29 +0100 |
commit | e5071f1a02f16a369c504944934042fbfb09e5dc (patch) | |
tree | 1b891a41c024a308274c380c8189e3213085a7e8 /sem_scopes.adb | |
parent | 236a876a8448b89061bb71869c36a68aea0199c3 (diff) | |
download | ghdl-e5071f1a02f16a369c504944934042fbfb09e5dc.tar.gz ghdl-e5071f1a02f16a369c504944934042fbfb09e5dc.tar.bz2 ghdl-e5071f1a02f16a369c504944934042fbfb09e5dc.zip |
Add support for package interface.
Diffstat (limited to 'sem_scopes.adb')
-rw-r--r-- | sem_scopes.adb | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/sem_scopes.adb b/sem_scopes.adb index 6590e48..71c7585 100644 --- a/sem_scopes.adb +++ b/sem_scopes.adb @@ -983,10 +983,11 @@ package body Sem_Scopes is | Iir_Kind_File_Declaration | Iir_Kind_Object_Alias_Declaration | Iir_Kind_Non_Object_Alias_Declaration - | Iir_Kind_Constant_Interface_Declaration - | Iir_Kind_Signal_Interface_Declaration - | Iir_Kind_Variable_Interface_Declaration - | Iir_Kind_File_Interface_Declaration + | Iir_Kind_Interface_Constant_Declaration + | Iir_Kind_Interface_Signal_Declaration + | Iir_Kind_Interface_Variable_Declaration + | Iir_Kind_Interface_File_Declaration + | Iir_Kind_Interface_Package_Declaration | Iir_Kind_Component_Declaration | Iir_Kind_Attribute_Declaration | Iir_Kind_Group_Template_Declaration @@ -1284,6 +1285,14 @@ package body Sem_Scopes is Add_Package_Declarations (Name, True); when Iir_Kind_Package_Instantiation_Declaration => Add_Package_Instantiation_Declarations (Name, True); + when Iir_Kind_Interface_Package_Declaration => + -- LRM08 6.5.5 Interface package declarations + -- Within an entity declaration, an architecture body, a + -- component declaration, or an uninstantiated subprogram or + -- package declaration that declares a given interface package, + -- the name of the given interface package denotes an undefined + -- instance of the uninstantiated package. + Add_Package_Instantiation_Declarations (Name, True); when Iir_Kind_Error => null; when others => |