diff options
Diffstat (limited to 'src/vhdl')
| -rw-r--r-- | src/vhdl/vhdl-sem_scopes.adb | 13 | 
1 files changed, 8 insertions, 5 deletions
| diff --git a/src/vhdl/vhdl-sem_scopes.adb b/src/vhdl/vhdl-sem_scopes.adb index ac97bbeb0..3e4633a58 100644 --- a/src/vhdl/vhdl-sem_scopes.adb +++ b/src/vhdl/vhdl-sem_scopes.adb @@ -1459,7 +1459,9 @@ package body Vhdl.Sem_Scopes is     --  that simple name, character literal, or operator symbol contained     --  within the package or library denoted by the prefix of the selected     --  name. -   procedure Use_Selected_Name (Name : Iir) is +   procedure Use_Selected_Name (Name : Iir) +   is +      Nname : Iir;     begin        case Get_Kind (Name) is           when Iir_Kind_Overload_List => @@ -1473,10 +1475,11 @@ package body Vhdl.Sem_Scopes is              --  If the suffix of the selected name is a type mark, then the              --  declaration of the type or subtype denoted by the type mark              --  is identified. Moreover [...] -            if (Vhdl_Std >= Vhdl_08 or else Flag_Relaxed_Rules) -              and then Get_Kind (Name) in Iir_Kinds_Type_Declaration -            then -               Use_Selected_Type_Name (Name); +            if (Vhdl_Std >= Vhdl_08 or else Flag_Relaxed_Rules) then +               Nname := Strip_Non_Object_Alias (Name); +               if Get_Kind (Nname) in Iir_Kinds_Type_Declaration then +                  Use_Selected_Type_Name (Nname); +               end if;              end if;        end case;     end Use_Selected_Name; | 
