aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/vhdl-sem_names.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/vhdl/vhdl-sem_names.adb')
-rw-r--r--src/vhdl/vhdl-sem_names.adb15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/vhdl/vhdl-sem_names.adb b/src/vhdl/vhdl-sem_names.adb
index ffd3116e5..c6566324b 100644
--- a/src/vhdl/vhdl-sem_names.adb
+++ b/src/vhdl/vhdl-sem_names.adb
@@ -1765,9 +1765,13 @@ package body Vhdl.Sem_Names is
Subprg : Iir;
begin
-- We cares only of signals.
- if Get_Kind (Obj) /= Iir_Kind_Signal_Declaration then
- return;
- end if;
+ case Get_Kind (Obj) is
+ when Iir_Kind_Signal_Declaration
+ | Iir_Kind_Interface_Signal_Declaration =>
+ null;
+ when others =>
+ return;
+ end case;
-- We cares only of subprograms. Give up if we are in a process.
Subprg := Sem_Stmts.Get_Current_Subprogram;
if Subprg = Null_Iir
@@ -1775,6 +1779,11 @@ package body Vhdl.Sem_Names is
then
return;
end if;
+ if Get_Kind (Obj) = Iir_Kind_Interface_Signal_Declaration
+ and then Get_Parent (Obj) = Subprg
+ then
+ return;
+ end if;
if Get_Kind (Get_Library_Unit (Sem.Get_Current_Design_Unit))
= Iir_Kind_Package_Body
then