aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2019-08-09 05:14:04 +0200
committerTristan Gingold <tgingold@free.fr>2019-08-09 05:14:04 +0200
commit7c9298f4ef785ab2df77adabc95cd2672db43054 (patch)
tree2674e3f2b794a0e57c6c26fa8c23213f4429b363 /src
parent6e51ccf3b2875a6b4e7ba1b7215b0ec28f0655b6 (diff)
downloadghdl-7c9298f4ef785ab2df77adabc95cd2672db43054.tar.gz
ghdl-7c9298f4ef785ab2df77adabc95cd2672db43054.tar.bz2
ghdl-7c9298f4ef785ab2df77adabc95cd2672db43054.zip
vhdl: remove unused Get/Set_Choice_Order.
Diffstat (limited to 'src')
-rw-r--r--src/vhdl/vhdl-nodes.adb16
-rw-r--r--src/vhdl/vhdl-nodes.ads7
-rw-r--r--src/vhdl/vhdl-nodes_meta.adb522
-rw-r--r--src/vhdl/vhdl-nodes_meta.ads2
-rw-r--r--src/vhdl/vhdl-sem_expr.adb4
5 files changed, 247 insertions, 304 deletions
diff --git a/src/vhdl/vhdl-nodes.adb b/src/vhdl/vhdl-nodes.adb
index 780f13b5b..0755f61dc 100644
--- a/src/vhdl/vhdl-nodes.adb
+++ b/src/vhdl/vhdl-nodes.adb
@@ -2247,22 +2247,6 @@ package body Vhdl.Nodes is
Set_Field3 (We, An_Iir);
end Set_Time;
- function Get_Choice_Order (Choice : Iir) return Int32 is
- begin
- pragma Assert (Choice /= Null_Iir);
- pragma Assert (Has_Choice_Order (Get_Kind (Choice)),
- "no field Choice_Order");
- return Int32'Val (Get_Field1 (Choice));
- end Get_Choice_Order;
-
- procedure Set_Choice_Order (Choice : Iir; Pos : Int32) is
- begin
- pragma Assert (Choice /= Null_Iir);
- pragma Assert (Has_Choice_Order (Get_Kind (Choice)),
- "no field Choice_Order");
- Set_Field1 (Choice, Int32'Pos (Pos));
- end Set_Choice_Order;
-
function Get_Associated_Expr (Target : Iir) return Iir is
begin
pragma Assert (Target /= Null_Iir);
diff --git a/src/vhdl/vhdl-nodes.ads b/src/vhdl/vhdl-nodes.ads
index 73cc7d4aa..7a2cfaf28 100644
--- a/src/vhdl/vhdl-nodes.ads
+++ b/src/vhdl/vhdl-nodes.ads
@@ -541,9 +541,6 @@ package Vhdl.Nodes is
-- associations have the same_alternative_flag set.
-- Get/Set_Chain (Field2)
--
- -- Ordered position of the choice from 1 to N. 0 is reserved for others.
- -- Get/Set_Choice_Order (Field1)
- --
-- Should be a simple_name.
-- Only for Iir_Kind_Choice_By_Name:
-- Get/Set_Choice_Name (Field5)
@@ -6354,10 +6351,6 @@ package Vhdl.Nodes is
function Get_Time (We : Iir_Waveform_Element) return Iir;
procedure Set_Time (We : Iir_Waveform_Element; An_Iir : Iir);
- -- Field: Field1 (pos)
- function Get_Choice_Order (Choice : Iir) return Int32;
- procedure Set_Choice_Order (Choice : Iir; Pos : Int32);
-
-- Node associated with a choice.
-- Field: Field3
function Get_Associated_Expr (Target : Iir) return Iir;
diff --git a/src/vhdl/vhdl-nodes_meta.adb b/src/vhdl/vhdl-nodes_meta.adb
index 4a933e382..002b60cc0 100644
--- a/src/vhdl/vhdl-nodes_meta.adb
+++ b/src/vhdl/vhdl-nodes_meta.adb
@@ -77,7 +77,6 @@ package body Vhdl.Nodes_Meta is
Field_After_Drivers_Flag => Type_Boolean,
Field_We_Value => Type_Iir,
Field_Time => Type_Iir,
- Field_Choice_Order => Type_Int32,
Field_Associated_Expr => Type_Iir,
Field_Associated_Block => Type_Iir,
Field_Associated_Chain => Type_Iir,
@@ -472,8 +471,6 @@ package body Vhdl.Nodes_Meta is
return "we_value";
when Field_Time =>
return "time";
- when Field_Choice_Order =>
- return "choice_order";
when Field_Associated_Expr =>
return "associated_expr";
when Field_Associated_Block =>
@@ -1682,8 +1679,6 @@ package body Vhdl.Nodes_Meta is
return Attr_None;
when Field_Time =>
return Attr_None;
- when Field_Choice_Order =>
- return Attr_None;
when Field_Associated_Expr =>
return Attr_None;
when Field_Associated_Block =>
@@ -2397,7 +2392,6 @@ package body Vhdl.Nodes_Meta is
Field_Chain,
Field_Actual,
-- Iir_Kind_Choice_By_Range
- Field_Choice_Order,
Field_Same_Alternative_Flag,
Field_Element_Type_Flag,
Field_Choice_Staticness,
@@ -2407,7 +2401,6 @@ package body Vhdl.Nodes_Meta is
Field_Associated_Expr,
Field_Associated_Chain,
-- Iir_Kind_Choice_By_Expression
- Field_Choice_Order,
Field_Same_Alternative_Flag,
Field_Element_Type_Flag,
Field_Choice_Staticness,
@@ -2417,7 +2410,6 @@ package body Vhdl.Nodes_Meta is
Field_Associated_Expr,
Field_Associated_Chain,
-- Iir_Kind_Choice_By_Others
- Field_Choice_Order,
Field_Same_Alternative_Flag,
Field_Element_Type_Flag,
Field_Parent,
@@ -2425,7 +2417,6 @@ package body Vhdl.Nodes_Meta is
Field_Associated_Expr,
Field_Associated_Chain,
-- Iir_Kind_Choice_By_None
- Field_Choice_Order,
Field_Same_Alternative_Flag,
Field_Element_Type_Flag,
Field_Parent,
@@ -2433,7 +2424,6 @@ package body Vhdl.Nodes_Meta is
Field_Associated_Expr,
Field_Associated_Chain,
-- Iir_Kind_Choice_By_Name
- Field_Choice_Order,
Field_Same_Alternative_Flag,
Field_Element_Type_Flag,
Field_Parent,
@@ -4492,253 +4482,253 @@ package body Vhdl.Nodes_Meta is
Iir_Kind_Association_Element_Package => 131,
Iir_Kind_Association_Element_Type => 139,
Iir_Kind_Association_Element_Subprogram => 145,
- Iir_Kind_Choice_By_Range => 154,
- Iir_Kind_Choice_By_Expression => 163,
- Iir_Kind_Choice_By_Others => 170,
- Iir_Kind_Choice_By_None => 177,
- Iir_Kind_Choice_By_Name => 185,
- Iir_Kind_Entity_Aspect_Entity => 187,
- Iir_Kind_Entity_Aspect_Configuration => 188,
- Iir_Kind_Entity_Aspect_Open => 188,
- Iir_Kind_Block_Configuration => 194,
- Iir_Kind_Block_Header => 198,
- Iir_Kind_Component_Configuration => 205,
- Iir_Kind_Binding_Indication => 209,
- Iir_Kind_Entity_Class => 211,
- Iir_Kind_Attribute_Value => 219,
- Iir_Kind_Signature => 222,
- Iir_Kind_Aggregate_Info => 229,
- Iir_Kind_Procedure_Call => 233,
- Iir_Kind_Record_Element_Constraint => 239,
- Iir_Kind_Array_Element_Resolution => 241,
- Iir_Kind_Record_Resolution => 242,
- Iir_Kind_Record_Element_Resolution => 245,
- Iir_Kind_Attribute_Specification => 253,
- Iir_Kind_Disconnection_Specification => 259,
- Iir_Kind_Configuration_Specification => 265,
- Iir_Kind_Access_Type_Definition => 273,
- Iir_Kind_Incomplete_Type_Definition => 281,
- Iir_Kind_Interface_Type_Definition => 288,
- Iir_Kind_File_Type_Definition => 295,
- Iir_Kind_Protected_Type_Declaration => 304,
- Iir_Kind_Record_Type_Definition => 315,
- Iir_Kind_Array_Type_Definition => 327,
- Iir_Kind_Array_Subtype_Definition => 342,
- Iir_Kind_Record_Subtype_Definition => 355,
- Iir_Kind_Access_Subtype_Definition => 363,
- Iir_Kind_Physical_Subtype_Definition => 373,
- Iir_Kind_Floating_Subtype_Definition => 384,
- Iir_Kind_Integer_Subtype_Definition => 394,
- Iir_Kind_Enumeration_Subtype_Definition => 404,
- Iir_Kind_Enumeration_Type_Definition => 415,
- Iir_Kind_Integer_Type_Definition => 423,
- Iir_Kind_Floating_Type_Definition => 431,
- Iir_Kind_Physical_Type_Definition => 442,
- Iir_Kind_Range_Expression => 450,
- Iir_Kind_Protected_Type_Body => 457,
- Iir_Kind_Wildcard_Type_Definition => 462,
- Iir_Kind_Subtype_Definition => 469,
- Iir_Kind_Scalar_Nature_Definition => 473,
- Iir_Kind_Overload_List => 474,
- Iir_Kind_Type_Declaration => 481,
- Iir_Kind_Anonymous_Type_Declaration => 487,
- Iir_Kind_Subtype_Declaration => 494,
- Iir_Kind_Nature_Declaration => 500,
- Iir_Kind_Subnature_Declaration => 506,
- Iir_Kind_Entity_Declaration => 518,
- Iir_Kind_Configuration_Declaration => 527,
- Iir_Kind_Context_Declaration => 533,
- Iir_Kind_Package_Declaration => 548,
- Iir_Kind_Package_Instantiation_Declaration => 562,
- Iir_Kind_Package_Body => 570,
- Iir_Kind_Architecture_Body => 582,
- Iir_Kind_Package_Header => 584,
- Iir_Kind_Unit_Declaration => 593,
- Iir_Kind_Library_Declaration => 600,
- Iir_Kind_Component_Declaration => 610,
- Iir_Kind_Attribute_Declaration => 617,
- Iir_Kind_Group_Template_Declaration => 623,
- Iir_Kind_Group_Declaration => 630,
- Iir_Kind_Element_Declaration => 637,
- Iir_Kind_Non_Object_Alias_Declaration => 645,
- Iir_Kind_Psl_Declaration => 653,
- Iir_Kind_Psl_Endpoint_Declaration => 667,
- Iir_Kind_Terminal_Declaration => 674,
- Iir_Kind_Free_Quantity_Declaration => 685,
- Iir_Kind_Across_Quantity_Declaration => 697,
- Iir_Kind_Through_Quantity_Declaration => 709,
- Iir_Kind_Enumeration_Literal => 720,
- Iir_Kind_Function_Declaration => 745,
- Iir_Kind_Procedure_Declaration => 769,
- Iir_Kind_Function_Body => 779,
- Iir_Kind_Procedure_Body => 790,
- Iir_Kind_Object_Alias_Declaration => 801,
- Iir_Kind_File_Declaration => 815,
- Iir_Kind_Guard_Signal_Declaration => 828,
- Iir_Kind_Signal_Declaration => 845,
- Iir_Kind_Variable_Declaration => 858,
- Iir_Kind_Constant_Declaration => 872,
- Iir_Kind_Iterator_Declaration => 883,
- Iir_Kind_Interface_Constant_Declaration => 899,
- Iir_Kind_Interface_Variable_Declaration => 915,
- Iir_Kind_Interface_Signal_Declaration => 936,
- Iir_Kind_Interface_File_Declaration => 952,
- Iir_Kind_Interface_Type_Declaration => 962,
- Iir_Kind_Interface_Package_Declaration => 974,
- Iir_Kind_Interface_Function_Declaration => 991,
- Iir_Kind_Interface_Procedure_Declaration => 1004,
- Iir_Kind_Anonymous_Signal_Declaration => 1012,
- Iir_Kind_Signal_Attribute_Declaration => 1015,
- Iir_Kind_Identity_Operator => 1019,
- Iir_Kind_Negation_Operator => 1023,
- Iir_Kind_Absolute_Operator => 1027,
- Iir_Kind_Not_Operator => 1031,
- Iir_Kind_Implicit_Condition_Operator => 1035,
- Iir_Kind_Condition_Operator => 1039,
- Iir_Kind_Reduction_And_Operator => 1043,
- Iir_Kind_Reduction_Or_Operator => 1047,
- Iir_Kind_Reduction_Nand_Operator => 1051,
- Iir_Kind_Reduction_Nor_Operator => 1055,
- Iir_Kind_Reduction_Xor_Operator => 1059,
- Iir_Kind_Reduction_Xnor_Operator => 1063,
- Iir_Kind_And_Operator => 1068,
- Iir_Kind_Or_Operator => 1073,
- Iir_Kind_Nand_Operator => 1078,
- Iir_Kind_Nor_Operator => 1083,
- Iir_Kind_Xor_Operator => 1088,
- Iir_Kind_Xnor_Operator => 1093,
- Iir_Kind_Equality_Operator => 1098,
- Iir_Kind_Inequality_Operator => 1103,
- Iir_Kind_Less_Than_Operator => 1108,
- Iir_Kind_Less_Than_Or_Equal_Operator => 1113,
- Iir_Kind_Greater_Than_Operator => 1118,
- Iir_Kind_Greater_Than_Or_Equal_Operator => 1123,
- Iir_Kind_Match_Equality_Operator => 1128,
- Iir_Kind_Match_Inequality_Operator => 1133,
- Iir_Kind_Match_Less_Than_Operator => 1138,
- Iir_Kind_Match_Less_Than_Or_Equal_Operator => 1143,
- Iir_Kind_Match_Greater_Than_Operator => 1148,
- Iir_Kind_Match_Greater_Than_Or_Equal_Operator => 1153,
- Iir_Kind_Sll_Operator => 1158,
- Iir_Kind_Sla_Operator => 1163,
- Iir_Kind_Srl_Operator => 1168,
- Iir_Kind_Sra_Operator => 1173,
- Iir_Kind_Rol_Operator => 1178,
- Iir_Kind_Ror_Operator => 1183,
- Iir_Kind_Addition_Operator => 1188,
- Iir_Kind_Substraction_Operator => 1193,
- Iir_Kind_Concatenation_Operator => 1198,
- Iir_Kind_Multiplication_Operator => 1203,
- Iir_Kind_Division_Operator => 1208,
- Iir_Kind_Modulus_Operator => 1213,
- Iir_Kind_Remainder_Operator => 1218,
- Iir_Kind_Exponentiation_Operator => 1223,
- Iir_Kind_Function_Call => 1231,
- Iir_Kind_Aggregate => 1238,
- Iir_Kind_Parenthesis_Expression => 1241,
- Iir_Kind_Qualified_Expression => 1245,
- Iir_Kind_Type_Conversion => 1250,
- Iir_Kind_Allocator_By_Expression => 1254,
- Iir_Kind_Allocator_By_Subtype => 1259,
- Iir_Kind_Selected_Element => 1267,
- Iir_Kind_Dereference => 1272,
- Iir_Kind_Implicit_Dereference => 1277,
- Iir_Kind_Slice_Name => 1284,
- Iir_Kind_Indexed_Name => 1290,
- Iir_Kind_Psl_Expression => 1292,
- Iir_Kind_Sensitized_Process_Statement => 1313,
- Iir_Kind_Process_Statement => 1333,
- Iir_Kind_Concurrent_Simple_Signal_Assignment => 1345,
- Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1357,
- Iir_Kind_Concurrent_Selected_Signal_Assignment => 1370,
- Iir_Kind_Concurrent_Assertion_Statement => 1378,
- Iir_Kind_Concurrent_Procedure_Call_Statement => 1385,
- Iir_Kind_Psl_Assert_Directive => 1398,
- Iir_Kind_Psl_Assume_Directive => 1409,
- Iir_Kind_Psl_Cover_Directive => 1421,
- Iir_Kind_Psl_Restrict_Directive => 1432,
- Iir_Kind_Block_Statement => 1446,
- Iir_Kind_If_Generate_Statement => 1457,
- Iir_Kind_Case_Generate_Statement => 1466,
- Iir_Kind_For_Generate_Statement => 1475,
- Iir_Kind_Component_Instantiation_Statement => 1486,
- Iir_Kind_Psl_Default_Clock => 1490,
- Iir_Kind_Simple_Simultaneous_Statement => 1497,
- Iir_Kind_Generate_Statement_Body => 1508,
- Iir_Kind_If_Generate_Else_Clause => 1514,
- Iir_Kind_Simple_Signal_Assignment_Statement => 1524,
- Iir_Kind_Conditional_Signal_Assignment_Statement => 1534,
- Iir_Kind_Selected_Waveform_Assignment_Statement => 1545,
- Iir_Kind_Null_Statement => 1549,
- Iir_Kind_Assertion_Statement => 1556,
- Iir_Kind_Report_Statement => 1562,
- Iir_Kind_Wait_Statement => 1570,
- Iir_Kind_Variable_Assignment_Statement => 1577,
- Iir_Kind_Conditional_Variable_Assignment_Statement => 1584,
- Iir_Kind_Return_Statement => 1590,
- Iir_Kind_For_Loop_Statement => 1599,
- Iir_Kind_While_Loop_Statement => 1608,
- Iir_Kind_Next_Statement => 1615,
- Iir_Kind_Exit_Statement => 1622,
- Iir_Kind_Case_Statement => 1630,
- Iir_Kind_Procedure_Call_Statement => 1636,
- Iir_Kind_If_Statement => 1646,
- Iir_Kind_Elsif => 1652,
- Iir_Kind_Character_Literal => 1660,
- Iir_Kind_Simple_Name => 1668,
- Iir_Kind_Selected_Name => 1677,
- Iir_Kind_Operator_Symbol => 1683,
- Iir_Kind_Reference_Name => 1687,
- Iir_Kind_External_Constant_Name => 1695,
- Iir_Kind_External_Signal_Name => 1703,
- Iir_Kind_External_Variable_Name => 1712,
- Iir_Kind_Selected_By_All_Name => 1718,
- Iir_Kind_Parenthesis_Name => 1723,
- Iir_Kind_Package_Pathname => 1727,
- Iir_Kind_Absolute_Pathname => 1728,
- Iir_Kind_Relative_Pathname => 1729,
- Iir_Kind_Pathname_Element => 1734,
- Iir_Kind_Base_Attribute => 1736,
- Iir_Kind_Subtype_Attribute => 1741,
- Iir_Kind_Element_Attribute => 1746,
- Iir_Kind_Left_Type_Attribute => 1751,
- Iir_Kind_Right_Type_Attribute => 1756,
- Iir_Kind_High_Type_Attribute => 1761,
- Iir_Kind_Low_Type_Attribute => 1766,
- Iir_Kind_Ascending_Type_Attribute => 1771,
- Iir_Kind_Image_Attribute => 1777,
- Iir_Kind_Value_Attribute => 1783,
- Iir_Kind_Pos_Attribute => 1789,
- Iir_Kind_Val_Attribute => 1795,
- Iir_Kind_Succ_Attribute => 1801,
- Iir_Kind_Pred_Attribute => 1807,
- Iir_Kind_Leftof_Attribute => 1813,
- Iir_Kind_Rightof_Attribute => 1819,
- Iir_Kind_Delayed_Attribute => 1828,
- Iir_Kind_Stable_Attribute => 1837,
- Iir_Kind_Quiet_Attribute => 1846,
- Iir_Kind_Transaction_Attribute => 1855,
- Iir_Kind_Event_Attribute => 1859,
- Iir_Kind_Active_Attribute => 1863,
- Iir_Kind_Last_Event_Attribute => 1867,
- Iir_Kind_Last_Active_Attribute => 1871,
- Iir_Kind_Last_Value_Attribute => 1875,
- Iir_Kind_Driving_Attribute => 1879,
- Iir_Kind_Driving_Value_Attribute => 1883,
- Iir_Kind_Behavior_Attribute => 1883,
- Iir_Kind_Structure_Attribute => 1883,
- Iir_Kind_Simple_Name_Attribute => 1890,
- Iir_Kind_Instance_Name_Attribute => 1895,
- Iir_Kind_Path_Name_Attribute => 1900,
- Iir_Kind_Left_Array_Attribute => 1907,
- Iir_Kind_Right_Array_Attribute => 1914,
- Iir_Kind_High_Array_Attribute => 1921,
- Iir_Kind_Low_Array_Attribute => 1928,
- Iir_Kind_Length_Array_Attribute => 1935,
- Iir_Kind_Ascending_Array_Attribute => 1942,
- Iir_Kind_Range_Array_Attribute => 1949,
- Iir_Kind_Reverse_Range_Array_Attribute => 1956,
- Iir_Kind_Attribute_Name => 1965
+ Iir_Kind_Choice_By_Range => 153,
+ Iir_Kind_Choice_By_Expression => 161,
+ Iir_Kind_Choice_By_Others => 167,
+ Iir_Kind_Choice_By_None => 173,
+ Iir_Kind_Choice_By_Name => 180,
+ Iir_Kind_Entity_Aspect_Entity => 182,
+ Iir_Kind_Entity_Aspect_Configuration => 183,
+ Iir_Kind_Entity_Aspect_Open => 183,
+ Iir_Kind_Block_Configuration => 189,
+ Iir_Kind_Block_Header => 193,
+ Iir_Kind_Component_Configuration => 200,
+ Iir_Kind_Binding_Indication => 204,
+ Iir_Kind_Entity_Class => 206,
+ Iir_Kind_Attribute_Value => 214,
+ Iir_Kind_Signature => 217,
+ Iir_Kind_Aggregate_Info => 224,
+ Iir_Kind_Procedure_Call => 228,
+ Iir_Kind_Record_Element_Constraint => 234,
+ Iir_Kind_Array_Element_Resolution => 236,
+ Iir_Kind_Record_Resolution => 237,
+ Iir_Kind_Record_Element_Resolution => 240,
+ Iir_Kind_Attribute_Specification => 248,
+ Iir_Kind_Disconnection_Specification => 254,
+ Iir_Kind_Configuration_Specification => 260,
+ Iir_Kind_Access_Type_Definition => 268,
+ Iir_Kind_Incomplete_Type_Definition => 276,
+ Iir_Kind_Interface_Type_Definition => 283,
+ Iir_Kind_File_Type_Definition => 290,
+ Iir_Kind_Protected_Type_Declaration => 299,
+ Iir_Kind_Record_Type_Definition => 310,
+ Iir_Kind_Array_Type_Definition => 322,
+ Iir_Kind_Array_Subtype_Definition => 337,
+ Iir_Kind_Record_Subtype_Definition => 350,
+ Iir_Kind_Access_Subtype_Definition => 358,
+ Iir_Kind_Physical_Subtype_Definition => 368,
+ Iir_Kind_Floating_Subtype_Definition => 379,
+ Iir_Kind_Integer_Subtype_Definition => 389,
+ Iir_Kind_Enumeration_Subtype_Definition => 399,
+ Iir_Kind_Enumeration_Type_Definition => 410,
+ Iir_Kind_Integer_Type_Definition => 418,
+ Iir_Kind_Floating_Type_Definition => 426,
+ Iir_Kind_Physical_Type_Definition => 437,
+ Iir_Kind_Range_Expression => 445,
+ Iir_Kind_Protected_Type_Body => 452,
+ Iir_Kind_Wildcard_Type_Definition => 457,
+ Iir_Kind_Subtype_Definition => 464,
+ Iir_Kind_Scalar_Nature_Definition => 468,
+ Iir_Kind_Overload_List => 469,
+ Iir_Kind_Type_Declaration => 476,
+ Iir_Kind_Anonymous_Type_Declaration => 482,
+ Iir_Kind_Subtype_Declaration => 489,
+ Iir_Kind_Nature_Declaration => 495,
+ Iir_Kind_Subnature_Declaration => 501,
+ Iir_Kind_Entity_Declaration => 513,
+ Iir_Kind_Configuration_Declaration => 522,
+ Iir_Kind_Context_Declaration => 528,
+ Iir_Kind_Package_Declaration => 543,
+ Iir_Kind_Package_Instantiation_Declaration => 557,
+ Iir_Kind_Package_Body => 565,
+ Iir_Kind_Architecture_Body => 577,
+ Iir_Kind_Package_Header => 579,
+ Iir_Kind_Unit_Declaration => 588,
+ Iir_Kind_Library_Declaration => 595,
+ Iir_Kind_Component_Declaration => 605,
+ Iir_Kind_Attribute_Declaration => 612,
+ Iir_Kind_Group_Template_Declaration => 618,
+ Iir_Kind_Group_Declaration => 625,
+ Iir_Kind_Element_Declaration => 632,
+ Iir_Kind_Non_Object_Alias_Declaration => 640,
+ Iir_Kind_Psl_Declaration => 648,
+ Iir_Kind_Psl_Endpoint_Declaration => 662,
+ Iir_Kind_Terminal_Declaration => 669,
+ Iir_Kind_Free_Quantity_Declaration => 680,
+ Iir_Kind_Across_Quantity_Declaration => 692,
+ Iir_Kind_Through_Quantity_Declaration => 704,
+ Iir_Kind_Enumeration_Literal => 715,
+ Iir_Kind_Function_Declaration => 740,
+ Iir_Kind_Procedure_Declaration => 764,
+ Iir_Kind_Function_Body => 774,
+ Iir_Kind_Procedure_Body => 785,
+ Iir_Kind_Object_Alias_Declaration => 796,
+ Iir_Kind_File_Declaration => 810,
+ Iir_Kind_Guard_Signal_Declaration => 823,
+ Iir_Kind_Signal_Declaration => 840,
+ Iir_Kind_Variable_Declaration => 853,
+ Iir_Kind_Constant_Declaration => 867,
+ Iir_Kind_Iterator_Declaration => 878,
+ Iir_Kind_Interface_Constant_Declaration => 894,
+ Iir_Kind_Interface_Variable_Declaration => 910,
+ Iir_Kind_Interface_Signal_Declaration => 931,
+ Iir_Kind_Interface_File_Declaration => 947,
+ Iir_Kind_Interface_Type_Declaration => 957,
+ Iir_Kind_Interface_Package_Declaration => 969,
+ Iir_Kind_Interface_Function_Declaration => 986,
+ Iir_Kind_Interface_Procedure_Declaration => 999,
+ Iir_Kind_Anonymous_Signal_Declaration => 1007,
+ Iir_Kind_Signal_Attribute_Declaration => 1010,
+ Iir_Kind_Identity_Operator => 1014,
+ Iir_Kind_Negation_Operator => 1018,
+ Iir_Kind_Absolute_Operator => 1022,
+ Iir_Kind_Not_Operator => 1026,
+ Iir_Kind_Implicit_Condition_Operator => 1030,
+ Iir_Kind_Condition_Operator => 1034,
+ Iir_Kind_Reduction_And_Operator => 1038,
+ Iir_Kind_Reduction_Or_Operator => 1042,
+ Iir_Kind_Reduction_Nand_Operator => 1046,
+ Iir_Kind_Reduction_Nor_Operator => 1050,
+ Iir_Kind_Reduction_Xor_Operator => 1054,
+ Iir_Kind_Reduction_Xnor_Operator => 1058,
+ Iir_Kind_And_Operator => 1063,
+ Iir_Kind_Or_Operator => 1068,
+ Iir_Kind_Nand_Operator => 1073,
+ Iir_Kind_Nor_Operator => 1078,
+ Iir_Kind_Xor_Operator => 1083,
+ Iir_Kind_Xnor_Operator => 1088,
+ Iir_Kind_Equality_Operator => 1093,
+ Iir_Kind_Inequality_Operator => 1098,
+ Iir_Kind_Less_Than_Operator => 1103,
+ Iir_Kind_Less_Than_Or_Equal_Operator => 1108,
+ Iir_Kind_Greater_Than_Operator => 1113,
+ Iir_Kind_Greater_Than_Or_Equal_Operator => 1118,
+ Iir_Kind_Match_Equality_Operator => 1123,
+ Iir_Kind_Match_Inequality_Operator => 1128,
+ Iir_Kind_Match_Less_Than_Operator => 1133,
+ Iir_Kind_Match_Less_Than_Or_Equal_Operator => 1138,
+ Iir_Kind_Match_Greater_Than_Operator => 1143,
+ Iir_Kind_Match_Greater_Than_Or_Equal_Operator => 1148,
+ Iir_Kind_Sll_Operator => 1153,
+ Iir_Kind_Sla_Operator => 1158,
+ Iir_Kind_Srl_Operator => 1163,
+ Iir_Kind_Sra_Operator => 1168,
+ Iir_Kind_Rol_Operator => 1173,
+ Iir_Kind_Ror_Operator => 1178,
+ Iir_Kind_Addition_Operator => 1183,
+ Iir_Kind_Substraction_Operator => 1188,
+ Iir_Kind_Concatenation_Operator => 1193,
+ Iir_Kind_Multiplication_Operator => 1198,
+ Iir_Kind_Division_Operator => 1203,
+ Iir_Kind_Modulus_Operator => 1208,
+ Iir_Kind_Remainder_Operator => 1213,
+ Iir_Kind_Exponentiation_Operator => 1218,
+ Iir_Kind_Function_Call => 1226,
+ Iir_Kind_Aggregate => 1233,
+ Iir_Kind_Parenthesis_Expression => 1236,
+ Iir_Kind_Qualified_Expression => 1240,
+ Iir_Kind_Type_Conversion => 1245,
+ Iir_Kind_Allocator_By_Expression => 1249,
+ Iir_Kind_Allocator_By_Subtype => 1254,
+ Iir_Kind_Selected_Element => 1262,
+ Iir_Kind_Dereference => 1267,
+ Iir_Kind_Implicit_Dereference => 1272,
+ Iir_Kind_Slice_Name => 1279,
+ Iir_Kind_Indexed_Name => 1285,
+ Iir_Kind_Psl_Expression => 1287,
+ Iir_Kind_Sensitized_Process_Statement => 1308,
+ Iir_Kind_Process_Statement => 1328,
+ Iir_Kind_Concurrent_Simple_Signal_Assignment => 1340,
+ Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1352,
+ Iir_Kind_Concurrent_Selected_Signal_Assignment => 1365,
+ Iir_Kind_Concurrent_Assertion_Statement => 1373,
+ Iir_Kind_Concurrent_Procedure_Call_Statement => 1380,
+ Iir_Kind_Psl_Assert_Directive => 1393,
+ Iir_Kind_Psl_Assume_Directive => 1404,
+ Iir_Kind_Psl_Cover_Directive => 1416,
+ Iir_Kind_Psl_Restrict_Directive => 1427,
+ Iir_Kind_Block_Statement => 1441,
+ Iir_Kind_If_Generate_Statement => 1452,
+ Iir_Kind_Case_Generate_Statement => 1461,
+ Iir_Kind_For_Generate_Statement => 1470,
+ Iir_Kind_Component_Instantiation_Statement => 1481,
+ Iir_Kind_Psl_Default_Clock => 1485,
+ Iir_Kind_Simple_Simultaneous_Statement => 1492,
+ Iir_Kind_Generate_Statement_Body => 1503,
+ Iir_Kind_If_Generate_Else_Clause => 1509,
+ Iir_Kind_Simple_Signal_Assignment_Statement => 1519,
+ Iir_Kind_Conditional_Signal_Assignment_Statement => 1529,
+ Iir_Kind_Selected_Waveform_Assignment_Statement => 1540,
+ Iir_Kind_Null_Statement => 1544,
+ Iir_Kind_Assertion_Statement => 1551,
+ Iir_Kind_Report_Statement => 1557,
+ Iir_Kind_Wait_Statement => 1565,
+ Iir_Kind_Variable_Assignment_Statement => 1572,
+ Iir_Kind_Conditional_Variable_Assignment_Statement => 1579,
+ Iir_Kind_Return_Statement => 1585,
+ Iir_Kind_For_Loop_Statement => 1594,
+ Iir_Kind_While_Loop_Statement => 1603,
+ Iir_Kind_Next_Statement => 1610,
+ Iir_Kind_Exit_Statement => 1617,
+ Iir_Kind_Case_Statement => 1625,
+ Iir_Kind_Procedure_Call_Statement => 1631,
+ Iir_Kind_If_Statement => 1641,
+ Iir_Kind_Elsif => 1647,
+ Iir_Kind_Character_Literal => 1655,
+ Iir_Kind_Simple_Name => 1663,
+ Iir_Kind_Selected_Name => 1672,
+ Iir_Kind_Operator_Symbol => 1678,
+ Iir_Kind_Reference_Name => 1682,
+ Iir_Kind_External_Constant_Name => 1690,
+ Iir_Kind_External_Signal_Name => 1698,
+ Iir_Kind_External_Variable_Name => 1707,
+ Iir_Kind_Selected_By_All_Name => 1713,
+ Iir_Kind_Parenthesis_Name => 1718,
+ Iir_Kind_Package_Pathname => 1722,
+ Iir_Kind_Absolute_Pathname => 1723,
+ Iir_Kind_Relative_Pathname => 1724,
+ Iir_Kind_Pathname_Element => 1729,
+ Iir_Kind_Base_Attribute => 1731,
+ Iir_Kind_Subtype_Attribute => 1736,
+ Iir_Kind_Element_Attribute => 1741,
+ Iir_Kind_Left_Type_Attribute => 1746,
+ Iir_Kind_Right_Type_Attribute => 1751,
+ Iir_Kind_High_Type_Attribute => 1756,
+ Iir_Kind_Low_Type_Attribute => 1761,
+ Iir_Kind_Ascending_Type_Attribute => 1766,
+ Iir_Kind_Image_Attribute => 1772,
+ Iir_Kind_Value_Attribute => 1778,
+ Iir_Kind_Pos_Attribute => 1784,
+ Iir_Kind_Val_Attribute => 1790,
+ Iir_Kind_Succ_Attribute => 1796,
+ Iir_Kind_Pred_Attribute => 1802,
+ Iir_Kind_Leftof_Attribute => 1808,
+ Iir_Kind_Rightof_Attribute => 1814,
+ Iir_Kind_Delayed_Attribute => 1823,
+ Iir_Kind_Stable_Attribute => 1832,
+ Iir_Kind_Quiet_Attribute => 1841,
+ Iir_Kind_Transaction_Attribute => 1850,
+ Iir_Kind_Event_Attribute => 1854,
+ Iir_Kind_Active_Attribute => 1858,
+ Iir_Kind_Last_Event_Attribute => 1862,
+ Iir_Kind_Last_Active_Attribute => 1866,
+ Iir_Kind_Last_Value_Attribute => 1870,
+ Iir_Kind_Driving_Attribute => 1874,
+ Iir_Kind_Driving_Value_Attribute => 1878,
+ Iir_Kind_Behavior_Attribute => 1878,
+ Iir_Kind_Structure_Attribute => 1878,
+ Iir_Kind_Simple_Name_Attribute => 1885,
+ Iir_Kind_Instance_Name_Attribute => 1890,
+ Iir_Kind_Path_Name_Attribute => 1895,
+ Iir_Kind_Left_Array_Attribute => 1902,
+ Iir_Kind_Right_Array_Attribute => 1909,
+ Iir_Kind_High_Array_Attribute => 1916,
+ Iir_Kind_Low_Array_Attribute => 1923,
+ Iir_Kind_Length_Array_Attribute => 1930,
+ Iir_Kind_Ascending_Array_Attribute => 1937,
+ Iir_Kind_Range_Array_Attribute => 1944,
+ Iir_Kind_Reverse_Range_Array_Attribute => 1951,
+ Iir_Kind_Attribute_Name => 1960
);
function Get_Fields_First (K : Iir_Kind) return Fields_Index is
@@ -6349,8 +6339,6 @@ package body Vhdl.Nodes_Meta is
return Get_String_Length (N);
when Field_Literal_Length =>
return Get_Literal_Length (N);
- when Field_Choice_Order =>
- return Get_Choice_Order (N);
when Field_PSL_Nbr_States =>
return Get_PSL_Nbr_States (N);
when others =>
@@ -6371,8 +6359,6 @@ package body Vhdl.Nodes_Meta is
Set_String_Length (N, V);
when Field_Literal_Length =>
Set_Literal_Length (N, V);
- when Field_Choice_Order =>
- Set_Choice_Order (N, V);
when Field_PSL_Nbr_States =>
Set_PSL_Nbr_States (N, V);
when others =>
@@ -7105,20 +7091,6 @@ package body Vhdl.Nodes_Meta is
return K = Iir_Kind_Waveform_Element;
end Has_Time;
- function Has_Choice_Order (K : Iir_Kind) return Boolean is
- begin
- case K is
- when Iir_Kind_Choice_By_Range
- | Iir_Kind_Choice_By_Expression
- | Iir_Kind_Choice_By_Others
- | Iir_Kind_Choice_By_None
- | Iir_Kind_Choice_By_Name =>
- return True;
- when others =>
- return False;
- end case;
- end Has_Choice_Order;
-
function Has_Associated_Expr (K : Iir_Kind) return Boolean is
begin
case K is
diff --git a/src/vhdl/vhdl-nodes_meta.ads b/src/vhdl/vhdl-nodes_meta.ads
index c9cfe3a99..34b54e8af 100644
--- a/src/vhdl/vhdl-nodes_meta.ads
+++ b/src/vhdl/vhdl-nodes_meta.ads
@@ -119,7 +119,6 @@ package Vhdl.Nodes_Meta is
Field_After_Drivers_Flag,
Field_We_Value,
Field_Time,
- Field_Choice_Order,
Field_Associated_Expr,
Field_Associated_Block,
Field_Associated_Chain,
@@ -648,7 +647,6 @@ package Vhdl.Nodes_Meta is
function Has_After_Drivers_Flag (K : Iir_Kind) return Boolean;
function Has_We_Value (K : Iir_Kind) return Boolean;
function Has_Time (K : Iir_Kind) return Boolean;
- function Has_Choice_Order (K : Iir_Kind) return Boolean;
function Has_Associated_Expr (K : Iir_Kind) return Boolean;
function Has_Associated_Block (K : Iir_Kind) return Boolean;
function Has_Associated_Chain (K : Iir_Kind) return Boolean;
diff --git a/src/vhdl/vhdl-sem_expr.adb b/src/vhdl/vhdl-sem_expr.adb
index 4225d0802..90db825b5 100644
--- a/src/vhdl/vhdl-sem_expr.adb
+++ b/src/vhdl/vhdl-sem_expr.adb
@@ -2578,10 +2578,6 @@ package body Vhdl.Sem_Expr is
Fill_Choices_Array (Info, Choice_Chain);
Sort_Discrete_Choices (Info);
- for I in Info.Arr'Range loop
- Set_Choice_Order (Info.Arr (I), Int32 (I));
- end loop;
-
-- Set low and high bounds.
if Info.Nbr_Choices > 0 then
Low := Get_Assoc_Low (Info.Arr (Info.Arr'First));