aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2016-12-05 03:30:57 +0100
committerTristan Gingold <tgingold@free.fr>2016-12-05 03:30:57 +0100
commitbe36587ed1a04b3a9712f837c5b0e82422bd5adf (patch)
treef4e77c91a5d2eb421095a48c2c4ecb4f1e61bb4e /src
parent3419d1394a64aaf52893efa173076fc55396a5a0 (diff)
downloadghdl-be36587ed1a04b3a9712f837c5b0e82422bd5adf.tar.gz
ghdl-be36587ed1a04b3a9712f837c5b0e82422bd5adf.tar.bz2
ghdl-be36587ed1a04b3a9712f837c5b0e82422bd5adf.zip
cleanup: remove Package_Instantiation_Bodies_Chain
Diffstat (limited to 'src')
-rw-r--r--src/vhdl/canon.adb30
-rw-r--r--src/vhdl/canon.ads5
-rw-r--r--src/vhdl/iirs.adb17
-rw-r--r--src/vhdl/iirs.ads8
-rw-r--r--src/vhdl/nodes_meta.adb392
-rw-r--r--src/vhdl/nodes_meta.ads3
-rw-r--r--src/vhdl/translate/trans-chap2.adb13
7 files changed, 188 insertions, 280 deletions
diff --git a/src/vhdl/canon.adb b/src/vhdl/canon.adb
index eb1378c1c..577ff9e8f 100644
--- a/src/vhdl/canon.adb
+++ b/src/vhdl/canon.adb
@@ -2617,36 +2617,6 @@ package body Canon is
return Decl;
end Canon_Package_Instantiation_Declaration;
- function Create_Instantiation_Bodies
- (Decl : Iir_Package_Declaration; Parent : Iir) return Iir
- is
- First, Last : Iir;
- El : Iir;
- Bod : Iir;
- Spec : Iir;
- begin
- Sub_Chain_Init (First, Last);
- El := Get_Declaration_Chain (Decl);
- while Is_Valid (El) loop
- if Get_Kind (El) = Iir_Kind_Package_Instantiation_Declaration then
- Spec := Get_Uninstantiated_Package_Decl (El);
- if Get_Macro_Expanded_Flag (Spec)
- and then Get_Need_Body (Spec)
- then
- -- That's a package instantiation of a package that needs a
- -- body. Therefore, the instantiation also needs a body.
- -- Create it.
- Bod := Sem_Inst.Instantiate_Package_Body (El);
- Set_Parent (Bod, Parent);
-
- Sub_Chain_Append (First, Last, Bod);
- end if;
- end if;
- El := Get_Chain (El);
- end loop;
- return First;
- end Create_Instantiation_Bodies;
-
function Canon_Declaration
(Top : Iir_Design_Unit; Decl : Iir; Parent : Iir; Decl_Parent : Iir)
return Iir
diff --git a/src/vhdl/canon.ads b/src/vhdl/canon.ads
index 40ce5088f..45e7db6a5 100644
--- a/src/vhdl/canon.ads
+++ b/src/vhdl/canon.ads
@@ -61,11 +61,6 @@ package Canon is
(Arch : Iir_Architecture_Body)
return Iir_Design_Unit;
- -- Macro-expand package bodies for instantiations in DECL. Return the
- -- chain of bodies (the parent of each body is set to PARENT).
- function Create_Instantiation_Bodies
- (Decl : Iir_Package_Declaration; Parent : Iir) return Iir;
-
-- Canonicalize a subprogram call.
procedure Canon_Subprogram_Call (Call : Iir);
diff --git a/src/vhdl/iirs.adb b/src/vhdl/iirs.adb
index 7eb291959..219d21734 100644
--- a/src/vhdl/iirs.adb
+++ b/src/vhdl/iirs.adb
@@ -1776,23 +1776,6 @@ package body Iirs is
Set_Field5 (Pkg, Decl);
end Set_Package_Body;
- function Get_Package_Instantiation_Bodies_Chain (Pkg : Iir) return Iir is
- begin
- pragma Assert (Pkg /= Null_Iir);
- pragma Assert (Has_Package_Instantiation_Bodies_Chain (Get_Kind (Pkg)),
- "no field Package_Instantiation_Bodies_Chain");
- return Get_Field8 (Pkg);
- end Get_Package_Instantiation_Bodies_Chain;
-
- procedure Set_Package_Instantiation_Bodies_Chain (Pkg : Iir; Chain : Iir)
- is
- begin
- pragma Assert (Pkg /= Null_Iir);
- pragma Assert (Has_Package_Instantiation_Bodies_Chain (Get_Kind (Pkg)),
- "no field Package_Instantiation_Bodies_Chain");
- Set_Field8 (Pkg, Chain);
- end Set_Package_Instantiation_Bodies_Chain;
-
function Get_Need_Body (Decl : Iir_Package_Declaration) return Boolean is
begin
pragma Assert (Decl /= Null_Iir);
diff --git a/src/vhdl/iirs.ads b/src/vhdl/iirs.ads
index 6a97c16bb..380ae998a 100644
--- a/src/vhdl/iirs.ads
+++ b/src/vhdl/iirs.ads
@@ -884,10 +884,6 @@ package Iirs is
--
-- Get/Set_Package_Origin (Field7)
--
- -- Chain of bodies for package instantiation. Present only in certain
- -- conditions.
- -- Get/Set_Package_Instantiation_Bodies_Chain (Field8)
- --
-- If true, the package need a body.
-- Get/Set_Need_Body (Flag1)
--
@@ -6014,10 +6010,6 @@ package Iirs is
function Get_Package_Body (Pkg : Iir) return Iir;
procedure Set_Package_Body (Pkg : Iir; Decl : Iir);
- -- Field: Field8 Chain
- function Get_Package_Instantiation_Bodies_Chain (Pkg : Iir) return Iir;
- procedure Set_Package_Instantiation_Bodies_Chain (Pkg : Iir; Chain : Iir);
-
-- Field: Flag1
function Get_Need_Body (Decl : Iir_Package_Declaration) return Boolean;
procedure Set_Need_Body (Decl : Iir_Package_Declaration; Flag : Boolean);
diff --git a/src/vhdl/nodes_meta.adb b/src/vhdl/nodes_meta.adb
index d3a5fe871..65917b4aa 100644
--- a/src/vhdl/nodes_meta.adb
+++ b/src/vhdl/nodes_meta.adb
@@ -93,7 +93,6 @@ package body Nodes_Meta is
Field_Entity_Name => Type_Iir,
Field_Package => Type_Iir,
Field_Package_Body => Type_Iir,
- Field_Package_Instantiation_Bodies_Chain => Type_Iir,
Field_Need_Body => Type_Boolean,
Field_Macro_Expanded_Flag => Type_Boolean,
Field_Need_Instance_Bodies => Type_Boolean,
@@ -500,8 +499,6 @@ package body Nodes_Meta is
return "package";
when Field_Package_Body =>
return "package_body";
- when Field_Package_Instantiation_Bodies_Chain =>
- return "package_instantiation_bodies_chain";
when Field_Need_Body =>
return "need_body";
when Field_Macro_Expanded_Flag =>
@@ -1690,8 +1687,6 @@ package body Nodes_Meta is
return Attr_Ref;
when Field_Package_Body =>
return Attr_Forward_Ref;
- when Field_Package_Instantiation_Bodies_Chain =>
- return Attr_Chain;
when Field_Need_Body =>
return Attr_None;
when Field_Macro_Expanded_Flag =>
@@ -2765,7 +2760,6 @@ package body Nodes_Meta is
Field_Attribute_Value_Chain,
Field_Package_Body,
Field_Package_Origin,
- Field_Package_Instantiation_Bodies_Chain,
-- Iir_Kind_Package_Instantiation_Declaration
Field_Identifier,
Field_Visible_Flag,
@@ -4408,194 +4402,194 @@ package body Nodes_Meta is
Iir_Kind_Subtype_Declaration => 466,
Iir_Kind_Nature_Declaration => 472,
Iir_Kind_Subnature_Declaration => 478,
- Iir_Kind_Package_Declaration => 493,
- Iir_Kind_Package_Instantiation_Declaration => 506,
- Iir_Kind_Package_Body => 514,
- Iir_Kind_Configuration_Declaration => 523,
- Iir_Kind_Entity_Declaration => 535,
- Iir_Kind_Architecture_Body => 547,
- Iir_Kind_Context_Declaration => 553,
- Iir_Kind_Package_Header => 555,
- Iir_Kind_Unit_Declaration => 563,
- Iir_Kind_Library_Declaration => 570,
- Iir_Kind_Component_Declaration => 580,
- Iir_Kind_Attribute_Declaration => 587,
- Iir_Kind_Group_Template_Declaration => 593,
- Iir_Kind_Group_Declaration => 600,
- Iir_Kind_Element_Declaration => 607,
- Iir_Kind_Non_Object_Alias_Declaration => 615,
- Iir_Kind_Psl_Declaration => 623,
- Iir_Kind_Psl_Endpoint_Declaration => 637,
- Iir_Kind_Terminal_Declaration => 643,
- Iir_Kind_Free_Quantity_Declaration => 652,
- Iir_Kind_Across_Quantity_Declaration => 664,
- Iir_Kind_Through_Quantity_Declaration => 676,
- Iir_Kind_Enumeration_Literal => 687,
- Iir_Kind_Function_Declaration => 712,
- Iir_Kind_Procedure_Declaration => 736,
- Iir_Kind_Function_Body => 746,
- Iir_Kind_Procedure_Body => 757,
- Iir_Kind_Object_Alias_Declaration => 768,
- Iir_Kind_File_Declaration => 782,
- Iir_Kind_Guard_Signal_Declaration => 795,
- Iir_Kind_Signal_Declaration => 812,
- Iir_Kind_Variable_Declaration => 825,
- Iir_Kind_Constant_Declaration => 839,
- Iir_Kind_Iterator_Declaration => 850,
- Iir_Kind_Interface_Constant_Declaration => 866,
- Iir_Kind_Interface_Variable_Declaration => 882,
- Iir_Kind_Interface_Signal_Declaration => 903,
- Iir_Kind_Interface_File_Declaration => 919,
- Iir_Kind_Interface_Type_Declaration => 929,
- Iir_Kind_Interface_Package_Declaration => 940,
- Iir_Kind_Interface_Function_Declaration => 957,
- Iir_Kind_Interface_Procedure_Declaration => 970,
- Iir_Kind_Signal_Attribute_Declaration => 973,
- Iir_Kind_Identity_Operator => 977,
- Iir_Kind_Negation_Operator => 981,
- Iir_Kind_Absolute_Operator => 985,
- Iir_Kind_Not_Operator => 989,
- Iir_Kind_Condition_Operator => 993,
- Iir_Kind_Reduction_And_Operator => 997,
- Iir_Kind_Reduction_Or_Operator => 1001,
- Iir_Kind_Reduction_Nand_Operator => 1005,
- Iir_Kind_Reduction_Nor_Operator => 1009,
- Iir_Kind_Reduction_Xor_Operator => 1013,
- Iir_Kind_Reduction_Xnor_Operator => 1017,
- Iir_Kind_And_Operator => 1022,
- Iir_Kind_Or_Operator => 1027,
- Iir_Kind_Nand_Operator => 1032,
- Iir_Kind_Nor_Operator => 1037,
- Iir_Kind_Xor_Operator => 1042,
- Iir_Kind_Xnor_Operator => 1047,
- Iir_Kind_Equality_Operator => 1052,
- Iir_Kind_Inequality_Operator => 1057,
- Iir_Kind_Less_Than_Operator => 1062,
- Iir_Kind_Less_Than_Or_Equal_Operator => 1067,
- Iir_Kind_Greater_Than_Operator => 1072,
- Iir_Kind_Greater_Than_Or_Equal_Operator => 1077,
- Iir_Kind_Match_Equality_Operator => 1082,
- Iir_Kind_Match_Inequality_Operator => 1087,
- Iir_Kind_Match_Less_Than_Operator => 1092,
- Iir_Kind_Match_Less_Than_Or_Equal_Operator => 1097,
- Iir_Kind_Match_Greater_Than_Operator => 1102,
- Iir_Kind_Match_Greater_Than_Or_Equal_Operator => 1107,
- Iir_Kind_Sll_Operator => 1112,
- Iir_Kind_Sla_Operator => 1117,
- Iir_Kind_Srl_Operator => 1122,
- Iir_Kind_Sra_Operator => 1127,
- Iir_Kind_Rol_Operator => 1132,
- Iir_Kind_Ror_Operator => 1137,
- Iir_Kind_Addition_Operator => 1142,
- Iir_Kind_Substraction_Operator => 1147,
- Iir_Kind_Concatenation_Operator => 1152,
- Iir_Kind_Multiplication_Operator => 1157,
- Iir_Kind_Division_Operator => 1162,
- Iir_Kind_Modulus_Operator => 1167,
- Iir_Kind_Remainder_Operator => 1172,
- Iir_Kind_Exponentiation_Operator => 1177,
- Iir_Kind_Function_Call => 1185,
- Iir_Kind_Aggregate => 1191,
- Iir_Kind_Parenthesis_Expression => 1194,
- Iir_Kind_Qualified_Expression => 1198,
- Iir_Kind_Type_Conversion => 1203,
- Iir_Kind_Allocator_By_Expression => 1207,
- Iir_Kind_Allocator_By_Subtype => 1212,
- Iir_Kind_Selected_Element => 1218,
- Iir_Kind_Dereference => 1223,
- Iir_Kind_Implicit_Dereference => 1228,
- Iir_Kind_Slice_Name => 1235,
- Iir_Kind_Indexed_Name => 1241,
- Iir_Kind_Psl_Expression => 1243,
- Iir_Kind_Sensitized_Process_Statement => 1264,
- Iir_Kind_Process_Statement => 1284,
- Iir_Kind_Concurrent_Simple_Signal_Assignment => 1295,
- Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1306,
- Iir_Kind_Concurrent_Selected_Signal_Assignment => 1318,
- Iir_Kind_Concurrent_Assertion_Statement => 1326,
- Iir_Kind_Concurrent_Procedure_Call_Statement => 1333,
- Iir_Kind_Psl_Assert_Statement => 1346,
- Iir_Kind_Psl_Cover_Statement => 1359,
- Iir_Kind_Block_Statement => 1372,
- Iir_Kind_If_Generate_Statement => 1382,
- Iir_Kind_Case_Generate_Statement => 1391,
- Iir_Kind_For_Generate_Statement => 1400,
- Iir_Kind_Component_Instantiation_Statement => 1410,
- Iir_Kind_Psl_Default_Clock => 1414,
- Iir_Kind_Simple_Simultaneous_Statement => 1421,
- Iir_Kind_Generate_Statement_Body => 1432,
- Iir_Kind_If_Generate_Else_Clause => 1437,
- Iir_Kind_Simple_Signal_Assignment_Statement => 1446,
- Iir_Kind_Conditional_Signal_Assignment_Statement => 1455,
- Iir_Kind_Selected_Waveform_Assignment_Statement => 1465,
- Iir_Kind_Null_Statement => 1469,
- Iir_Kind_Assertion_Statement => 1476,
- Iir_Kind_Report_Statement => 1482,
- Iir_Kind_Wait_Statement => 1490,
- Iir_Kind_Variable_Assignment_Statement => 1496,
- Iir_Kind_Conditional_Variable_Assignment_Statement => 1502,
- Iir_Kind_Return_Statement => 1508,
- Iir_Kind_For_Loop_Statement => 1517,
- Iir_Kind_While_Loop_Statement => 1525,
- Iir_Kind_Next_Statement => 1531,
- Iir_Kind_Exit_Statement => 1537,
- Iir_Kind_Case_Statement => 1545,
- Iir_Kind_Procedure_Call_Statement => 1551,
- Iir_Kind_If_Statement => 1560,
- Iir_Kind_Elsif => 1565,
- Iir_Kind_Character_Literal => 1573,
- Iir_Kind_Simple_Name => 1581,
- Iir_Kind_Selected_Name => 1590,
- Iir_Kind_Operator_Symbol => 1596,
- Iir_Kind_Reference_Name => 1599,
- Iir_Kind_Selected_By_All_Name => 1605,
- Iir_Kind_Parenthesis_Name => 1610,
- Iir_Kind_External_Constant_Name => 1618,
- Iir_Kind_External_Signal_Name => 1626,
- Iir_Kind_External_Variable_Name => 1634,
- Iir_Kind_Package_Pathname => 1638,
- Iir_Kind_Absolute_Pathname => 1639,
- Iir_Kind_Relative_Pathname => 1640,
- Iir_Kind_Pathname_Element => 1645,
- Iir_Kind_Base_Attribute => 1647,
- Iir_Kind_Left_Type_Attribute => 1652,
- Iir_Kind_Right_Type_Attribute => 1657,
- Iir_Kind_High_Type_Attribute => 1662,
- Iir_Kind_Low_Type_Attribute => 1667,
- Iir_Kind_Ascending_Type_Attribute => 1672,
- Iir_Kind_Image_Attribute => 1678,
- Iir_Kind_Value_Attribute => 1684,
- Iir_Kind_Pos_Attribute => 1690,
- Iir_Kind_Val_Attribute => 1696,
- Iir_Kind_Succ_Attribute => 1702,
- Iir_Kind_Pred_Attribute => 1708,
- Iir_Kind_Leftof_Attribute => 1714,
- Iir_Kind_Rightof_Attribute => 1720,
- Iir_Kind_Delayed_Attribute => 1729,
- Iir_Kind_Stable_Attribute => 1738,
- Iir_Kind_Quiet_Attribute => 1747,
- Iir_Kind_Transaction_Attribute => 1756,
- Iir_Kind_Event_Attribute => 1760,
- Iir_Kind_Active_Attribute => 1764,
- Iir_Kind_Last_Event_Attribute => 1768,
- Iir_Kind_Last_Active_Attribute => 1772,
- Iir_Kind_Last_Value_Attribute => 1776,
- Iir_Kind_Driving_Attribute => 1780,
- Iir_Kind_Driving_Value_Attribute => 1784,
- Iir_Kind_Behavior_Attribute => 1784,
- Iir_Kind_Structure_Attribute => 1784,
- Iir_Kind_Simple_Name_Attribute => 1791,
- Iir_Kind_Instance_Name_Attribute => 1796,
- Iir_Kind_Path_Name_Attribute => 1801,
- Iir_Kind_Left_Array_Attribute => 1808,
- Iir_Kind_Right_Array_Attribute => 1815,
- Iir_Kind_High_Array_Attribute => 1822,
- Iir_Kind_Low_Array_Attribute => 1829,
- Iir_Kind_Length_Array_Attribute => 1836,
- Iir_Kind_Ascending_Array_Attribute => 1843,
- Iir_Kind_Range_Array_Attribute => 1850,
- Iir_Kind_Reverse_Range_Array_Attribute => 1857,
- Iir_Kind_Attribute_Name => 1866
+ Iir_Kind_Package_Declaration => 492,
+ Iir_Kind_Package_Instantiation_Declaration => 505,
+ Iir_Kind_Package_Body => 513,
+ Iir_Kind_Configuration_Declaration => 522,
+ Iir_Kind_Entity_Declaration => 534,
+ Iir_Kind_Architecture_Body => 546,
+ Iir_Kind_Context_Declaration => 552,
+ Iir_Kind_Package_Header => 554,
+ Iir_Kind_Unit_Declaration => 562,
+ Iir_Kind_Library_Declaration => 569,
+ Iir_Kind_Component_Declaration => 579,
+ Iir_Kind_Attribute_Declaration => 586,
+ Iir_Kind_Group_Template_Declaration => 592,
+ Iir_Kind_Group_Declaration => 599,
+ Iir_Kind_Element_Declaration => 606,
+ Iir_Kind_Non_Object_Alias_Declaration => 614,
+ Iir_Kind_Psl_Declaration => 622,
+ Iir_Kind_Psl_Endpoint_Declaration => 636,
+ Iir_Kind_Terminal_Declaration => 642,
+ Iir_Kind_Free_Quantity_Declaration => 651,
+ Iir_Kind_Across_Quantity_Declaration => 663,
+ Iir_Kind_Through_Quantity_Declaration => 675,
+ Iir_Kind_Enumeration_Literal => 686,
+ Iir_Kind_Function_Declaration => 711,
+ Iir_Kind_Procedure_Declaration => 735,
+ Iir_Kind_Function_Body => 745,
+ Iir_Kind_Procedure_Body => 756,
+ Iir_Kind_Object_Alias_Declaration => 767,
+ Iir_Kind_File_Declaration => 781,
+ Iir_Kind_Guard_Signal_Declaration => 794,
+ Iir_Kind_Signal_Declaration => 811,
+ Iir_Kind_Variable_Declaration => 824,
+ Iir_Kind_Constant_Declaration => 838,
+ Iir_Kind_Iterator_Declaration => 849,
+ Iir_Kind_Interface_Constant_Declaration => 865,
+ Iir_Kind_Interface_Variable_Declaration => 881,
+ Iir_Kind_Interface_Signal_Declaration => 902,
+ Iir_Kind_Interface_File_Declaration => 918,
+ Iir_Kind_Interface_Type_Declaration => 928,
+ Iir_Kind_Interface_Package_Declaration => 939,
+ Iir_Kind_Interface_Function_Declaration => 956,
+ Iir_Kind_Interface_Procedure_Declaration => 969,
+ Iir_Kind_Signal_Attribute_Declaration => 972,
+ Iir_Kind_Identity_Operator => 976,
+ Iir_Kind_Negation_Operator => 980,
+ Iir_Kind_Absolute_Operator => 984,
+ Iir_Kind_Not_Operator => 988,
+ Iir_Kind_Condition_Operator => 992,
+ Iir_Kind_Reduction_And_Operator => 996,
+ Iir_Kind_Reduction_Or_Operator => 1000,
+ Iir_Kind_Reduction_Nand_Operator => 1004,
+ Iir_Kind_Reduction_Nor_Operator => 1008,
+ Iir_Kind_Reduction_Xor_Operator => 1012,
+ Iir_Kind_Reduction_Xnor_Operator => 1016,
+ Iir_Kind_And_Operator => 1021,
+ Iir_Kind_Or_Operator => 1026,
+ Iir_Kind_Nand_Operator => 1031,
+ Iir_Kind_Nor_Operator => 1036,
+ Iir_Kind_Xor_Operator => 1041,
+ Iir_Kind_Xnor_Operator => 1046,
+ Iir_Kind_Equality_Operator => 1051,
+ Iir_Kind_Inequality_Operator => 1056,
+ Iir_Kind_Less_Than_Operator => 1061,
+ Iir_Kind_Less_Than_Or_Equal_Operator => 1066,
+ Iir_Kind_Greater_Than_Operator => 1071,
+ Iir_Kind_Greater_Than_Or_Equal_Operator => 1076,
+ Iir_Kind_Match_Equality_Operator => 1081,
+ Iir_Kind_Match_Inequality_Operator => 1086,
+ Iir_Kind_Match_Less_Than_Operator => 1091,
+ Iir_Kind_Match_Less_Than_Or_Equal_Operator => 1096,
+ Iir_Kind_Match_Greater_Than_Operator => 1101,
+ Iir_Kind_Match_Greater_Than_Or_Equal_Operator => 1106,
+ Iir_Kind_Sll_Operator => 1111,
+ Iir_Kind_Sla_Operator => 1116,
+ Iir_Kind_Srl_Operator => 1121,
+ Iir_Kind_Sra_Operator => 1126,
+ Iir_Kind_Rol_Operator => 1131,
+ Iir_Kind_Ror_Operator => 1136,
+ Iir_Kind_Addition_Operator => 1141,
+ Iir_Kind_Substraction_Operator => 1146,
+ Iir_Kind_Concatenation_Operator => 1151,
+ Iir_Kind_Multiplication_Operator => 1156,
+ Iir_Kind_Division_Operator => 1161,
+ Iir_Kind_Modulus_Operator => 1166,
+ Iir_Kind_Remainder_Operator => 1171,
+ Iir_Kind_Exponentiation_Operator => 1176,
+ Iir_Kind_Function_Call => 1184,
+ Iir_Kind_Aggregate => 1190,
+ Iir_Kind_Parenthesis_Expression => 1193,
+ Iir_Kind_Qualified_Expression => 1197,
+ Iir_Kind_Type_Conversion => 1202,
+ Iir_Kind_Allocator_By_Expression => 1206,
+ Iir_Kind_Allocator_By_Subtype => 1211,
+ Iir_Kind_Selected_Element => 1217,
+ Iir_Kind_Dereference => 1222,
+ Iir_Kind_Implicit_Dereference => 1227,
+ Iir_Kind_Slice_Name => 1234,
+ Iir_Kind_Indexed_Name => 1240,
+ Iir_Kind_Psl_Expression => 1242,
+ Iir_Kind_Sensitized_Process_Statement => 1263,
+ Iir_Kind_Process_Statement => 1283,
+ Iir_Kind_Concurrent_Simple_Signal_Assignment => 1294,
+ Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1305,
+ Iir_Kind_Concurrent_Selected_Signal_Assignment => 1317,
+ Iir_Kind_Concurrent_Assertion_Statement => 1325,
+ Iir_Kind_Concurrent_Procedure_Call_Statement => 1332,
+ Iir_Kind_Psl_Assert_Statement => 1345,
+ Iir_Kind_Psl_Cover_Statement => 1358,
+ Iir_Kind_Block_Statement => 1371,
+ Iir_Kind_If_Generate_Statement => 1381,
+ Iir_Kind_Case_Generate_Statement => 1390,
+ Iir_Kind_For_Generate_Statement => 1399,
+ Iir_Kind_Component_Instantiation_Statement => 1409,
+ Iir_Kind_Psl_Default_Clock => 1413,
+ Iir_Kind_Simple_Simultaneous_Statement => 1420,
+ Iir_Kind_Generate_Statement_Body => 1431,
+ Iir_Kind_If_Generate_Else_Clause => 1436,
+ Iir_Kind_Simple_Signal_Assignment_Statement => 1445,
+ Iir_Kind_Conditional_Signal_Assignment_Statement => 1454,
+ Iir_Kind_Selected_Waveform_Assignment_Statement => 1464,
+ Iir_Kind_Null_Statement => 1468,
+ Iir_Kind_Assertion_Statement => 1475,
+ Iir_Kind_Report_Statement => 1481,
+ Iir_Kind_Wait_Statement => 1489,
+ Iir_Kind_Variable_Assignment_Statement => 1495,
+ Iir_Kind_Conditional_Variable_Assignment_Statement => 1501,
+ Iir_Kind_Return_Statement => 1507,
+ Iir_Kind_For_Loop_Statement => 1516,
+ Iir_Kind_While_Loop_Statement => 1524,
+ Iir_Kind_Next_Statement => 1530,
+ Iir_Kind_Exit_Statement => 1536,
+ Iir_Kind_Case_Statement => 1544,
+ Iir_Kind_Procedure_Call_Statement => 1550,
+ Iir_Kind_If_Statement => 1559,
+ Iir_Kind_Elsif => 1564,
+ Iir_Kind_Character_Literal => 1572,
+ Iir_Kind_Simple_Name => 1580,
+ Iir_Kind_Selected_Name => 1589,
+ Iir_Kind_Operator_Symbol => 1595,
+ Iir_Kind_Reference_Name => 1598,
+ Iir_Kind_Selected_By_All_Name => 1604,
+ Iir_Kind_Parenthesis_Name => 1609,
+ Iir_Kind_External_Constant_Name => 1617,
+ Iir_Kind_External_Signal_Name => 1625,
+ Iir_Kind_External_Variable_Name => 1633,
+ Iir_Kind_Package_Pathname => 1637,
+ Iir_Kind_Absolute_Pathname => 1638,
+ Iir_Kind_Relative_Pathname => 1639,
+ Iir_Kind_Pathname_Element => 1644,
+ Iir_Kind_Base_Attribute => 1646,
+ Iir_Kind_Left_Type_Attribute => 1651,
+ Iir_Kind_Right_Type_Attribute => 1656,
+ Iir_Kind_High_Type_Attribute => 1661,
+ Iir_Kind_Low_Type_Attribute => 1666,
+ Iir_Kind_Ascending_Type_Attribute => 1671,
+ Iir_Kind_Image_Attribute => 1677,
+ Iir_Kind_Value_Attribute => 1683,
+ Iir_Kind_Pos_Attribute => 1689,
+ Iir_Kind_Val_Attribute => 1695,
+ Iir_Kind_Succ_Attribute => 1701,
+ Iir_Kind_Pred_Attribute => 1707,
+ Iir_Kind_Leftof_Attribute => 1713,
+ Iir_Kind_Rightof_Attribute => 1719,
+ Iir_Kind_Delayed_Attribute => 1728,
+ Iir_Kind_Stable_Attribute => 1737,
+ Iir_Kind_Quiet_Attribute => 1746,
+ Iir_Kind_Transaction_Attribute => 1755,
+ Iir_Kind_Event_Attribute => 1759,
+ Iir_Kind_Active_Attribute => 1763,
+ Iir_Kind_Last_Event_Attribute => 1767,
+ Iir_Kind_Last_Active_Attribute => 1771,
+ Iir_Kind_Last_Value_Attribute => 1775,
+ Iir_Kind_Driving_Attribute => 1779,
+ Iir_Kind_Driving_Value_Attribute => 1783,
+ Iir_Kind_Behavior_Attribute => 1783,
+ Iir_Kind_Structure_Attribute => 1783,
+ Iir_Kind_Simple_Name_Attribute => 1790,
+ Iir_Kind_Instance_Name_Attribute => 1795,
+ Iir_Kind_Path_Name_Attribute => 1800,
+ Iir_Kind_Left_Array_Attribute => 1807,
+ Iir_Kind_Right_Array_Attribute => 1814,
+ Iir_Kind_High_Array_Attribute => 1821,
+ Iir_Kind_Low_Array_Attribute => 1828,
+ Iir_Kind_Length_Array_Attribute => 1835,
+ Iir_Kind_Ascending_Array_Attribute => 1842,
+ Iir_Kind_Range_Array_Attribute => 1849,
+ Iir_Kind_Reverse_Range_Array_Attribute => 1856,
+ Iir_Kind_Attribute_Name => 1865
);
function Get_Fields (K : Iir_Kind) return Fields_Array
@@ -5019,8 +5013,6 @@ package body Nodes_Meta is
return Get_Package (N);
when Field_Package_Body =>
return Get_Package_Body (N);
- when Field_Package_Instantiation_Bodies_Chain =>
- return Get_Package_Instantiation_Bodies_Chain (N);
when Field_Block_Configuration =>
return Get_Block_Configuration (N);
when Field_Concurrent_Statement_Chain =>
@@ -5419,8 +5411,6 @@ package body Nodes_Meta is
Set_Package (N, V);
when Field_Package_Body =>
Set_Package_Body (N, V);
- when Field_Package_Instantiation_Bodies_Chain =>
- Set_Package_Instantiation_Bodies_Chain (N, V);
when Field_Block_Configuration =>
Set_Block_Configuration (N, V);
when Field_Concurrent_Statement_Chain =>
@@ -7048,12 +7038,6 @@ package body Nodes_Meta is
end case;
end Has_Package_Body;
- function Has_Package_Instantiation_Bodies_Chain (K : Iir_Kind)
- return Boolean is
- begin
- return K = Iir_Kind_Package_Declaration;
- end Has_Package_Instantiation_Bodies_Chain;
-
function Has_Need_Body (K : Iir_Kind) return Boolean is
begin
return K = Iir_Kind_Package_Declaration;
diff --git a/src/vhdl/nodes_meta.ads b/src/vhdl/nodes_meta.ads
index ddd23ed79..0400f4025 100644
--- a/src/vhdl/nodes_meta.ads
+++ b/src/vhdl/nodes_meta.ads
@@ -133,7 +133,6 @@ package Nodes_Meta is
Field_Entity_Name,
Field_Package,
Field_Package_Body,
- Field_Package_Instantiation_Bodies_Chain,
Field_Need_Body,
Field_Macro_Expanded_Flag,
Field_Need_Instance_Bodies,
@@ -640,8 +639,6 @@ package Nodes_Meta is
function Has_Entity_Name (K : Iir_Kind) return Boolean;
function Has_Package (K : Iir_Kind) return Boolean;
function Has_Package_Body (K : Iir_Kind) return Boolean;
- function Has_Package_Instantiation_Bodies_Chain (K : Iir_Kind)
- return Boolean;
function Has_Need_Body (K : Iir_Kind) return Boolean;
function Has_Macro_Expanded_Flag (K : Iir_Kind) return Boolean;
function Has_Need_Instance_Bodies (K : Iir_Kind) return Boolean;
diff --git a/src/vhdl/translate/trans-chap2.adb b/src/vhdl/translate/trans-chap2.adb
index 065a85f52..6ed07c180 100644
--- a/src/vhdl/translate/trans-chap2.adb
+++ b/src/vhdl/translate/trans-chap2.adb
@@ -767,7 +767,6 @@ package body Trans.Chap2 is
Info : Ortho_Info_Acc;
Interface_List : O_Inter_List;
Prev_Subprg_Instance : Subprgs.Subprg_Instance_Stack;
- Bod : Iir;
begin
Info := Add_Info (Decl, Kind_Package);
@@ -816,18 +815,6 @@ package body Trans.Chap2 is
-- For nested package, this will be translated when translating
-- subprograms.
Chap4.Translate_Declaration_Chain_Subprograms (Decl);
- -- Bod := Get_Package_Instantiation_Bodies_Chain (Decl);
- -- if Is_Valid (Bod) then
- -- Chap4.Translate_Declaration_Chain_Subprograms (Bod);
- -- end if;
- end if;
-
- -- Translate bodies of instances.
- if Get_Kind (Decl) = Iir_Kind_Package_Declaration then
- Bod := Get_Package_Instantiation_Bodies_Chain (Decl);
- if Is_Valid (Bod) then
- Chap4.Translate_Declaration_Chain (Bod);
- end if;
end if;
-- Declare elaborator for the body.