diff options
author | Tristan Gingold | 2014-12-23 06:59:51 +0100 |
---|---|---|
committer | Tristan Gingold | 2014-12-23 06:59:51 +0100 |
commit | e0b78cd20fb43c20db63d32e404ae9c4ff9b35f8 (patch) | |
tree | 9ca5e1686276840522fcd30636b1f82bc3123e7e /src/vhdl | |
parent | 6aa5c00499ff83aa5926017c87339b5493cea4db (diff) | |
download | ghdl-e0b78cd20fb43c20db63d32e404ae9c4ff9b35f8.tar.gz ghdl-e0b78cd20fb43c20db63d32e404ae9c4ff9b35f8.tar.bz2 ghdl-e0b78cd20fb43c20db63d32e404ae9c4ff9b35f8.zip |
Fix ghdl -m for jit: handle multiple libraries.
Diffstat (limited to 'src/vhdl')
-rw-r--r-- | src/vhdl/iirs.ads | 3 | ||||
-rw-r--r-- | src/vhdl/nodes_meta.adb | 320 |
2 files changed, 164 insertions, 159 deletions
diff --git a/src/vhdl/iirs.ads b/src/vhdl/iirs.ads index 79b003e..2ce529f 100644 --- a/src/vhdl/iirs.ads +++ b/src/vhdl/iirs.ads @@ -877,6 +877,9 @@ package Iirs is -- -- Get/Set_Library_Directory (Field5) -- + -- Used to compute dependences. + -- Get/Set_Elab_Flag (Flag3) + -- -- Get/Set_Visible_Flag (Flag4) -- Iir_Kind_Component_Declaration (Medium) diff --git a/src/vhdl/nodes_meta.adb b/src/vhdl/nodes_meta.adb index 9d8b878..e6c5b7d 100644 --- a/src/vhdl/nodes_meta.adb +++ b/src/vhdl/nodes_meta.adb @@ -2537,6 +2537,7 @@ package body Nodes_Meta is Field_Identifier, Field_Date, Field_Library_Directory, + Field_Elab_Flag, Field_Visible_Flag, Field_Design_File_Chain, Field_Chain, @@ -3880,164 +3881,164 @@ package body Nodes_Meta is Iir_Kind_Architecture_Body => 489, Iir_Kind_Package_Header => 491, Iir_Kind_Unit_Declaration => 500, - Iir_Kind_Library_Declaration => 506, - Iir_Kind_Component_Declaration => 516, - Iir_Kind_Attribute_Declaration => 523, - Iir_Kind_Group_Template_Declaration => 529, - Iir_Kind_Group_Declaration => 536, - Iir_Kind_Element_Declaration => 543, - Iir_Kind_Non_Object_Alias_Declaration => 551, - Iir_Kind_Psl_Declaration => 559, - Iir_Kind_Terminal_Declaration => 565, - Iir_Kind_Free_Quantity_Declaration => 574, - Iir_Kind_Across_Quantity_Declaration => 586, - Iir_Kind_Through_Quantity_Declaration => 598, - Iir_Kind_Enumeration_Literal => 609, - Iir_Kind_Function_Declaration => 633, - Iir_Kind_Procedure_Declaration => 655, - Iir_Kind_Function_Body => 665, - Iir_Kind_Procedure_Body => 675, - Iir_Kind_Object_Alias_Declaration => 687, - Iir_Kind_File_Declaration => 702, - Iir_Kind_Guard_Signal_Declaration => 715, - Iir_Kind_Signal_Declaration => 732, - Iir_Kind_Variable_Declaration => 745, - Iir_Kind_Constant_Declaration => 759, - Iir_Kind_Iterator_Declaration => 771, - Iir_Kind_Interface_Constant_Declaration => 787, - Iir_Kind_Interface_Variable_Declaration => 803, - Iir_Kind_Interface_Signal_Declaration => 824, - Iir_Kind_Interface_File_Declaration => 840, - Iir_Kind_Interface_Package_Declaration => 849, - Iir_Kind_Identity_Operator => 853, - Iir_Kind_Negation_Operator => 857, - Iir_Kind_Absolute_Operator => 861, - Iir_Kind_Not_Operator => 865, - Iir_Kind_Condition_Operator => 869, - Iir_Kind_Reduction_And_Operator => 873, - Iir_Kind_Reduction_Or_Operator => 877, - Iir_Kind_Reduction_Nand_Operator => 881, - Iir_Kind_Reduction_Nor_Operator => 885, - Iir_Kind_Reduction_Xor_Operator => 889, - Iir_Kind_Reduction_Xnor_Operator => 893, - Iir_Kind_And_Operator => 898, - Iir_Kind_Or_Operator => 903, - Iir_Kind_Nand_Operator => 908, - Iir_Kind_Nor_Operator => 913, - Iir_Kind_Xor_Operator => 918, - Iir_Kind_Xnor_Operator => 923, - Iir_Kind_Equality_Operator => 928, - Iir_Kind_Inequality_Operator => 933, - Iir_Kind_Less_Than_Operator => 938, - Iir_Kind_Less_Than_Or_Equal_Operator => 943, - Iir_Kind_Greater_Than_Operator => 948, - Iir_Kind_Greater_Than_Or_Equal_Operator => 953, - Iir_Kind_Match_Equality_Operator => 958, - Iir_Kind_Match_Inequality_Operator => 963, - Iir_Kind_Match_Less_Than_Operator => 968, - Iir_Kind_Match_Less_Than_Or_Equal_Operator => 973, - Iir_Kind_Match_Greater_Than_Operator => 978, - Iir_Kind_Match_Greater_Than_Or_Equal_Operator => 983, - Iir_Kind_Sll_Operator => 988, - Iir_Kind_Sla_Operator => 993, - Iir_Kind_Srl_Operator => 998, - Iir_Kind_Sra_Operator => 1003, - Iir_Kind_Rol_Operator => 1008, - Iir_Kind_Ror_Operator => 1013, - Iir_Kind_Addition_Operator => 1018, - Iir_Kind_Substraction_Operator => 1023, - Iir_Kind_Concatenation_Operator => 1028, - Iir_Kind_Multiplication_Operator => 1033, - Iir_Kind_Division_Operator => 1038, - Iir_Kind_Modulus_Operator => 1043, - Iir_Kind_Remainder_Operator => 1048, - Iir_Kind_Exponentiation_Operator => 1053, - Iir_Kind_Function_Call => 1061, - Iir_Kind_Aggregate => 1067, - Iir_Kind_Parenthesis_Expression => 1070, - Iir_Kind_Qualified_Expression => 1074, - Iir_Kind_Type_Conversion => 1079, - Iir_Kind_Allocator_By_Expression => 1083, - Iir_Kind_Allocator_By_Subtype => 1087, - Iir_Kind_Selected_Element => 1093, - Iir_Kind_Dereference => 1098, - Iir_Kind_Implicit_Dereference => 1103, - Iir_Kind_Slice_Name => 1110, - Iir_Kind_Indexed_Name => 1116, - Iir_Kind_Psl_Expression => 1118, - Iir_Kind_Sensitized_Process_Statement => 1137, - Iir_Kind_Process_Statement => 1155, - Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1166, - Iir_Kind_Concurrent_Selected_Signal_Assignment => 1178, - Iir_Kind_Concurrent_Assertion_Statement => 1186, - Iir_Kind_Psl_Default_Clock => 1190, - Iir_Kind_Psl_Assert_Statement => 1199, - Iir_Kind_Psl_Cover_Statement => 1208, - Iir_Kind_Concurrent_Procedure_Call_Statement => 1214, - Iir_Kind_Block_Statement => 1227, - Iir_Kind_Generate_Statement => 1239, - Iir_Kind_Component_Instantiation_Statement => 1249, - Iir_Kind_Simple_Simultaneous_Statement => 1256, - Iir_Kind_Signal_Assignment_Statement => 1265, - Iir_Kind_Null_Statement => 1269, - Iir_Kind_Assertion_Statement => 1276, - Iir_Kind_Report_Statement => 1282, - Iir_Kind_Wait_Statement => 1289, - Iir_Kind_Variable_Assignment_Statement => 1295, - Iir_Kind_Return_Statement => 1301, - Iir_Kind_For_Loop_Statement => 1309, - Iir_Kind_While_Loop_Statement => 1316, - Iir_Kind_Next_Statement => 1322, - Iir_Kind_Exit_Statement => 1328, - Iir_Kind_Case_Statement => 1335, - Iir_Kind_Procedure_Call_Statement => 1340, - Iir_Kind_If_Statement => 1348, - Iir_Kind_Elsif => 1353, - Iir_Kind_Character_Literal => 1360, - Iir_Kind_Simple_Name => 1367, - Iir_Kind_Selected_Name => 1375, - Iir_Kind_Operator_Symbol => 1380, - Iir_Kind_Selected_By_All_Name => 1385, - Iir_Kind_Parenthesis_Name => 1389, - Iir_Kind_Base_Attribute => 1391, - Iir_Kind_Left_Type_Attribute => 1396, - Iir_Kind_Right_Type_Attribute => 1401, - Iir_Kind_High_Type_Attribute => 1406, - Iir_Kind_Low_Type_Attribute => 1411, - Iir_Kind_Ascending_Type_Attribute => 1416, - Iir_Kind_Image_Attribute => 1422, - Iir_Kind_Value_Attribute => 1428, - Iir_Kind_Pos_Attribute => 1434, - Iir_Kind_Val_Attribute => 1440, - Iir_Kind_Succ_Attribute => 1446, - Iir_Kind_Pred_Attribute => 1452, - Iir_Kind_Leftof_Attribute => 1458, - Iir_Kind_Rightof_Attribute => 1464, - Iir_Kind_Delayed_Attribute => 1472, - Iir_Kind_Stable_Attribute => 1480, - Iir_Kind_Quiet_Attribute => 1488, - Iir_Kind_Transaction_Attribute => 1496, - Iir_Kind_Event_Attribute => 1500, - Iir_Kind_Active_Attribute => 1504, - Iir_Kind_Last_Event_Attribute => 1508, - Iir_Kind_Last_Active_Attribute => 1512, - Iir_Kind_Last_Value_Attribute => 1516, - Iir_Kind_Driving_Attribute => 1520, - Iir_Kind_Driving_Value_Attribute => 1524, - Iir_Kind_Behavior_Attribute => 1524, - Iir_Kind_Structure_Attribute => 1524, - Iir_Kind_Simple_Name_Attribute => 1531, - Iir_Kind_Instance_Name_Attribute => 1536, - Iir_Kind_Path_Name_Attribute => 1541, - Iir_Kind_Left_Array_Attribute => 1548, - Iir_Kind_Right_Array_Attribute => 1555, - Iir_Kind_High_Array_Attribute => 1562, - Iir_Kind_Low_Array_Attribute => 1569, - Iir_Kind_Length_Array_Attribute => 1576, - Iir_Kind_Ascending_Array_Attribute => 1583, - Iir_Kind_Range_Array_Attribute => 1590, - Iir_Kind_Reverse_Range_Array_Attribute => 1597, - Iir_Kind_Attribute_Name => 1605 + Iir_Kind_Library_Declaration => 507, + Iir_Kind_Component_Declaration => 517, + Iir_Kind_Attribute_Declaration => 524, + Iir_Kind_Group_Template_Declaration => 530, + Iir_Kind_Group_Declaration => 537, + Iir_Kind_Element_Declaration => 544, + Iir_Kind_Non_Object_Alias_Declaration => 552, + Iir_Kind_Psl_Declaration => 560, + Iir_Kind_Terminal_Declaration => 566, + Iir_Kind_Free_Quantity_Declaration => 575, + Iir_Kind_Across_Quantity_Declaration => 587, + Iir_Kind_Through_Quantity_Declaration => 599, + Iir_Kind_Enumeration_Literal => 610, + Iir_Kind_Function_Declaration => 634, + Iir_Kind_Procedure_Declaration => 656, + Iir_Kind_Function_Body => 666, + Iir_Kind_Procedure_Body => 676, + Iir_Kind_Object_Alias_Declaration => 688, + Iir_Kind_File_Declaration => 703, + Iir_Kind_Guard_Signal_Declaration => 716, + Iir_Kind_Signal_Declaration => 733, + Iir_Kind_Variable_Declaration => 746, + Iir_Kind_Constant_Declaration => 760, + Iir_Kind_Iterator_Declaration => 772, + Iir_Kind_Interface_Constant_Declaration => 788, + Iir_Kind_Interface_Variable_Declaration => 804, + Iir_Kind_Interface_Signal_Declaration => 825, + Iir_Kind_Interface_File_Declaration => 841, + Iir_Kind_Interface_Package_Declaration => 850, + Iir_Kind_Identity_Operator => 854, + Iir_Kind_Negation_Operator => 858, + Iir_Kind_Absolute_Operator => 862, + Iir_Kind_Not_Operator => 866, + Iir_Kind_Condition_Operator => 870, + Iir_Kind_Reduction_And_Operator => 874, + Iir_Kind_Reduction_Or_Operator => 878, + Iir_Kind_Reduction_Nand_Operator => 882, + Iir_Kind_Reduction_Nor_Operator => 886, + Iir_Kind_Reduction_Xor_Operator => 890, + Iir_Kind_Reduction_Xnor_Operator => 894, + Iir_Kind_And_Operator => 899, + Iir_Kind_Or_Operator => 904, + Iir_Kind_Nand_Operator => 909, + Iir_Kind_Nor_Operator => 914, + Iir_Kind_Xor_Operator => 919, + Iir_Kind_Xnor_Operator => 924, + Iir_Kind_Equality_Operator => 929, + Iir_Kind_Inequality_Operator => 934, + Iir_Kind_Less_Than_Operator => 939, + Iir_Kind_Less_Than_Or_Equal_Operator => 944, + Iir_Kind_Greater_Than_Operator => 949, + Iir_Kind_Greater_Than_Or_Equal_Operator => 954, + Iir_Kind_Match_Equality_Operator => 959, + Iir_Kind_Match_Inequality_Operator => 964, + Iir_Kind_Match_Less_Than_Operator => 969, + Iir_Kind_Match_Less_Than_Or_Equal_Operator => 974, + Iir_Kind_Match_Greater_Than_Operator => 979, + Iir_Kind_Match_Greater_Than_Or_Equal_Operator => 984, + Iir_Kind_Sll_Operator => 989, + Iir_Kind_Sla_Operator => 994, + Iir_Kind_Srl_Operator => 999, + Iir_Kind_Sra_Operator => 1004, + Iir_Kind_Rol_Operator => 1009, + Iir_Kind_Ror_Operator => 1014, + Iir_Kind_Addition_Operator => 1019, + Iir_Kind_Substraction_Operator => 1024, + Iir_Kind_Concatenation_Operator => 1029, + Iir_Kind_Multiplication_Operator => 1034, + Iir_Kind_Division_Operator => 1039, + Iir_Kind_Modulus_Operator => 1044, + Iir_Kind_Remainder_Operator => 1049, + Iir_Kind_Exponentiation_Operator => 1054, + Iir_Kind_Function_Call => 1062, + Iir_Kind_Aggregate => 1068, + Iir_Kind_Parenthesis_Expression => 1071, + Iir_Kind_Qualified_Expression => 1075, + Iir_Kind_Type_Conversion => 1080, + Iir_Kind_Allocator_By_Expression => 1084, + Iir_Kind_Allocator_By_Subtype => 1088, + Iir_Kind_Selected_Element => 1094, + Iir_Kind_Dereference => 1099, + Iir_Kind_Implicit_Dereference => 1104, + Iir_Kind_Slice_Name => 1111, + Iir_Kind_Indexed_Name => 1117, + Iir_Kind_Psl_Expression => 1119, + Iir_Kind_Sensitized_Process_Statement => 1138, + Iir_Kind_Process_Statement => 1156, + Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1167, + Iir_Kind_Concurrent_Selected_Signal_Assignment => 1179, + Iir_Kind_Concurrent_Assertion_Statement => 1187, + Iir_Kind_Psl_Default_Clock => 1191, + Iir_Kind_Psl_Assert_Statement => 1200, + Iir_Kind_Psl_Cover_Statement => 1209, + Iir_Kind_Concurrent_Procedure_Call_Statement => 1215, + Iir_Kind_Block_Statement => 1228, + Iir_Kind_Generate_Statement => 1240, + Iir_Kind_Component_Instantiation_Statement => 1250, + Iir_Kind_Simple_Simultaneous_Statement => 1257, + Iir_Kind_Signal_Assignment_Statement => 1266, + Iir_Kind_Null_Statement => 1270, + Iir_Kind_Assertion_Statement => 1277, + Iir_Kind_Report_Statement => 1283, + Iir_Kind_Wait_Statement => 1290, + Iir_Kind_Variable_Assignment_Statement => 1296, + Iir_Kind_Return_Statement => 1302, + Iir_Kind_For_Loop_Statement => 1310, + Iir_Kind_While_Loop_Statement => 1317, + Iir_Kind_Next_Statement => 1323, + Iir_Kind_Exit_Statement => 1329, + Iir_Kind_Case_Statement => 1336, + Iir_Kind_Procedure_Call_Statement => 1341, + Iir_Kind_If_Statement => 1349, + Iir_Kind_Elsif => 1354, + Iir_Kind_Character_Literal => 1361, + Iir_Kind_Simple_Name => 1368, + Iir_Kind_Selected_Name => 1376, + Iir_Kind_Operator_Symbol => 1381, + Iir_Kind_Selected_By_All_Name => 1386, + Iir_Kind_Parenthesis_Name => 1390, + Iir_Kind_Base_Attribute => 1392, + Iir_Kind_Left_Type_Attribute => 1397, + Iir_Kind_Right_Type_Attribute => 1402, + Iir_Kind_High_Type_Attribute => 1407, + Iir_Kind_Low_Type_Attribute => 1412, + Iir_Kind_Ascending_Type_Attribute => 1417, + Iir_Kind_Image_Attribute => 1423, + Iir_Kind_Value_Attribute => 1429, + Iir_Kind_Pos_Attribute => 1435, + Iir_Kind_Val_Attribute => 1441, + Iir_Kind_Succ_Attribute => 1447, + Iir_Kind_Pred_Attribute => 1453, + Iir_Kind_Leftof_Attribute => 1459, + Iir_Kind_Rightof_Attribute => 1465, + Iir_Kind_Delayed_Attribute => 1473, + Iir_Kind_Stable_Attribute => 1481, + Iir_Kind_Quiet_Attribute => 1489, + Iir_Kind_Transaction_Attribute => 1497, + Iir_Kind_Event_Attribute => 1501, + Iir_Kind_Active_Attribute => 1505, + Iir_Kind_Last_Event_Attribute => 1509, + Iir_Kind_Last_Active_Attribute => 1513, + Iir_Kind_Last_Value_Attribute => 1517, + Iir_Kind_Driving_Attribute => 1521, + Iir_Kind_Driving_Value_Attribute => 1525, + Iir_Kind_Behavior_Attribute => 1525, + Iir_Kind_Structure_Attribute => 1525, + Iir_Kind_Simple_Name_Attribute => 1532, + Iir_Kind_Instance_Name_Attribute => 1537, + Iir_Kind_Path_Name_Attribute => 1542, + Iir_Kind_Left_Array_Attribute => 1549, + Iir_Kind_Right_Array_Attribute => 1556, + Iir_Kind_High_Array_Attribute => 1563, + Iir_Kind_Low_Array_Attribute => 1570, + Iir_Kind_Length_Array_Attribute => 1577, + Iir_Kind_Ascending_Array_Attribute => 1584, + Iir_Kind_Range_Array_Attribute => 1591, + Iir_Kind_Reverse_Range_Array_Attribute => 1598, + Iir_Kind_Attribute_Name => 1606 ); function Get_Fields (K : Iir_Kind) return Fields_Array @@ -7771,7 +7772,8 @@ package body Nodes_Meta is begin case K is when Iir_Kind_Design_File - | Iir_Kind_Design_Unit => + | Iir_Kind_Design_Unit + | Iir_Kind_Library_Declaration => return True; when others => return False; |