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; | 
