diff options
author | Tristan Gingold <tgingold@free.fr> | 2020-02-04 18:26:11 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2020-02-04 18:26:11 +0100 |
commit | 4fd8fb781846ae49791177ad57aeff6051c54507 (patch) | |
tree | c4888f20963ac99b019dcf2844e87fe12e402e0e /src | |
parent | 5225ca0e22ba2aa55ad7bec3e8bb754583aaa953 (diff) | |
download | ghdl-4fd8fb781846ae49791177ad57aeff6051c54507.tar.gz ghdl-4fd8fb781846ae49791177ad57aeff6051c54507.tar.bz2 ghdl-4fd8fb781846ae49791177ad57aeff6051c54507.zip |
vhdl-sem_utils: handle non-object interface for
Diffstat (limited to 'src')
-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; |