summaryrefslogtreecommitdiff
path: root/src/vhdl/nodes_meta.adb
diff options
context:
space:
mode:
authorTristan Gingold2015-08-29 07:57:12 +0200
committerTristan Gingold2015-08-29 07:57:12 +0200
commitb75d703676ab830ea3e5731e1965d1d89879a456 (patch)
tree1a0a21ba1cce6385715bd2823853ee4ad47905ee /src/vhdl/nodes_meta.adb
parent64fa65e1395bef4f05c51bc19d9a46d6003339ee (diff)
downloadghdl-b75d703676ab830ea3e5731e1965d1d89879a456.tar.gz
ghdl-b75d703676ab830ea3e5731e1965d1d89879a456.tar.bz2
ghdl-b75d703676ab830ea3e5731e1965d1d89879a456.zip
Replace fat accesses by bounds accesses
translate: separate info for signals from object. Improve some error messages.
Diffstat (limited to 'src/vhdl/nodes_meta.adb')
-rw-r--r--src/vhdl/nodes_meta.adb182
1 files changed, 92 insertions, 90 deletions
diff --git a/src/vhdl/nodes_meta.adb b/src/vhdl/nodes_meta.adb
index c10ad33..3dbef4c 100644
--- a/src/vhdl/nodes_meta.adb
+++ b/src/vhdl/nodes_meta.adb
@@ -3276,6 +3276,7 @@ package body Nodes_Meta is
Field_Type,
Field_Allocator_Designated_Type,
-- Iir_Kind_Allocator_By_Subtype
+ Field_Is_Ref,
Field_Expr_Staticness,
Field_Subtype_Indication,
Field_Type,
@@ -4118,96 +4119,96 @@ package body Nodes_Meta is
Iir_Kind_Qualified_Expression => 1082,
Iir_Kind_Type_Conversion => 1087,
Iir_Kind_Allocator_By_Expression => 1091,
- Iir_Kind_Allocator_By_Subtype => 1095,
- Iir_Kind_Selected_Element => 1101,
- Iir_Kind_Dereference => 1106,
- Iir_Kind_Implicit_Dereference => 1111,
- Iir_Kind_Slice_Name => 1118,
- Iir_Kind_Indexed_Name => 1124,
- Iir_Kind_Psl_Expression => 1126,
- Iir_Kind_Sensitized_Process_Statement => 1146,
- Iir_Kind_Process_Statement => 1166,
- Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1177,
- Iir_Kind_Concurrent_Selected_Signal_Assignment => 1189,
- Iir_Kind_Concurrent_Assertion_Statement => 1197,
- Iir_Kind_Psl_Default_Clock => 1201,
- Iir_Kind_Psl_Assert_Statement => 1210,
- Iir_Kind_Psl_Cover_Statement => 1219,
- Iir_Kind_Concurrent_Procedure_Call_Statement => 1226,
- Iir_Kind_Block_Statement => 1239,
- Iir_Kind_If_Generate_Statement => 1249,
- Iir_Kind_For_Generate_Statement => 1258,
- Iir_Kind_Component_Instantiation_Statement => 1268,
- Iir_Kind_Simple_Simultaneous_Statement => 1275,
- Iir_Kind_Generate_Statement_Body => 1286,
- Iir_Kind_If_Generate_Else_Clause => 1291,
- Iir_Kind_Signal_Assignment_Statement => 1300,
- Iir_Kind_Null_Statement => 1304,
- Iir_Kind_Assertion_Statement => 1311,
- Iir_Kind_Report_Statement => 1317,
- Iir_Kind_Wait_Statement => 1324,
- Iir_Kind_Variable_Assignment_Statement => 1330,
- Iir_Kind_Return_Statement => 1336,
- Iir_Kind_For_Loop_Statement => 1345,
- Iir_Kind_While_Loop_Statement => 1353,
- Iir_Kind_Next_Statement => 1359,
- Iir_Kind_Exit_Statement => 1365,
- Iir_Kind_Case_Statement => 1373,
- Iir_Kind_Procedure_Call_Statement => 1379,
- Iir_Kind_If_Statement => 1388,
- Iir_Kind_Elsif => 1393,
- Iir_Kind_Character_Literal => 1400,
- Iir_Kind_Simple_Name => 1407,
- Iir_Kind_Selected_Name => 1415,
- Iir_Kind_Operator_Symbol => 1420,
- Iir_Kind_Selected_By_All_Name => 1425,
- Iir_Kind_Parenthesis_Name => 1429,
- Iir_Kind_External_Constant_Name => 1438,
- Iir_Kind_External_Signal_Name => 1447,
- Iir_Kind_External_Variable_Name => 1456,
- Iir_Kind_Package_Pathname => 1459,
- Iir_Kind_Absolute_Pathname => 1460,
- Iir_Kind_Relative_Pathname => 1461,
- Iir_Kind_Pathname_Element => 1465,
- Iir_Kind_Base_Attribute => 1467,
- Iir_Kind_Left_Type_Attribute => 1472,
- Iir_Kind_Right_Type_Attribute => 1477,
- Iir_Kind_High_Type_Attribute => 1482,
- Iir_Kind_Low_Type_Attribute => 1487,
- Iir_Kind_Ascending_Type_Attribute => 1492,
- Iir_Kind_Image_Attribute => 1498,
- Iir_Kind_Value_Attribute => 1504,
- Iir_Kind_Pos_Attribute => 1510,
- Iir_Kind_Val_Attribute => 1516,
- Iir_Kind_Succ_Attribute => 1522,
- Iir_Kind_Pred_Attribute => 1528,
- Iir_Kind_Leftof_Attribute => 1534,
- Iir_Kind_Rightof_Attribute => 1540,
- Iir_Kind_Delayed_Attribute => 1548,
- Iir_Kind_Stable_Attribute => 1556,
- Iir_Kind_Quiet_Attribute => 1564,
- Iir_Kind_Transaction_Attribute => 1572,
- Iir_Kind_Event_Attribute => 1576,
- Iir_Kind_Active_Attribute => 1580,
- Iir_Kind_Last_Event_Attribute => 1584,
- Iir_Kind_Last_Active_Attribute => 1588,
- Iir_Kind_Last_Value_Attribute => 1592,
- Iir_Kind_Driving_Attribute => 1596,
- Iir_Kind_Driving_Value_Attribute => 1600,
- Iir_Kind_Behavior_Attribute => 1600,
- Iir_Kind_Structure_Attribute => 1600,
- Iir_Kind_Simple_Name_Attribute => 1607,
- Iir_Kind_Instance_Name_Attribute => 1612,
- Iir_Kind_Path_Name_Attribute => 1617,
- Iir_Kind_Left_Array_Attribute => 1624,
- Iir_Kind_Right_Array_Attribute => 1631,
- Iir_Kind_High_Array_Attribute => 1638,
- Iir_Kind_Low_Array_Attribute => 1645,
- Iir_Kind_Length_Array_Attribute => 1652,
- Iir_Kind_Ascending_Array_Attribute => 1659,
- Iir_Kind_Range_Array_Attribute => 1666,
- Iir_Kind_Reverse_Range_Array_Attribute => 1673,
- Iir_Kind_Attribute_Name => 1681
+ Iir_Kind_Allocator_By_Subtype => 1096,
+ Iir_Kind_Selected_Element => 1102,
+ Iir_Kind_Dereference => 1107,
+ Iir_Kind_Implicit_Dereference => 1112,
+ Iir_Kind_Slice_Name => 1119,
+ Iir_Kind_Indexed_Name => 1125,
+ Iir_Kind_Psl_Expression => 1127,
+ Iir_Kind_Sensitized_Process_Statement => 1147,
+ Iir_Kind_Process_Statement => 1167,
+ Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1178,
+ Iir_Kind_Concurrent_Selected_Signal_Assignment => 1190,
+ Iir_Kind_Concurrent_Assertion_Statement => 1198,
+ Iir_Kind_Psl_Default_Clock => 1202,
+ Iir_Kind_Psl_Assert_Statement => 1211,
+ Iir_Kind_Psl_Cover_Statement => 1220,
+ Iir_Kind_Concurrent_Procedure_Call_Statement => 1227,
+ Iir_Kind_Block_Statement => 1240,
+ Iir_Kind_If_Generate_Statement => 1250,
+ Iir_Kind_For_Generate_Statement => 1259,
+ Iir_Kind_Component_Instantiation_Statement => 1269,
+ Iir_Kind_Simple_Simultaneous_Statement => 1276,
+ Iir_Kind_Generate_Statement_Body => 1287,
+ Iir_Kind_If_Generate_Else_Clause => 1292,
+ Iir_Kind_Signal_Assignment_Statement => 1301,
+ Iir_Kind_Null_Statement => 1305,
+ Iir_Kind_Assertion_Statement => 1312,
+ Iir_Kind_Report_Statement => 1318,
+ Iir_Kind_Wait_Statement => 1325,
+ Iir_Kind_Variable_Assignment_Statement => 1331,
+ Iir_Kind_Return_Statement => 1337,
+ Iir_Kind_For_Loop_Statement => 1346,
+ Iir_Kind_While_Loop_Statement => 1354,
+ Iir_Kind_Next_Statement => 1360,
+ Iir_Kind_Exit_Statement => 1366,
+ Iir_Kind_Case_Statement => 1374,
+ Iir_Kind_Procedure_Call_Statement => 1380,
+ Iir_Kind_If_Statement => 1389,
+ Iir_Kind_Elsif => 1394,
+ Iir_Kind_Character_Literal => 1401,
+ Iir_Kind_Simple_Name => 1408,
+ Iir_Kind_Selected_Name => 1416,
+ Iir_Kind_Operator_Symbol => 1421,
+ Iir_Kind_Selected_By_All_Name => 1426,
+ Iir_Kind_Parenthesis_Name => 1430,
+ Iir_Kind_External_Constant_Name => 1439,
+ Iir_Kind_External_Signal_Name => 1448,
+ Iir_Kind_External_Variable_Name => 1457,
+ Iir_Kind_Package_Pathname => 1460,
+ Iir_Kind_Absolute_Pathname => 1461,
+ Iir_Kind_Relative_Pathname => 1462,
+ Iir_Kind_Pathname_Element => 1466,
+ Iir_Kind_Base_Attribute => 1468,
+ Iir_Kind_Left_Type_Attribute => 1473,
+ Iir_Kind_Right_Type_Attribute => 1478,
+ Iir_Kind_High_Type_Attribute => 1483,
+ Iir_Kind_Low_Type_Attribute => 1488,
+ Iir_Kind_Ascending_Type_Attribute => 1493,
+ Iir_Kind_Image_Attribute => 1499,
+ Iir_Kind_Value_Attribute => 1505,
+ Iir_Kind_Pos_Attribute => 1511,
+ Iir_Kind_Val_Attribute => 1517,
+ Iir_Kind_Succ_Attribute => 1523,
+ Iir_Kind_Pred_Attribute => 1529,
+ Iir_Kind_Leftof_Attribute => 1535,
+ Iir_Kind_Rightof_Attribute => 1541,
+ Iir_Kind_Delayed_Attribute => 1549,
+ Iir_Kind_Stable_Attribute => 1557,
+ Iir_Kind_Quiet_Attribute => 1565,
+ Iir_Kind_Transaction_Attribute => 1573,
+ Iir_Kind_Event_Attribute => 1577,
+ Iir_Kind_Active_Attribute => 1581,
+ Iir_Kind_Last_Event_Attribute => 1585,
+ Iir_Kind_Last_Active_Attribute => 1589,
+ Iir_Kind_Last_Value_Attribute => 1593,
+ Iir_Kind_Driving_Attribute => 1597,
+ Iir_Kind_Driving_Value_Attribute => 1601,
+ Iir_Kind_Behavior_Attribute => 1601,
+ Iir_Kind_Structure_Attribute => 1601,
+ Iir_Kind_Simple_Name_Attribute => 1608,
+ Iir_Kind_Instance_Name_Attribute => 1613,
+ Iir_Kind_Path_Name_Attribute => 1618,
+ Iir_Kind_Left_Array_Attribute => 1625,
+ Iir_Kind_Right_Array_Attribute => 1632,
+ Iir_Kind_High_Array_Attribute => 1639,
+ Iir_Kind_Low_Array_Attribute => 1646,
+ Iir_Kind_Length_Array_Attribute => 1653,
+ Iir_Kind_Ascending_Array_Attribute => 1660,
+ Iir_Kind_Range_Array_Attribute => 1667,
+ Iir_Kind_Reverse_Range_Array_Attribute => 1674,
+ Iir_Kind_Attribute_Name => 1682
);
function Get_Fields (K : Iir_Kind) return Fields_Array
@@ -9588,6 +9589,7 @@ package body Nodes_Meta is
| Iir_Kind_Interface_Variable_Declaration
| Iir_Kind_Interface_Signal_Declaration
| Iir_Kind_Interface_File_Declaration
+ | Iir_Kind_Allocator_By_Subtype
| Iir_Kind_External_Constant_Name
| Iir_Kind_External_Signal_Name
| Iir_Kind_External_Variable_Name =>