diff options
Diffstat (limited to 'src/vhdl/vhdl-sem_utils.adb')
-rw-r--r-- | src/vhdl/vhdl-sem_utils.adb | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/vhdl/vhdl-sem_utils.adb b/src/vhdl/vhdl-sem_utils.adb index 70573f6f1..ac06e3ea9 100644 --- a/src/vhdl/vhdl-sem_utils.adb +++ b/src/vhdl/vhdl-sem_utils.adb @@ -55,10 +55,12 @@ package body Vhdl.Sem_Utils is if Kind /= Iir_Kind_Enumeration_Literal then Inter := Get_Interface_Declaration_Chain (Subprg); while Inter /= Null_Iir loop - Itype := Get_Base_Type (Get_Type (Inter)); - Sig := Sig + 1; - Hash := Hash * 7 + To_Hash (Itype); - Hash := Hash + Hash / 2**28; + if Get_Kind (Inter) in Iir_Kinds_Interface_Object_Declaration then + Itype := Get_Base_Type (Get_Type (Inter)); + Sig := Sig + 1; + Hash := Hash * 7 + To_Hash (Itype); + Hash := Hash + Hash / 2**28; + end if; Inter := Get_Chain (Inter); end loop; end if; |