diff options
Diffstat (limited to 'src/vhdl/vhdl-sem_names.adb')
-rw-r--r-- | src/vhdl/vhdl-sem_names.adb | 15 |
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 |