diff options
author | Tristan Gingold <tgingold@free.fr> | 2018-12-18 18:14:40 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2018-12-18 18:19:30 +0100 |
commit | 48b78095ffa8bf349bec312d14812df264cacc32 (patch) | |
tree | d3477dc99f57878d99c54394bc6f5e1af70f4201 /src | |
parent | 7624e7bd83a1fea5b38f81a2d68f27acb78ed7a9 (diff) | |
download | ghdl-48b78095ffa8bf349bec312d14812df264cacc32.tar.gz ghdl-48b78095ffa8bf349bec312d14812df264cacc32.tar.bz2 ghdl-48b78095ffa8bf349bec312d14812df264cacc32.zip |
iir_kind_selected_element: use Named_Entity for homogeneity.
Diffstat (limited to 'src')
-rw-r--r-- | src/vhdl/disp_vhdl.adb | 2 | ||||
-rw-r--r-- | src/vhdl/evaluation.adb | 2 | ||||
-rw-r--r-- | src/vhdl/iirs.adb | 16 | ||||
-rw-r--r-- | src/vhdl/iirs.ads | 12 | ||||
-rw-r--r-- | src/vhdl/nodes_meta.adb | 217 | ||||
-rw-r--r-- | src/vhdl/nodes_meta.ads | 2 | ||||
-rw-r--r-- | src/vhdl/sem_assocs.adb | 2 | ||||
-rw-r--r-- | src/vhdl/sem_names.adb | 4 | ||||
-rw-r--r-- | src/vhdl/simulate/simul-execution.adb | 4 | ||||
-rw-r--r-- | src/vhdl/translate/trans-chap6.adb | 63 | ||||
-rw-r--r-- | src/vhdl/translate/trans-chap8.adb | 2 | ||||
-rw-r--r-- | src/vhdl/xrefs.adb | 2 |
12 files changed, 120 insertions, 208 deletions
diff --git a/src/vhdl/disp_vhdl.adb b/src/vhdl/disp_vhdl.adb index 37e6f21c6..b803a1c37 100644 --- a/src/vhdl/disp_vhdl.adb +++ b/src/vhdl/disp_vhdl.adb @@ -2912,7 +2912,7 @@ package body Disp_Vhdl is when Iir_Kind_Selected_Element => Disp_Expression (Get_Prefix (Expr)); Put ("."); - Disp_Name_Of (Get_Selected_Element (Expr)); + Disp_Name_Of (Get_Named_Entity (Expr)); when Iir_Kind_Implicit_Dereference => Disp_Expression (Get_Prefix (Expr)); when Iir_Kind_Dereference => diff --git a/src/vhdl/evaluation.adb b/src/vhdl/evaluation.adb index 89d56634e..7cc3608eb 100644 --- a/src/vhdl/evaluation.adb +++ b/src/vhdl/evaluation.adb @@ -2253,7 +2253,7 @@ package body Evaluation is function Eval_Selected_Element (Expr : Iir) return Iir is - Selected_El : constant Iir := Get_Selected_Element (Expr); + Selected_El : constant Iir := Get_Named_Entity (Expr); El_Pos : constant Iir_Index32 := Get_Element_Position (Selected_El); Prefix : Iir; Cur_Pos : Iir_Index32; diff --git a/src/vhdl/iirs.adb b/src/vhdl/iirs.adb index a181fcae3..dfbcf9d8c 100644 --- a/src/vhdl/iirs.adb +++ b/src/vhdl/iirs.adb @@ -2509,22 +2509,6 @@ package body Iirs is Set_Field4 (Target, Iir_Index32'Pos (Pos)); end Set_Element_Position; - function Get_Selected_Element (Target : Iir) return Iir is - begin - pragma Assert (Target /= Null_Iir); - pragma Assert (Has_Selected_Element (Get_Kind (Target)), - "no field Selected_Element"); - return Get_Field2 (Target); - end Get_Selected_Element; - - procedure Set_Selected_Element (Target : Iir; El : Iir) is - begin - pragma Assert (Target /= Null_Iir); - pragma Assert (Has_Selected_Element (Get_Kind (Target)), - "no field Selected_Element"); - Set_Field2 (Target, El); - end Set_Selected_Element; - function Get_Use_Clause_Chain (Target : Iir) return Iir is begin pragma Assert (Target /= Null_Iir); diff --git a/src/vhdl/iirs.ads b/src/vhdl/iirs.ads index e46673308..6bc91777e 100644 --- a/src/vhdl/iirs.ads +++ b/src/vhdl/iirs.ads @@ -3803,15 +3803,19 @@ package Iirs is -- -- Get/Set_Type (Field1) -- - -- Get/Set_Selected_Element (Field2) - -- -- Get/Set_Identifier (Field3) -- + -- The selected element. + -- Get/Set_Named_Entity (Field4) + -- -- Get/Set_Base_Name (Field5) -- -- Get/Set_Expr_Staticness (State1) -- -- Get/Set_Name_Staticness (State2) + -- + -- Always false. + -- Get/Set_Is_Forward_Ref (Flag1) -- Iir_Kind_Implicit_Dereference (Short) -- Iir_Kind_Dereference (Short) @@ -6481,10 +6485,6 @@ package Iirs is function Get_Element_Position (Target : Iir) return Iir_Index32; procedure Set_Element_Position (Target : Iir; Pos : Iir_Index32); - -- Field: Field2 Ref - function Get_Selected_Element (Target : Iir) return Iir; - procedure Set_Selected_Element (Target : Iir; El : Iir); - -- Selected names of an use_clause are chained. -- Field: Field3 function Get_Use_Clause_Chain (Target : Iir) return Iir; diff --git a/src/vhdl/nodes_meta.adb b/src/vhdl/nodes_meta.adb index 23be8afaf..48b00f7c2 100644 --- a/src/vhdl/nodes_meta.adb +++ b/src/vhdl/nodes_meta.adb @@ -137,7 +137,6 @@ package body Nodes_Meta is Field_File_Logical_Name => Type_Iir, Field_File_Open_Kind => Type_Iir, Field_Element_Position => Type_Iir_Index32, - Field_Selected_Element => Type_Iir, Field_Use_Clause_Chain => Type_Iir, Field_Context_Reference_Chain => Type_Iir, Field_Selected_Name => Type_Iir, @@ -592,8 +591,6 @@ package body Nodes_Meta is return "file_open_kind"; when Field_Element_Position => return "element_position"; - when Field_Selected_Element => - return "selected_element"; when Field_Use_Clause_Chain => return "use_clause_chain"; when Field_Context_Reference_Chain => @@ -1796,8 +1793,6 @@ package body Nodes_Meta is return Attr_None; when Field_Element_Position => return Attr_None; - when Field_Selected_Element => - return Attr_Ref; when Field_Use_Clause_Chain => return Attr_None; when Field_Context_Reference_Chain => @@ -3642,11 +3637,12 @@ package body Nodes_Meta is Field_Allocator_Designated_Type, -- Iir_Kind_Selected_Element Field_Identifier, + Field_Is_Forward_Ref, Field_Expr_Staticness, Field_Name_Staticness, Field_Prefix, Field_Type, - Field_Selected_Element, + Field_Named_Entity, Field_Base_Name, -- Iir_Kind_Dereference Field_Expr_Staticness, @@ -4597,103 +4593,103 @@ package body Nodes_Meta is Iir_Kind_Type_Conversion => 1239, Iir_Kind_Allocator_By_Expression => 1243, Iir_Kind_Allocator_By_Subtype => 1248, - Iir_Kind_Selected_Element => 1255, - Iir_Kind_Dereference => 1260, - Iir_Kind_Implicit_Dereference => 1265, - Iir_Kind_Slice_Name => 1272, - Iir_Kind_Indexed_Name => 1278, - Iir_Kind_Psl_Expression => 1280, - Iir_Kind_Sensitized_Process_Statement => 1301, - Iir_Kind_Process_Statement => 1321, - Iir_Kind_Concurrent_Simple_Signal_Assignment => 1333, - Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1345, - Iir_Kind_Concurrent_Selected_Signal_Assignment => 1358, - Iir_Kind_Concurrent_Assertion_Statement => 1366, - Iir_Kind_Concurrent_Procedure_Call_Statement => 1373, - Iir_Kind_Psl_Assert_Statement => 1386, - Iir_Kind_Psl_Cover_Statement => 1399, - Iir_Kind_Block_Statement => 1412, - Iir_Kind_If_Generate_Statement => 1423, - Iir_Kind_Case_Generate_Statement => 1432, - Iir_Kind_For_Generate_Statement => 1441, - Iir_Kind_Component_Instantiation_Statement => 1452, - Iir_Kind_Psl_Default_Clock => 1456, - Iir_Kind_Simple_Simultaneous_Statement => 1463, - Iir_Kind_Generate_Statement_Body => 1474, - Iir_Kind_If_Generate_Else_Clause => 1480, - Iir_Kind_Simple_Signal_Assignment_Statement => 1490, - Iir_Kind_Conditional_Signal_Assignment_Statement => 1500, - Iir_Kind_Selected_Waveform_Assignment_Statement => 1511, - Iir_Kind_Null_Statement => 1515, - Iir_Kind_Assertion_Statement => 1522, - Iir_Kind_Report_Statement => 1528, - Iir_Kind_Wait_Statement => 1536, - Iir_Kind_Variable_Assignment_Statement => 1543, - Iir_Kind_Conditional_Variable_Assignment_Statement => 1550, - Iir_Kind_Return_Statement => 1556, - Iir_Kind_For_Loop_Statement => 1565, - Iir_Kind_While_Loop_Statement => 1574, - Iir_Kind_Next_Statement => 1581, - Iir_Kind_Exit_Statement => 1588, - Iir_Kind_Case_Statement => 1596, - Iir_Kind_Procedure_Call_Statement => 1602, - Iir_Kind_If_Statement => 1612, - Iir_Kind_Elsif => 1618, - Iir_Kind_Character_Literal => 1626, - Iir_Kind_Simple_Name => 1634, - Iir_Kind_Selected_Name => 1643, - Iir_Kind_Operator_Symbol => 1649, - Iir_Kind_Reference_Name => 1652, - Iir_Kind_External_Constant_Name => 1661, - Iir_Kind_External_Signal_Name => 1670, - Iir_Kind_External_Variable_Name => 1679, - Iir_Kind_Selected_By_All_Name => 1685, - Iir_Kind_Parenthesis_Name => 1690, - Iir_Kind_Package_Pathname => 1694, - Iir_Kind_Absolute_Pathname => 1695, - Iir_Kind_Relative_Pathname => 1696, - Iir_Kind_Pathname_Element => 1701, - Iir_Kind_Base_Attribute => 1703, - Iir_Kind_Subtype_Attribute => 1708, - Iir_Kind_Element_Attribute => 1713, - Iir_Kind_Left_Type_Attribute => 1718, - Iir_Kind_Right_Type_Attribute => 1723, - Iir_Kind_High_Type_Attribute => 1728, - Iir_Kind_Low_Type_Attribute => 1733, - Iir_Kind_Ascending_Type_Attribute => 1738, - Iir_Kind_Image_Attribute => 1744, - Iir_Kind_Value_Attribute => 1750, - Iir_Kind_Pos_Attribute => 1756, - Iir_Kind_Val_Attribute => 1762, - Iir_Kind_Succ_Attribute => 1768, - Iir_Kind_Pred_Attribute => 1774, - Iir_Kind_Leftof_Attribute => 1780, - Iir_Kind_Rightof_Attribute => 1786, - Iir_Kind_Delayed_Attribute => 1795, - Iir_Kind_Stable_Attribute => 1804, - Iir_Kind_Quiet_Attribute => 1813, - Iir_Kind_Transaction_Attribute => 1822, - Iir_Kind_Event_Attribute => 1826, - Iir_Kind_Active_Attribute => 1830, - Iir_Kind_Last_Event_Attribute => 1834, - Iir_Kind_Last_Active_Attribute => 1838, - Iir_Kind_Last_Value_Attribute => 1842, - Iir_Kind_Driving_Attribute => 1846, - Iir_Kind_Driving_Value_Attribute => 1850, - Iir_Kind_Behavior_Attribute => 1850, - Iir_Kind_Structure_Attribute => 1850, - Iir_Kind_Simple_Name_Attribute => 1857, - Iir_Kind_Instance_Name_Attribute => 1862, - Iir_Kind_Path_Name_Attribute => 1867, - Iir_Kind_Left_Array_Attribute => 1874, - Iir_Kind_Right_Array_Attribute => 1881, - Iir_Kind_High_Array_Attribute => 1888, - Iir_Kind_Low_Array_Attribute => 1895, - Iir_Kind_Length_Array_Attribute => 1902, - Iir_Kind_Ascending_Array_Attribute => 1909, - Iir_Kind_Range_Array_Attribute => 1916, - Iir_Kind_Reverse_Range_Array_Attribute => 1923, - Iir_Kind_Attribute_Name => 1932 + Iir_Kind_Selected_Element => 1256, + Iir_Kind_Dereference => 1261, + Iir_Kind_Implicit_Dereference => 1266, + Iir_Kind_Slice_Name => 1273, + Iir_Kind_Indexed_Name => 1279, + Iir_Kind_Psl_Expression => 1281, + Iir_Kind_Sensitized_Process_Statement => 1302, + Iir_Kind_Process_Statement => 1322, + Iir_Kind_Concurrent_Simple_Signal_Assignment => 1334, + Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1346, + Iir_Kind_Concurrent_Selected_Signal_Assignment => 1359, + Iir_Kind_Concurrent_Assertion_Statement => 1367, + Iir_Kind_Concurrent_Procedure_Call_Statement => 1374, + Iir_Kind_Psl_Assert_Statement => 1387, + Iir_Kind_Psl_Cover_Statement => 1400, + Iir_Kind_Block_Statement => 1413, + Iir_Kind_If_Generate_Statement => 1424, + Iir_Kind_Case_Generate_Statement => 1433, + Iir_Kind_For_Generate_Statement => 1442, + Iir_Kind_Component_Instantiation_Statement => 1453, + Iir_Kind_Psl_Default_Clock => 1457, + Iir_Kind_Simple_Simultaneous_Statement => 1464, + Iir_Kind_Generate_Statement_Body => 1475, + Iir_Kind_If_Generate_Else_Clause => 1481, + Iir_Kind_Simple_Signal_Assignment_Statement => 1491, + Iir_Kind_Conditional_Signal_Assignment_Statement => 1501, + Iir_Kind_Selected_Waveform_Assignment_Statement => 1512, + Iir_Kind_Null_Statement => 1516, + Iir_Kind_Assertion_Statement => 1523, + Iir_Kind_Report_Statement => 1529, + Iir_Kind_Wait_Statement => 1537, + Iir_Kind_Variable_Assignment_Statement => 1544, + Iir_Kind_Conditional_Variable_Assignment_Statement => 1551, + Iir_Kind_Return_Statement => 1557, + Iir_Kind_For_Loop_Statement => 1566, + Iir_Kind_While_Loop_Statement => 1575, + Iir_Kind_Next_Statement => 1582, + Iir_Kind_Exit_Statement => 1589, + Iir_Kind_Case_Statement => 1597, + Iir_Kind_Procedure_Call_Statement => 1603, + Iir_Kind_If_Statement => 1613, + Iir_Kind_Elsif => 1619, + Iir_Kind_Character_Literal => 1627, + Iir_Kind_Simple_Name => 1635, + Iir_Kind_Selected_Name => 1644, + Iir_Kind_Operator_Symbol => 1650, + Iir_Kind_Reference_Name => 1653, + Iir_Kind_External_Constant_Name => 1662, + Iir_Kind_External_Signal_Name => 1671, + Iir_Kind_External_Variable_Name => 1680, + Iir_Kind_Selected_By_All_Name => 1686, + Iir_Kind_Parenthesis_Name => 1691, + Iir_Kind_Package_Pathname => 1695, + Iir_Kind_Absolute_Pathname => 1696, + Iir_Kind_Relative_Pathname => 1697, + Iir_Kind_Pathname_Element => 1702, + Iir_Kind_Base_Attribute => 1704, + Iir_Kind_Subtype_Attribute => 1709, + Iir_Kind_Element_Attribute => 1714, + Iir_Kind_Left_Type_Attribute => 1719, + Iir_Kind_Right_Type_Attribute => 1724, + Iir_Kind_High_Type_Attribute => 1729, + Iir_Kind_Low_Type_Attribute => 1734, + Iir_Kind_Ascending_Type_Attribute => 1739, + Iir_Kind_Image_Attribute => 1745, + Iir_Kind_Value_Attribute => 1751, + Iir_Kind_Pos_Attribute => 1757, + Iir_Kind_Val_Attribute => 1763, + Iir_Kind_Succ_Attribute => 1769, + Iir_Kind_Pred_Attribute => 1775, + Iir_Kind_Leftof_Attribute => 1781, + Iir_Kind_Rightof_Attribute => 1787, + Iir_Kind_Delayed_Attribute => 1796, + Iir_Kind_Stable_Attribute => 1805, + Iir_Kind_Quiet_Attribute => 1814, + Iir_Kind_Transaction_Attribute => 1823, + Iir_Kind_Event_Attribute => 1827, + Iir_Kind_Active_Attribute => 1831, + Iir_Kind_Last_Event_Attribute => 1835, + Iir_Kind_Last_Active_Attribute => 1839, + Iir_Kind_Last_Value_Attribute => 1843, + Iir_Kind_Driving_Attribute => 1847, + Iir_Kind_Driving_Value_Attribute => 1851, + Iir_Kind_Behavior_Attribute => 1851, + Iir_Kind_Structure_Attribute => 1851, + Iir_Kind_Simple_Name_Attribute => 1858, + Iir_Kind_Instance_Name_Attribute => 1863, + Iir_Kind_Path_Name_Attribute => 1868, + Iir_Kind_Left_Array_Attribute => 1875, + Iir_Kind_Right_Array_Attribute => 1882, + Iir_Kind_High_Array_Attribute => 1889, + Iir_Kind_Low_Array_Attribute => 1896, + Iir_Kind_Length_Array_Attribute => 1903, + Iir_Kind_Ascending_Array_Attribute => 1910, + Iir_Kind_Range_Array_Attribute => 1917, + Iir_Kind_Reverse_Range_Array_Attribute => 1924, + Iir_Kind_Attribute_Name => 1933 ); function Get_Fields_First (K : Iir_Kind) return Fields_Index is @@ -5204,8 +5200,6 @@ package body Nodes_Meta is return Get_File_Logical_Name (N); when Field_File_Open_Kind => return Get_File_Open_Kind (N); - when Field_Selected_Element => - return Get_Selected_Element (N); when Field_Use_Clause_Chain => return Get_Use_Clause_Chain (N); when Field_Context_Reference_Chain => @@ -5600,8 +5594,6 @@ package body Nodes_Meta is Set_File_Logical_Name (N, V); when Field_File_Open_Kind => Set_File_Open_Kind (N, V); - when Field_Selected_Element => - Set_Selected_Element (N, V); when Field_Use_Clause_Chain => Set_Use_Clause_Chain (N, V); when Field_Context_Reference_Chain => @@ -7965,11 +7957,6 @@ package body Nodes_Meta is end case; end Has_Element_Position; - function Has_Selected_Element (K : Iir_Kind) return Boolean is - begin - return K = Iir_Kind_Selected_Element; - end Has_Selected_Element; - function Has_Use_Clause_Chain (K : Iir_Kind) return Boolean is begin return K = Iir_Kind_Use_Clause; @@ -9435,7 +9422,8 @@ package body Nodes_Meta is function Has_Named_Entity (K : Iir_Kind) return Boolean is begin case K is - when Iir_Kind_Character_Literal + when Iir_Kind_Selected_Element + | Iir_Kind_Character_Literal | Iir_Kind_Simple_Name | Iir_Kind_Selected_Name | Iir_Kind_Operator_Symbol @@ -10685,7 +10673,8 @@ package body Nodes_Meta is function Has_Is_Forward_Ref (K : Iir_Kind) return Boolean is begin case K is - when Iir_Kind_Character_Literal + when Iir_Kind_Selected_Element + | Iir_Kind_Character_Literal | Iir_Kind_Simple_Name | Iir_Kind_Selected_Name | Iir_Kind_Operator_Symbol diff --git a/src/vhdl/nodes_meta.ads b/src/vhdl/nodes_meta.ads index c546dc1ba..16b1a14e6 100644 --- a/src/vhdl/nodes_meta.ads +++ b/src/vhdl/nodes_meta.ads @@ -178,7 +178,6 @@ package Nodes_Meta is Field_File_Logical_Name, Field_File_Open_Kind, Field_Element_Position, - Field_Selected_Element, Field_Use_Clause_Chain, Field_Context_Reference_Chain, Field_Selected_Name, @@ -708,7 +707,6 @@ package Nodes_Meta is function Has_File_Logical_Name (K : Iir_Kind) return Boolean; function Has_File_Open_Kind (K : Iir_Kind) return Boolean; function Has_Element_Position (K : Iir_Kind) return Boolean; - function Has_Selected_Element (K : Iir_Kind) return Boolean; function Has_Use_Clause_Chain (K : Iir_Kind) return Boolean; function Has_Context_Reference_Chain (K : Iir_Kind) return Boolean; function Has_Selected_Name (K : Iir_Kind) return Boolean; diff --git a/src/vhdl/sem_assocs.adb b/src/vhdl/sem_assocs.adb index fda27f750..251563c3f 100644 --- a/src/vhdl/sem_assocs.adb +++ b/src/vhdl/sem_assocs.adb @@ -739,7 +739,7 @@ package body Sem_Assocs is procedure Add_Individual_Assoc_Selected_Name (Choice : out Iir; Sub_Assoc : Iir; Formal : Iir) is - Element : constant Iir := Get_Selected_Element (Formal); + Element : constant Iir := Get_Named_Entity (Formal); Last_Choice : Iir; begin -- Try to find the existing choice. diff --git a/src/vhdl/sem_names.adb b/src/vhdl/sem_names.adb index 329958f6a..5cdcda825 100644 --- a/src/vhdl/sem_names.adb +++ b/src/vhdl/sem_names.adb @@ -1777,7 +1777,7 @@ package body Sem_Names is Free_Parenthesis_Name (Name, Res); when Iir_Kind_Selected_Element => pragma Assert (Get_Kind (Name) = Iir_Kind_Selected_Name); - Xref_Ref (Res, Get_Selected_Element (Res)); + Xref_Ref (Res, Get_Named_Entity (Res)); Set_Name_Staticness (Res, Get_Name_Staticness (Prefix)); Set_Expr_Staticness (Res, Get_Expr_Staticness (Prefix)); Set_Base_Name (Res, Get_Base_Name (Prefix)); @@ -1995,7 +1995,7 @@ package body Sem_Names is Set_Prefix (Se, R); Set_Type (Se, Get_Type (Rec_El)); Set_Identifier (Se, Suffix); - Set_Selected_Element (Se, Rec_El); + Set_Named_Entity (Se, Rec_El); Set_Base_Name (Se, Get_Object_Prefix (R, False)); Add_Result (Res, Se); end Sem_As_Selected_Element; diff --git a/src/vhdl/simulate/simul-execution.adb b/src/vhdl/simulate/simul-execution.adb index fd8e4bdbc..ddc0009fa 100644 --- a/src/vhdl/simulate/simul-execution.adb +++ b/src/vhdl/simulate/simul-execution.adb @@ -2719,7 +2719,7 @@ package body Simul.Execution is begin Execute_Name_With_Base (Block, Get_Prefix (Expr), Base, Prefix, Is_Sig); - Pos := Get_Element_Position (Get_Selected_Element (Expr)); + Pos := Get_Element_Position (Get_Named_Entity (Expr)); Res := Prefix.Val_Record.V (Pos + 1); end; @@ -3581,7 +3581,7 @@ package body Simul.Execution is end loop; end; when Iir_Kind_Selected_Element => - Pos := Get_Element_Position (Get_Selected_Element (Formal)); + Pos := Get_Element_Position (Get_Named_Entity (Formal)); Store (Pfx.Val_Record.V (Pos + 1), Actual); when others => Error_Kind ("associate_by_reference", Formal); diff --git a/src/vhdl/translate/trans-chap6.adb b/src/vhdl/translate/trans-chap6.adb index cd5c156c5..093e0de00 100644 --- a/src/vhdl/translate/trans-chap6.adb +++ b/src/vhdl/translate/trans-chap6.adb @@ -954,65 +954,6 @@ package body Trans.Chap6 is end if; end Translate_Selected_Element; - -- function Translate_Formal_Interface_Name (Scope_Type : O_Tnode; - -- Scope_Param : O_Lnode; - -- Name : Iir; - -- Kind : Object_Kind_Type) - -- return Mnode - -- is - -- Type_Info : Type_Info_Acc; - -- Info : Ortho_Info_Acc; - -- Res : Mnode; - -- begin - -- Type_Info := Get_Info (Get_Type (Name)); - -- Info := Get_Info (Name); - -- Push_Scope_Soft (Scope_Type, Scope_Param); - -- Res := Get_Var (Info.Object_Var, Type_Info, Kind); - -- Clear_Scope_Soft (Scope_Type); - -- return Res; - -- end Translate_Formal_Interface_Name; - - -- function Translate_Formal_Name (Scope_Type : O_Tnode; - -- Scope_Param : O_Lnode; - -- Name : Iir) - -- return Mnode - -- is - -- Prefix : Iir; - -- Prefix_Name : Mnode; - -- begin - -- case Get_Kind (Name) is - -- when Iir_Kind_Interface_Constant_Declaration => - -- return Translate_Formal_Interface_Name - -- (Scope_Type, Scope_Param, Name, Mode_Value); - - -- when Iir_Kind_Interface_Signal_Declaration => - -- return Translate_Formal_Interface_Name - -- (Scope_Type, Scope_Param, Name, Mode_Signal); - - -- when Iir_Kind_Indexed_Name => - -- Prefix := Get_Prefix (Name); - -- Prefix_Name := Translate_Formal_Name - -- (Scope_Type, Scope_Param, Prefix); - -- return Translate_Indexed_Name (Prefix_Name, Name); - - -- when Iir_Kind_Slice_Name => - -- Prefix := Get_Prefix (Name); - -- Prefix_Name := Translate_Formal_Name - -- (Scope_Type, Scope_Param, Prefix); - -- return Translate_Slice_Name (Prefix_Name, Name); - - -- when Iir_Kind_Selected_Element => - -- Prefix := Get_Prefix (Name); - -- Prefix_Name := Translate_Formal_Name - -- (Scope_Type, Scope_Param, Prefix); - -- return Translate_Selected_Element - -- (Prefix_Name, Get_Selected_Element (Name)); - - -- when others => - -- Error_Kind ("translate_generic_name", Name); - -- end case; - -- end Translate_Formal_Name; - function Translate_Object_Alias_Name (Name : Iir; Mode : Object_Kind_Type) return Mnode is @@ -1165,7 +1106,7 @@ package body Trans.Chap6 is when Iir_Kind_Selected_Element => return Translate_Selected_Element (Translate_Name (Get_Prefix (Name), Mode), - Get_Selected_Element (Name)); + Get_Named_Entity (Name)); when Iir_Kind_Function_Call => pragma Assert (Mode = Mode_Value); @@ -1255,7 +1196,7 @@ package body Trans.Chap6 is end; when Iir_Kind_Selected_Element => declare - El : constant Iir := Get_Selected_Element (Name); + El : constant Iir := Get_Named_Entity (Name); Pfx_Sig : Mnode; Pfx_Drv : Mnode; begin diff --git a/src/vhdl/translate/trans-chap8.adb b/src/vhdl/translate/trans-chap8.adb index 82aec30a2..e8f6b1da3 100644 --- a/src/vhdl/translate/trans-chap8.adb +++ b/src/vhdl/translate/trans-chap8.adb @@ -2980,7 +2980,7 @@ package body Trans.Chap8 is (Chap3.Record_Bounds_To_Element_Bounds (Chap3.Get_Composite_Bounds (Params (Last_Individual)), - Get_Selected_Element (Formal)), + Get_Named_Entity (Formal)), Chap3.Get_Composite_Bounds (Saved_Val (Pos)), Formal_Type); end if; diff --git a/src/vhdl/xrefs.adb b/src/vhdl/xrefs.adb index 58b52e2d9..d04a7d135 100644 --- a/src/vhdl/xrefs.adb +++ b/src/vhdl/xrefs.adb @@ -134,7 +134,7 @@ package body Xrefs is end; when Iir_Kind_Selected_Element => Add_Xref (Get_Location (Name), - Get_Selected_Element (Name), Xref_Ref); + Get_Named_Entity (Name), Xref_Ref); when Iir_Kind_Dereference | Iir_Kind_Implicit_Dereference | Iir_Kind_Slice_Name |