diff options
author | Tristan Gingold <tgingold@free.fr> | 2016-09-20 08:09:19 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2016-09-20 08:09:19 +0200 |
commit | 6ee23b96ecf9ab9e7ca8767ebe8fb825b0309393 (patch) | |
tree | 7a7db58cdce948a2435470d87cfc468b457817c0 /src/vhdl | |
parent | f0815de199ae3835d2555c1b85732977e8d72afe (diff) | |
download | ghdl-6ee23b96ecf9ab9e7ca8767ebe8fb825b0309393.tar.gz ghdl-6ee23b96ecf9ab9e7ca8767ebe8fb825b0309393.tar.bz2 ghdl-6ee23b96ecf9ab9e7ca8767ebe8fb825b0309393.zip |
iirs: add association_element_subprogram
Diffstat (limited to 'src/vhdl')
-rw-r--r-- | src/vhdl/errorout.adb | 3 | ||||
-rw-r--r-- | src/vhdl/iirs.adb | 1 | ||||
-rw-r--r-- | src/vhdl/iirs.ads | 5 | ||||
-rw-r--r-- | src/vhdl/nodes_meta.adb | 504 |
4 files changed, 269 insertions, 244 deletions
diff --git a/src/vhdl/errorout.adb b/src/vhdl/errorout.adb index 5ee924cba..eedece4d8 100644 --- a/src/vhdl/errorout.adb +++ b/src/vhdl/errorout.adb @@ -716,7 +716,8 @@ package body Errorout is return "individual association element"; when Iir_Kind_Association_Element_By_Expression | Iir_Kind_Association_Element_Package - | Iir_Kind_Association_Element_Type => + | Iir_Kind_Association_Element_Type + | Iir_Kind_Association_Element_Subprogram => return "association element"; when Iir_Kind_Overload_List => return "overloaded name or expression"; diff --git a/src/vhdl/iirs.adb b/src/vhdl/iirs.adb index de4272d77..01d6bfeac 100644 --- a/src/vhdl/iirs.adb +++ b/src/vhdl/iirs.adb @@ -272,6 +272,7 @@ package body Iirs is | Iir_Kind_Association_Element_Open | Iir_Kind_Association_Element_Package | Iir_Kind_Association_Element_Type + | Iir_Kind_Association_Element_Subprogram | Iir_Kind_Choice_By_Others | Iir_Kind_Choice_By_Expression | Iir_Kind_Choice_By_Range diff --git a/src/vhdl/iirs.ads b/src/vhdl/iirs.ads index 2a2337049..bbafdd816 100644 --- a/src/vhdl/iirs.ads +++ b/src/vhdl/iirs.ads @@ -391,6 +391,7 @@ package Iirs is -- Iir_Kind_Association_Element_By_Individual (Short) -- Iir_Kind_Association_Element_Package (Short) -- Iir_Kind_Association_Element_Type (Short) + -- Iir_Kind_Association_Element_Subprogram (Short) -- These are used for association element of an association list with -- an interface (ie subprogram call, port map, generic map). -- @@ -401,6 +402,7 @@ package Iirs is -- Only for Iir_Kind_Association_Element_By_Expression: -- Only for Iir_Kind_Association_Element_Package: -- Only for Iir_Kind_Association_Element_Type: + -- Only for Iir_Kind_Association_Element_Subprogram: -- Get/Set_Actual (Field3) -- -- Only for Iir_Kind_Association_Element_By_Individual: @@ -1448,6 +1450,8 @@ package Iirs is -- Only for Iir_Kind_Interface_Function_Declaration: -- Get/Set_Pure_Flag (Flag2) -- + -- Get/Set_Foreign_Flag (Flag3) + -- -- Get/Set_Visible_Flag (Flag4) -- -- Get/Set_Use_Flag (Flag6) @@ -3817,6 +3821,7 @@ package Iirs is Iir_Kind_Association_Element_Open, Iir_Kind_Association_Element_Package, Iir_Kind_Association_Element_Type, + Iir_Kind_Association_Element_Subprogram, Iir_Kind_Choice_By_Others, Iir_Kind_Choice_By_Expression, Iir_Kind_Choice_By_Range, diff --git a/src/vhdl/nodes_meta.adb b/src/vhdl/nodes_meta.adb index 08c968c89..da825a1f1 100644 --- a/src/vhdl/nodes_meta.adb +++ b/src/vhdl/nodes_meta.adb @@ -1008,6 +1008,8 @@ package body Nodes_Meta is return "association_element_package"; when Iir_Kind_Association_Element_Type => return "association_element_type"; + when Iir_Kind_Association_Element_Subprogram => + return "association_element_subprogram"; when Iir_Kind_Choice_By_Others => return "choice_by_others"; when Iir_Kind_Choice_By_Expression => @@ -2261,6 +2263,12 @@ package body Nodes_Meta is Field_Chain, Field_Actual, Field_Actual_Type, + -- Iir_Kind_Association_Element_Subprogram + Field_Whole_Association_Flag, + Field_Collapse_Signal_Flag, + Field_Formal, + Field_Chain, + Field_Actual, -- Iir_Kind_Choice_By_Others Field_Same_Alternative_Flag, Field_Chain, @@ -3148,6 +3156,7 @@ package body Nodes_Meta is Field_Subprogram_Hash, Field_Seen_Flag, Field_Pure_Flag, + Field_Foreign_Flag, Field_Visible_Flag, Field_Use_Flag, Field_Resolution_Function_Flag, @@ -3162,6 +3171,7 @@ package body Nodes_Meta is Field_Identifier, Field_Subprogram_Hash, Field_Seen_Flag, + Field_Foreign_Flag, Field_Visible_Flag, Field_Use_Flag, Field_Chain, @@ -4207,244 +4217,245 @@ package body Nodes_Meta is Iir_Kind_Association_Element_Open => 113, Iir_Kind_Association_Element_Package => 118, Iir_Kind_Association_Element_Type => 124, - Iir_Kind_Choice_By_Others => 129, - Iir_Kind_Choice_By_Expression => 136, - Iir_Kind_Choice_By_Range => 143, - Iir_Kind_Choice_By_None => 148, - Iir_Kind_Choice_By_Name => 154, - Iir_Kind_Entity_Aspect_Entity => 156, - Iir_Kind_Entity_Aspect_Configuration => 157, - Iir_Kind_Entity_Aspect_Open => 157, - Iir_Kind_Block_Configuration => 163, - Iir_Kind_Block_Header => 167, - Iir_Kind_Component_Configuration => 173, - Iir_Kind_Binding_Indication => 179, - Iir_Kind_Entity_Class => 181, - Iir_Kind_Attribute_Value => 189, - Iir_Kind_Signature => 192, - Iir_Kind_Aggregate_Info => 199, - Iir_Kind_Procedure_Call => 203, - Iir_Kind_Record_Element_Constraint => 209, - Iir_Kind_Array_Element_Resolution => 210, - Iir_Kind_Record_Resolution => 211, - Iir_Kind_Record_Element_Resolution => 214, - Iir_Kind_Attribute_Specification => 223, - Iir_Kind_Disconnection_Specification => 228, - Iir_Kind_Configuration_Specification => 233, - Iir_Kind_Access_Type_Definition => 240, - Iir_Kind_Incomplete_Type_Definition => 247, - Iir_Kind_Interface_Type_Definition => 253, - Iir_Kind_File_Type_Definition => 260, - Iir_Kind_Protected_Type_Declaration => 269, - Iir_Kind_Record_Type_Definition => 279, - Iir_Kind_Array_Type_Definition => 291, - Iir_Kind_Array_Subtype_Definition => 306, - Iir_Kind_Record_Subtype_Definition => 317, - Iir_Kind_Access_Subtype_Definition => 325, - Iir_Kind_Physical_Subtype_Definition => 334, - Iir_Kind_Floating_Subtype_Definition => 344, - Iir_Kind_Integer_Subtype_Definition => 353, - Iir_Kind_Enumeration_Subtype_Definition => 362, - Iir_Kind_Enumeration_Type_Definition => 371, - Iir_Kind_Integer_Type_Definition => 377, - Iir_Kind_Floating_Type_Definition => 383, - Iir_Kind_Physical_Type_Definition => 392, - Iir_Kind_Range_Expression => 398, - Iir_Kind_Protected_Type_Body => 405, - Iir_Kind_Wildcard_Type_Definition => 410, - Iir_Kind_Subtype_Definition => 414, - Iir_Kind_Scalar_Nature_Definition => 418, - Iir_Kind_Overload_List => 419, - Iir_Kind_Type_Declaration => 425, - Iir_Kind_Anonymous_Type_Declaration => 430, - Iir_Kind_Subtype_Declaration => 438, - Iir_Kind_Nature_Declaration => 444, - Iir_Kind_Subnature_Declaration => 450, - Iir_Kind_Package_Declaration => 465, - Iir_Kind_Package_Instantiation_Declaration => 477, - Iir_Kind_Package_Body => 485, - Iir_Kind_Configuration_Declaration => 494, - Iir_Kind_Entity_Declaration => 506, - Iir_Kind_Architecture_Body => 518, - Iir_Kind_Context_Declaration => 524, - Iir_Kind_Package_Header => 526, - Iir_Kind_Unit_Declaration => 535, - Iir_Kind_Library_Declaration => 542, - Iir_Kind_Component_Declaration => 552, - Iir_Kind_Attribute_Declaration => 559, - Iir_Kind_Group_Template_Declaration => 565, - Iir_Kind_Group_Declaration => 572, - Iir_Kind_Element_Declaration => 579, - Iir_Kind_Non_Object_Alias_Declaration => 587, - Iir_Kind_Psl_Declaration => 595, - Iir_Kind_Psl_Endpoint_Declaration => 609, - Iir_Kind_Terminal_Declaration => 615, - Iir_Kind_Free_Quantity_Declaration => 624, - Iir_Kind_Across_Quantity_Declaration => 636, - Iir_Kind_Through_Quantity_Declaration => 648, - Iir_Kind_Enumeration_Literal => 659, - Iir_Kind_Function_Declaration => 683, - Iir_Kind_Procedure_Declaration => 706, - Iir_Kind_Function_Body => 716, - Iir_Kind_Procedure_Body => 727, - Iir_Kind_Object_Alias_Declaration => 739, - Iir_Kind_File_Declaration => 754, - Iir_Kind_Guard_Signal_Declaration => 767, - Iir_Kind_Signal_Declaration => 784, - Iir_Kind_Variable_Declaration => 797, - Iir_Kind_Constant_Declaration => 811, - Iir_Kind_Iterator_Declaration => 823, - Iir_Kind_Interface_Constant_Declaration => 839, - Iir_Kind_Interface_Variable_Declaration => 855, - Iir_Kind_Interface_Signal_Declaration => 876, - Iir_Kind_Interface_File_Declaration => 892, - Iir_Kind_Interface_Type_Declaration => 902, - Iir_Kind_Interface_Package_Declaration => 912, - Iir_Kind_Interface_Function_Declaration => 926, - Iir_Kind_Interface_Procedure_Declaration => 936, - Iir_Kind_Identity_Operator => 940, - Iir_Kind_Negation_Operator => 944, - Iir_Kind_Absolute_Operator => 948, - Iir_Kind_Not_Operator => 952, - Iir_Kind_Condition_Operator => 956, - Iir_Kind_Reduction_And_Operator => 960, - Iir_Kind_Reduction_Or_Operator => 964, - Iir_Kind_Reduction_Nand_Operator => 968, - Iir_Kind_Reduction_Nor_Operator => 972, - Iir_Kind_Reduction_Xor_Operator => 976, - Iir_Kind_Reduction_Xnor_Operator => 980, - Iir_Kind_And_Operator => 985, - Iir_Kind_Or_Operator => 990, - Iir_Kind_Nand_Operator => 995, - Iir_Kind_Nor_Operator => 1000, - Iir_Kind_Xor_Operator => 1005, - Iir_Kind_Xnor_Operator => 1010, - Iir_Kind_Equality_Operator => 1015, - Iir_Kind_Inequality_Operator => 1020, - Iir_Kind_Less_Than_Operator => 1025, - Iir_Kind_Less_Than_Or_Equal_Operator => 1030, - Iir_Kind_Greater_Than_Operator => 1035, - Iir_Kind_Greater_Than_Or_Equal_Operator => 1040, - Iir_Kind_Match_Equality_Operator => 1045, - Iir_Kind_Match_Inequality_Operator => 1050, - Iir_Kind_Match_Less_Than_Operator => 1055, - Iir_Kind_Match_Less_Than_Or_Equal_Operator => 1060, - Iir_Kind_Match_Greater_Than_Operator => 1065, - Iir_Kind_Match_Greater_Than_Or_Equal_Operator => 1070, - Iir_Kind_Sll_Operator => 1075, - Iir_Kind_Sla_Operator => 1080, - Iir_Kind_Srl_Operator => 1085, - Iir_Kind_Sra_Operator => 1090, - Iir_Kind_Rol_Operator => 1095, - Iir_Kind_Ror_Operator => 1100, - Iir_Kind_Addition_Operator => 1105, - Iir_Kind_Substraction_Operator => 1110, - Iir_Kind_Concatenation_Operator => 1115, - Iir_Kind_Multiplication_Operator => 1120, - Iir_Kind_Division_Operator => 1125, - Iir_Kind_Modulus_Operator => 1130, - Iir_Kind_Remainder_Operator => 1135, - Iir_Kind_Exponentiation_Operator => 1140, - Iir_Kind_Function_Call => 1148, - Iir_Kind_Aggregate => 1154, - Iir_Kind_Parenthesis_Expression => 1157, - Iir_Kind_Qualified_Expression => 1161, - Iir_Kind_Type_Conversion => 1166, - Iir_Kind_Allocator_By_Expression => 1170, - Iir_Kind_Allocator_By_Subtype => 1176, - Iir_Kind_Selected_Element => 1182, - Iir_Kind_Dereference => 1187, - Iir_Kind_Implicit_Dereference => 1192, - Iir_Kind_Slice_Name => 1199, - Iir_Kind_Indexed_Name => 1205, - Iir_Kind_Psl_Expression => 1207, - Iir_Kind_Sensitized_Process_Statement => 1227, - Iir_Kind_Process_Statement => 1247, - Iir_Kind_Concurrent_Simple_Signal_Assignment => 1258, - Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1269, - Iir_Kind_Concurrent_Selected_Signal_Assignment => 1281, - Iir_Kind_Concurrent_Assertion_Statement => 1289, - Iir_Kind_Concurrent_Procedure_Call_Statement => 1296, - Iir_Kind_Psl_Assert_Statement => 1309, - Iir_Kind_Psl_Cover_Statement => 1322, - Iir_Kind_Block_Statement => 1335, - Iir_Kind_If_Generate_Statement => 1345, - Iir_Kind_Case_Generate_Statement => 1354, - Iir_Kind_For_Generate_Statement => 1363, - Iir_Kind_Component_Instantiation_Statement => 1373, - Iir_Kind_Psl_Default_Clock => 1377, - Iir_Kind_Simple_Simultaneous_Statement => 1384, - Iir_Kind_Generate_Statement_Body => 1395, - Iir_Kind_If_Generate_Else_Clause => 1400, - Iir_Kind_Simple_Signal_Assignment_Statement => 1409, - Iir_Kind_Conditional_Signal_Assignment_Statement => 1418, - Iir_Kind_Null_Statement => 1422, - Iir_Kind_Assertion_Statement => 1429, - Iir_Kind_Report_Statement => 1435, - Iir_Kind_Wait_Statement => 1442, - Iir_Kind_Variable_Assignment_Statement => 1448, - Iir_Kind_Conditional_Variable_Assignment_Statement => 1454, - Iir_Kind_Return_Statement => 1460, - Iir_Kind_For_Loop_Statement => 1469, - Iir_Kind_While_Loop_Statement => 1477, - Iir_Kind_Next_Statement => 1483, - Iir_Kind_Exit_Statement => 1489, - Iir_Kind_Case_Statement => 1497, - Iir_Kind_Procedure_Call_Statement => 1503, - Iir_Kind_If_Statement => 1512, - Iir_Kind_Elsif => 1517, - Iir_Kind_Character_Literal => 1524, - Iir_Kind_Simple_Name => 1531, - Iir_Kind_Selected_Name => 1539, - Iir_Kind_Operator_Symbol => 1544, - Iir_Kind_Selected_By_All_Name => 1549, - Iir_Kind_Parenthesis_Name => 1553, - Iir_Kind_External_Constant_Name => 1562, - Iir_Kind_External_Signal_Name => 1571, - Iir_Kind_External_Variable_Name => 1580, - Iir_Kind_Package_Pathname => 1583, - Iir_Kind_Absolute_Pathname => 1584, - Iir_Kind_Relative_Pathname => 1585, - Iir_Kind_Pathname_Element => 1589, - Iir_Kind_Base_Attribute => 1591, - Iir_Kind_Left_Type_Attribute => 1596, - Iir_Kind_Right_Type_Attribute => 1601, - Iir_Kind_High_Type_Attribute => 1606, - Iir_Kind_Low_Type_Attribute => 1611, - Iir_Kind_Ascending_Type_Attribute => 1616, - Iir_Kind_Image_Attribute => 1622, - Iir_Kind_Value_Attribute => 1628, - Iir_Kind_Pos_Attribute => 1634, - Iir_Kind_Val_Attribute => 1640, - Iir_Kind_Succ_Attribute => 1646, - Iir_Kind_Pred_Attribute => 1652, - Iir_Kind_Leftof_Attribute => 1658, - Iir_Kind_Rightof_Attribute => 1664, - Iir_Kind_Delayed_Attribute => 1672, - Iir_Kind_Stable_Attribute => 1680, - Iir_Kind_Quiet_Attribute => 1688, - Iir_Kind_Transaction_Attribute => 1696, - Iir_Kind_Event_Attribute => 1700, - Iir_Kind_Active_Attribute => 1704, - Iir_Kind_Last_Event_Attribute => 1708, - Iir_Kind_Last_Active_Attribute => 1712, - Iir_Kind_Last_Value_Attribute => 1716, - Iir_Kind_Driving_Attribute => 1720, - Iir_Kind_Driving_Value_Attribute => 1724, - Iir_Kind_Behavior_Attribute => 1724, - Iir_Kind_Structure_Attribute => 1724, - Iir_Kind_Simple_Name_Attribute => 1731, - Iir_Kind_Instance_Name_Attribute => 1736, - Iir_Kind_Path_Name_Attribute => 1741, - Iir_Kind_Left_Array_Attribute => 1748, - Iir_Kind_Right_Array_Attribute => 1755, - Iir_Kind_High_Array_Attribute => 1762, - Iir_Kind_Low_Array_Attribute => 1769, - Iir_Kind_Length_Array_Attribute => 1776, - Iir_Kind_Ascending_Array_Attribute => 1783, - Iir_Kind_Range_Array_Attribute => 1790, - Iir_Kind_Reverse_Range_Array_Attribute => 1797, - Iir_Kind_Attribute_Name => 1805 + Iir_Kind_Association_Element_Subprogram => 129, + Iir_Kind_Choice_By_Others => 134, + Iir_Kind_Choice_By_Expression => 141, + Iir_Kind_Choice_By_Range => 148, + Iir_Kind_Choice_By_None => 153, + Iir_Kind_Choice_By_Name => 159, + Iir_Kind_Entity_Aspect_Entity => 161, + Iir_Kind_Entity_Aspect_Configuration => 162, + Iir_Kind_Entity_Aspect_Open => 162, + Iir_Kind_Block_Configuration => 168, + Iir_Kind_Block_Header => 172, + Iir_Kind_Component_Configuration => 178, + Iir_Kind_Binding_Indication => 184, + Iir_Kind_Entity_Class => 186, + Iir_Kind_Attribute_Value => 194, + Iir_Kind_Signature => 197, + Iir_Kind_Aggregate_Info => 204, + Iir_Kind_Procedure_Call => 208, + Iir_Kind_Record_Element_Constraint => 214, + Iir_Kind_Array_Element_Resolution => 215, + Iir_Kind_Record_Resolution => 216, + Iir_Kind_Record_Element_Resolution => 219, + Iir_Kind_Attribute_Specification => 228, + Iir_Kind_Disconnection_Specification => 233, + Iir_Kind_Configuration_Specification => 238, + Iir_Kind_Access_Type_Definition => 245, + Iir_Kind_Incomplete_Type_Definition => 252, + Iir_Kind_Interface_Type_Definition => 258, + Iir_Kind_File_Type_Definition => 265, + Iir_Kind_Protected_Type_Declaration => 274, + Iir_Kind_Record_Type_Definition => 284, + Iir_Kind_Array_Type_Definition => 296, + Iir_Kind_Array_Subtype_Definition => 311, + Iir_Kind_Record_Subtype_Definition => 322, + Iir_Kind_Access_Subtype_Definition => 330, + Iir_Kind_Physical_Subtype_Definition => 339, + Iir_Kind_Floating_Subtype_Definition => 349, + Iir_Kind_Integer_Subtype_Definition => 358, + Iir_Kind_Enumeration_Subtype_Definition => 367, + Iir_Kind_Enumeration_Type_Definition => 376, + Iir_Kind_Integer_Type_Definition => 382, + Iir_Kind_Floating_Type_Definition => 388, + Iir_Kind_Physical_Type_Definition => 397, + Iir_Kind_Range_Expression => 403, + Iir_Kind_Protected_Type_Body => 410, + Iir_Kind_Wildcard_Type_Definition => 415, + Iir_Kind_Subtype_Definition => 419, + Iir_Kind_Scalar_Nature_Definition => 423, + Iir_Kind_Overload_List => 424, + Iir_Kind_Type_Declaration => 430, + Iir_Kind_Anonymous_Type_Declaration => 435, + Iir_Kind_Subtype_Declaration => 443, + Iir_Kind_Nature_Declaration => 449, + Iir_Kind_Subnature_Declaration => 455, + Iir_Kind_Package_Declaration => 470, + Iir_Kind_Package_Instantiation_Declaration => 482, + Iir_Kind_Package_Body => 490, + Iir_Kind_Configuration_Declaration => 499, + Iir_Kind_Entity_Declaration => 511, + Iir_Kind_Architecture_Body => 523, + Iir_Kind_Context_Declaration => 529, + Iir_Kind_Package_Header => 531, + Iir_Kind_Unit_Declaration => 540, + Iir_Kind_Library_Declaration => 547, + Iir_Kind_Component_Declaration => 557, + Iir_Kind_Attribute_Declaration => 564, + Iir_Kind_Group_Template_Declaration => 570, + Iir_Kind_Group_Declaration => 577, + Iir_Kind_Element_Declaration => 584, + Iir_Kind_Non_Object_Alias_Declaration => 592, + Iir_Kind_Psl_Declaration => 600, + Iir_Kind_Psl_Endpoint_Declaration => 614, + Iir_Kind_Terminal_Declaration => 620, + Iir_Kind_Free_Quantity_Declaration => 629, + Iir_Kind_Across_Quantity_Declaration => 641, + Iir_Kind_Through_Quantity_Declaration => 653, + Iir_Kind_Enumeration_Literal => 664, + Iir_Kind_Function_Declaration => 688, + Iir_Kind_Procedure_Declaration => 711, + Iir_Kind_Function_Body => 721, + Iir_Kind_Procedure_Body => 732, + Iir_Kind_Object_Alias_Declaration => 744, + Iir_Kind_File_Declaration => 759, + Iir_Kind_Guard_Signal_Declaration => 772, + Iir_Kind_Signal_Declaration => 789, + Iir_Kind_Variable_Declaration => 802, + Iir_Kind_Constant_Declaration => 816, + Iir_Kind_Iterator_Declaration => 828, + Iir_Kind_Interface_Constant_Declaration => 844, + Iir_Kind_Interface_Variable_Declaration => 860, + Iir_Kind_Interface_Signal_Declaration => 881, + Iir_Kind_Interface_File_Declaration => 897, + Iir_Kind_Interface_Type_Declaration => 907, + Iir_Kind_Interface_Package_Declaration => 917, + Iir_Kind_Interface_Function_Declaration => 932, + Iir_Kind_Interface_Procedure_Declaration => 943, + Iir_Kind_Identity_Operator => 947, + Iir_Kind_Negation_Operator => 951, + Iir_Kind_Absolute_Operator => 955, + Iir_Kind_Not_Operator => 959, + Iir_Kind_Condition_Operator => 963, + Iir_Kind_Reduction_And_Operator => 967, + Iir_Kind_Reduction_Or_Operator => 971, + Iir_Kind_Reduction_Nand_Operator => 975, + Iir_Kind_Reduction_Nor_Operator => 979, + Iir_Kind_Reduction_Xor_Operator => 983, + Iir_Kind_Reduction_Xnor_Operator => 987, + Iir_Kind_And_Operator => 992, + Iir_Kind_Or_Operator => 997, + Iir_Kind_Nand_Operator => 1002, + Iir_Kind_Nor_Operator => 1007, + Iir_Kind_Xor_Operator => 1012, + Iir_Kind_Xnor_Operator => 1017, + Iir_Kind_Equality_Operator => 1022, + Iir_Kind_Inequality_Operator => 1027, + Iir_Kind_Less_Than_Operator => 1032, + Iir_Kind_Less_Than_Or_Equal_Operator => 1037, + Iir_Kind_Greater_Than_Operator => 1042, + Iir_Kind_Greater_Than_Or_Equal_Operator => 1047, + Iir_Kind_Match_Equality_Operator => 1052, + Iir_Kind_Match_Inequality_Operator => 1057, + Iir_Kind_Match_Less_Than_Operator => 1062, + Iir_Kind_Match_Less_Than_Or_Equal_Operator => 1067, + Iir_Kind_Match_Greater_Than_Operator => 1072, + Iir_Kind_Match_Greater_Than_Or_Equal_Operator => 1077, + Iir_Kind_Sll_Operator => 1082, + Iir_Kind_Sla_Operator => 1087, + Iir_Kind_Srl_Operator => 1092, + Iir_Kind_Sra_Operator => 1097, + Iir_Kind_Rol_Operator => 1102, + Iir_Kind_Ror_Operator => 1107, + Iir_Kind_Addition_Operator => 1112, + Iir_Kind_Substraction_Operator => 1117, + Iir_Kind_Concatenation_Operator => 1122, + Iir_Kind_Multiplication_Operator => 1127, + Iir_Kind_Division_Operator => 1132, + Iir_Kind_Modulus_Operator => 1137, + Iir_Kind_Remainder_Operator => 1142, + Iir_Kind_Exponentiation_Operator => 1147, + Iir_Kind_Function_Call => 1155, + Iir_Kind_Aggregate => 1161, + Iir_Kind_Parenthesis_Expression => 1164, + Iir_Kind_Qualified_Expression => 1168, + Iir_Kind_Type_Conversion => 1173, + Iir_Kind_Allocator_By_Expression => 1177, + Iir_Kind_Allocator_By_Subtype => 1183, + Iir_Kind_Selected_Element => 1189, + Iir_Kind_Dereference => 1194, + Iir_Kind_Implicit_Dereference => 1199, + Iir_Kind_Slice_Name => 1206, + Iir_Kind_Indexed_Name => 1212, + Iir_Kind_Psl_Expression => 1214, + Iir_Kind_Sensitized_Process_Statement => 1234, + Iir_Kind_Process_Statement => 1254, + Iir_Kind_Concurrent_Simple_Signal_Assignment => 1265, + Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1276, + Iir_Kind_Concurrent_Selected_Signal_Assignment => 1288, + Iir_Kind_Concurrent_Assertion_Statement => 1296, + Iir_Kind_Concurrent_Procedure_Call_Statement => 1303, + Iir_Kind_Psl_Assert_Statement => 1316, + Iir_Kind_Psl_Cover_Statement => 1329, + Iir_Kind_Block_Statement => 1342, + Iir_Kind_If_Generate_Statement => 1352, + Iir_Kind_Case_Generate_Statement => 1361, + Iir_Kind_For_Generate_Statement => 1370, + Iir_Kind_Component_Instantiation_Statement => 1380, + Iir_Kind_Psl_Default_Clock => 1384, + Iir_Kind_Simple_Simultaneous_Statement => 1391, + Iir_Kind_Generate_Statement_Body => 1402, + Iir_Kind_If_Generate_Else_Clause => 1407, + Iir_Kind_Simple_Signal_Assignment_Statement => 1416, + Iir_Kind_Conditional_Signal_Assignment_Statement => 1425, + Iir_Kind_Null_Statement => 1429, + Iir_Kind_Assertion_Statement => 1436, + Iir_Kind_Report_Statement => 1442, + Iir_Kind_Wait_Statement => 1449, + Iir_Kind_Variable_Assignment_Statement => 1455, + Iir_Kind_Conditional_Variable_Assignment_Statement => 1461, + Iir_Kind_Return_Statement => 1467, + Iir_Kind_For_Loop_Statement => 1476, + Iir_Kind_While_Loop_Statement => 1484, + Iir_Kind_Next_Statement => 1490, + Iir_Kind_Exit_Statement => 1496, + Iir_Kind_Case_Statement => 1504, + Iir_Kind_Procedure_Call_Statement => 1510, + Iir_Kind_If_Statement => 1519, + Iir_Kind_Elsif => 1524, + Iir_Kind_Character_Literal => 1531, + Iir_Kind_Simple_Name => 1538, + Iir_Kind_Selected_Name => 1546, + Iir_Kind_Operator_Symbol => 1551, + Iir_Kind_Selected_By_All_Name => 1556, + Iir_Kind_Parenthesis_Name => 1560, + Iir_Kind_External_Constant_Name => 1569, + Iir_Kind_External_Signal_Name => 1578, + Iir_Kind_External_Variable_Name => 1587, + Iir_Kind_Package_Pathname => 1590, + Iir_Kind_Absolute_Pathname => 1591, + Iir_Kind_Relative_Pathname => 1592, + Iir_Kind_Pathname_Element => 1596, + Iir_Kind_Base_Attribute => 1598, + Iir_Kind_Left_Type_Attribute => 1603, + Iir_Kind_Right_Type_Attribute => 1608, + Iir_Kind_High_Type_Attribute => 1613, + Iir_Kind_Low_Type_Attribute => 1618, + Iir_Kind_Ascending_Type_Attribute => 1623, + Iir_Kind_Image_Attribute => 1629, + Iir_Kind_Value_Attribute => 1635, + Iir_Kind_Pos_Attribute => 1641, + Iir_Kind_Val_Attribute => 1647, + Iir_Kind_Succ_Attribute => 1653, + Iir_Kind_Pred_Attribute => 1659, + Iir_Kind_Leftof_Attribute => 1665, + Iir_Kind_Rightof_Attribute => 1671, + Iir_Kind_Delayed_Attribute => 1679, + Iir_Kind_Stable_Attribute => 1687, + Iir_Kind_Quiet_Attribute => 1695, + Iir_Kind_Transaction_Attribute => 1703, + Iir_Kind_Event_Attribute => 1707, + Iir_Kind_Active_Attribute => 1711, + Iir_Kind_Last_Event_Attribute => 1715, + Iir_Kind_Last_Active_Attribute => 1719, + Iir_Kind_Last_Value_Attribute => 1723, + Iir_Kind_Driving_Attribute => 1727, + Iir_Kind_Driving_Value_Attribute => 1731, + Iir_Kind_Behavior_Attribute => 1731, + Iir_Kind_Structure_Attribute => 1731, + Iir_Kind_Simple_Name_Attribute => 1738, + Iir_Kind_Instance_Name_Attribute => 1743, + Iir_Kind_Path_Name_Attribute => 1748, + Iir_Kind_Left_Array_Attribute => 1755, + Iir_Kind_Right_Array_Attribute => 1762, + Iir_Kind_High_Array_Attribute => 1769, + Iir_Kind_Low_Array_Attribute => 1776, + Iir_Kind_Length_Array_Attribute => 1783, + Iir_Kind_Ascending_Array_Attribute => 1790, + Iir_Kind_Range_Array_Attribute => 1797, + Iir_Kind_Reverse_Range_Array_Attribute => 1804, + Iir_Kind_Attribute_Name => 1812 ); function Get_Fields (K : Iir_Kind) return Fields_Array @@ -6593,7 +6604,8 @@ package body Nodes_Meta is | Iir_Kind_Association_Element_By_Individual | Iir_Kind_Association_Element_Open | Iir_Kind_Association_Element_Package - | Iir_Kind_Association_Element_Type => + | Iir_Kind_Association_Element_Type + | Iir_Kind_Association_Element_Subprogram => return True; when others => return False; @@ -6605,7 +6617,8 @@ package body Nodes_Meta is case K is when Iir_Kind_Association_Element_By_Expression | Iir_Kind_Association_Element_Package - | Iir_Kind_Association_Element_Type => + | Iir_Kind_Association_Element_Type + | Iir_Kind_Association_Element_Subprogram => return True; when others => return False; @@ -6629,7 +6642,8 @@ package body Nodes_Meta is | Iir_Kind_Association_Element_By_Individual | Iir_Kind_Association_Element_Open | Iir_Kind_Association_Element_Package - | Iir_Kind_Association_Element_Type => + | Iir_Kind_Association_Element_Type + | Iir_Kind_Association_Element_Subprogram => return True; when others => return False; @@ -6643,7 +6657,8 @@ package body Nodes_Meta is | Iir_Kind_Association_Element_By_Individual | Iir_Kind_Association_Element_Open | Iir_Kind_Association_Element_Package - | Iir_Kind_Association_Element_Type => + | Iir_Kind_Association_Element_Type + | Iir_Kind_Association_Element_Subprogram => return True; when others => return False; @@ -6897,6 +6912,7 @@ package body Nodes_Meta is | Iir_Kind_Association_Element_Open | Iir_Kind_Association_Element_Package | Iir_Kind_Association_Element_Type + | Iir_Kind_Association_Element_Subprogram | Iir_Kind_Choice_By_Others | Iir_Kind_Choice_By_Expression | Iir_Kind_Choice_By_Range @@ -8371,7 +8387,9 @@ package body Nodes_Meta is case K is when Iir_Kind_Architecture_Body | Iir_Kind_Function_Declaration - | Iir_Kind_Procedure_Declaration => + | Iir_Kind_Procedure_Declaration + | Iir_Kind_Interface_Function_Declaration + | Iir_Kind_Interface_Procedure_Declaration => return True; when others => return False; |