aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2016-09-20 08:09:19 +0200
committerTristan Gingold <tgingold@free.fr>2016-09-20 08:09:19 +0200
commit6ee23b96ecf9ab9e7ca8767ebe8fb825b0309393 (patch)
tree7a7db58cdce948a2435470d87cfc468b457817c0 /src
parentf0815de199ae3835d2555c1b85732977e8d72afe (diff)
downloadghdl-6ee23b96ecf9ab9e7ca8767ebe8fb825b0309393.tar.gz
ghdl-6ee23b96ecf9ab9e7ca8767ebe8fb825b0309393.tar.bz2
ghdl-6ee23b96ecf9ab9e7ca8767ebe8fb825b0309393.zip
iirs: add association_element_subprogram
Diffstat (limited to 'src')
-rw-r--r--src/vhdl/errorout.adb3
-rw-r--r--src/vhdl/iirs.adb1
-rw-r--r--src/vhdl/iirs.ads5
-rw-r--r--src/vhdl/nodes_meta.adb504
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;