diff options
Diffstat (limited to 'src/vhdl/disp_vhdl.adb')
-rw-r--r-- | src/vhdl/disp_vhdl.adb | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/vhdl/disp_vhdl.adb b/src/vhdl/disp_vhdl.adb index 211aeb9db..291214af6 100644 --- a/src/vhdl/disp_vhdl.adb +++ b/src/vhdl/disp_vhdl.adb @@ -289,6 +289,8 @@ package body Disp_Vhdl is when Iir_Kind_Range_Array_Attribute | Iir_Kind_Reverse_Range_Array_Attribute => Disp_Range (Name); + when Iir_Kind_Reference_Name => + Disp_Name (Get_Referenced_Name (Name)); when others => Error_Kind ("disp_name", Name); end case; @@ -1533,7 +1535,7 @@ package body Disp_Vhdl is if I /= Natural'First then Put (", "); end if; - Disp_Name_Of (El); + Disp_Name (El); end loop; end if; end Disp_Instantiation_List; @@ -2721,6 +2723,16 @@ package body Disp_Vhdl is | Iir_Kind_Iterator_Declaration => Disp_Name_Of (Expr); return; + when Iir_Kind_Reference_Name => + declare + Name : constant Iir := Get_Referenced_Name (Expr); + begin + if Is_Valid (Name) then + Disp_Name (Name); + else + Disp_Expression (Get_Named_Entity (Expr)); + end if; + end; when Iir_Kinds_Dyadic_Operator => Disp_Dyadic_Operator (Expr); @@ -3290,7 +3302,7 @@ package body Disp_Vhdl is Put ("for "); Disp_Instantiation_List (Get_Instantiation_List (Conf)); Put (" : "); - Disp_Name_Of (Get_Component_Name (Conf)); + Disp_Name (Get_Component_Name (Conf)); New_Line; Binding := Get_Binding_Indication (Conf); if Binding /= Null_Iir then |