summaryrefslogtreecommitdiff
path: root/sem_scopes.adb
diff options
context:
space:
mode:
authorTristan Gingold2014-10-29 20:36:29 +0100
committerTristan Gingold2014-10-29 20:36:29 +0100
commite5071f1a02f16a369c504944934042fbfb09e5dc (patch)
tree1b891a41c024a308274c380c8189e3213085a7e8 /sem_scopes.adb
parent236a876a8448b89061bb71869c36a68aea0199c3 (diff)
downloadghdl-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.adb17
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 =>