aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2016-12-18 18:34:19 +0100
committerTristan Gingold <tgingold@free.fr>2016-12-18 18:34:19 +0100
commitcf5678dc0d54de7de6ef085eb711b536b5c9584b (patch)
treef9aa36cc419713fcdb9d6fa5ec0d10f789cdebd9
parentf54bfbcebc7a7f9fbb9a413c2f2210051d0485cc (diff)
downloadghdl-cf5678dc0d54de7de6ef085eb711b536b5c9584b.tar.gz
ghdl-cf5678dc0d54de7de6ef085eb711b536b5c9584b.tar.bz2
ghdl-cf5678dc0d54de7de6ef085eb711b536b5c9584b.zip
iirs: reorder Iir_Kind_Choice_*, add Get_Literal_Origin for aggregate.
-rw-r--r--src/vhdl/iirs.adb8
-rw-r--r--src/vhdl/iirs.ads36
-rw-r--r--src/vhdl/nodes_meta.adb256
-rw-r--r--src/vhdl/sem_expr.adb6
4 files changed, 163 insertions, 143 deletions
diff --git a/src/vhdl/iirs.adb b/src/vhdl/iirs.adb
index 219d21734..133e0b717 100644
--- a/src/vhdl/iirs.adb
+++ b/src/vhdl/iirs.adb
@@ -272,9 +272,9 @@ package body Iirs is
| 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
+ | Iir_Kind_Choice_By_Expression
+ | Iir_Kind_Choice_By_Others
| Iir_Kind_Choice_By_None
| Iir_Kind_Choice_By_Name
| Iir_Kind_Entity_Aspect_Entity
@@ -4804,7 +4804,7 @@ package body Iirs is
pragma Assert (Target /= Null_Iir);
pragma Assert (Has_Aggregate_Info (Get_Kind (Target)),
"no field Aggregate_Info");
- return Get_Field2 (Target);
+ return Get_Field5 (Target);
end Get_Aggregate_Info;
procedure Set_Aggregate_Info (Target : Iir; Info : Iir) is
@@ -4812,7 +4812,7 @@ package body Iirs is
pragma Assert (Target /= Null_Iir);
pragma Assert (Has_Aggregate_Info (Get_Kind (Target)),
"no field Aggregate_Info");
- Set_Field2 (Target, Info);
+ Set_Field5 (Target, Info);
end Set_Aggregate_Info;
function Get_Sub_Aggregate_Info (Target : Iir) return Iir is
diff --git a/src/vhdl/iirs.ads b/src/vhdl/iirs.ads
index 380ae998a..7c7159756 100644
--- a/src/vhdl/iirs.ads
+++ b/src/vhdl/iirs.ads
@@ -3416,7 +3416,12 @@ package Iirs is
-- Same as Type, but marked as property of that node.
-- Get/Set_Literal_Subtype (Field3)
--
- -- Get/Set_Aggregate_Info (Field2)
+ -- Exist for symetry with other literals, but must never be set. The
+ -- content of the aggregate is modified during evaluation, not the
+ -- aggregate itself.
+ -- Get/Set_Literal_Origin (Field2)
+ --
+ -- Get/Set_Aggregate_Info (Field5)
--
-- Get/Set_Type (Field1)
--
@@ -3994,9 +3999,9 @@ package Iirs is
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,
+ Iir_Kind_Choice_By_Expression,
+ Iir_Kind_Choice_By_Others,
Iir_Kind_Choice_By_None,
Iir_Kind_Choice_By_Name,
Iir_Kind_Entity_Aspect_Entity,
@@ -5021,9 +5026,28 @@ package Iirs is
Iir_Kind_Association_Element_Open;
subtype Iir_Kinds_Choice is Iir_Kind range
- Iir_Kind_Choice_By_Others ..
+ Iir_Kind_Choice_By_Range ..
--Iir_Kind_Choice_By_Expression
- --Iir_Kind_Choice_By_Range
+ --Iir_Kind_Choice_By_Others
+ --Iir_Kind_Choice_By_None
+ Iir_Kind_Choice_By_Name;
+
+ -- Choices in a case statement.
+ subtype Iir_Kinds_Case_Choice is Iir_Kind range
+ Iir_Kind_Choice_By_Range ..
+ --Iir_Kind_Choice_By_Expression
+ Iir_Kind_Choice_By_Others;
+
+ -- Choices in array aggregate.
+ subtype Iir_Kinds_Array_Choice is Iir_Kind range
+ Iir_Kind_Choice_By_Range ..
+ --Iir_Kind_Choice_By_Expression
+ --Iir_Kind_Choice_By_Others
+ Iir_Kind_Choice_By_None;
+
+ -- Choices in record aggregate.
+ subtype Iir_Kinds_Record_Choice is Iir_Kind range
+ Iir_Kind_Choice_By_Others ..
--Iir_Kind_Choice_By_None
Iir_Kind_Choice_By_Name;
@@ -6953,7 +6977,7 @@ package Iirs is
-- Get/Set info for the aggregate.
-- There is one aggregate_info for for each dimension.
- -- Field: Field2
+ -- Field: Field5
function Get_Aggregate_Info (Target : Iir) return Iir;
procedure Set_Aggregate_Info (Target : Iir; Info : Iir);
diff --git a/src/vhdl/nodes_meta.adb b/src/vhdl/nodes_meta.adb
index 65917b4aa..9792d989f 100644
--- a/src/vhdl/nodes_meta.adb
+++ b/src/vhdl/nodes_meta.adb
@@ -1051,12 +1051,12 @@ package body Nodes_Meta is
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 =>
- return "choice_by_expression";
when Iir_Kind_Choice_By_Range =>
return "choice_by_range";
+ when Iir_Kind_Choice_By_Expression =>
+ return "choice_by_expression";
+ when Iir_Kind_Choice_By_Others =>
+ return "choice_by_others";
when Iir_Kind_Choice_By_None =>
return "choice_by_none";
when Iir_Kind_Choice_By_Name =>
@@ -2347,12 +2347,14 @@ package body Nodes_Meta is
Field_Formal,
Field_Chain,
Field_Actual,
- -- Iir_Kind_Choice_By_Others
+ -- Iir_Kind_Choice_By_Range
Field_Same_Alternative_Flag,
+ Field_Choice_Staticness,
Field_Parent,
Field_Chain,
Field_Associated_Expr,
Field_Associated_Chain,
+ Field_Choice_Range,
-- Iir_Kind_Choice_By_Expression
Field_Same_Alternative_Flag,
Field_Choice_Staticness,
@@ -2361,14 +2363,12 @@ package body Nodes_Meta is
Field_Associated_Expr,
Field_Associated_Chain,
Field_Choice_Expression,
- -- Iir_Kind_Choice_By_Range
+ -- Iir_Kind_Choice_By_Others
Field_Same_Alternative_Flag,
- Field_Choice_Staticness,
Field_Parent,
Field_Chain,
Field_Associated_Expr,
Field_Associated_Chain,
- Field_Choice_Range,
-- Iir_Kind_Choice_By_None
Field_Same_Alternative_Flag,
Field_Parent,
@@ -3543,6 +3543,7 @@ package body Nodes_Meta is
Field_Value_Staticness,
Field_Association_Choices_Chain,
Field_Literal_Subtype,
+ Field_Literal_Origin,
Field_Aggregate_Info,
Field_Type,
-- Iir_Kind_Parenthesis_Expression
@@ -4349,9 +4350,9 @@ package body Nodes_Meta is
Iir_Kind_Association_Element_Package => 121,
Iir_Kind_Association_Element_Type => 128,
Iir_Kind_Association_Element_Subprogram => 133,
- Iir_Kind_Choice_By_Others => 138,
- Iir_Kind_Choice_By_Expression => 145,
- Iir_Kind_Choice_By_Range => 152,
+ Iir_Kind_Choice_By_Range => 140,
+ Iir_Kind_Choice_By_Expression => 147,
+ Iir_Kind_Choice_By_Others => 152,
Iir_Kind_Choice_By_None => 157,
Iir_Kind_Choice_By_Name => 163,
Iir_Kind_Entity_Aspect_Entity => 165,
@@ -4489,107 +4490,107 @@ package body Nodes_Meta is
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
+ 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
);
function Get_Fields (K : Iir_Kind) return Fields_Array
@@ -6708,7 +6709,8 @@ package body Nodes_Meta is
| Iir_Kind_Physical_Fp_Literal
| Iir_Kind_Simple_Aggregate
| Iir_Kind_Overflow_Literal
- | Iir_Kind_Enumeration_Literal =>
+ | Iir_Kind_Enumeration_Literal
+ | Iir_Kind_Aggregate =>
return True;
when others =>
return False;
@@ -6885,9 +6887,9 @@ package body Nodes_Meta is
function Has_Associated_Expr (K : Iir_Kind) return Boolean is
begin
case K is
- when Iir_Kind_Choice_By_Others
+ when Iir_Kind_Choice_By_Range
| Iir_Kind_Choice_By_Expression
- | Iir_Kind_Choice_By_Range
+ | Iir_Kind_Choice_By_Others
| Iir_Kind_Choice_By_None
| Iir_Kind_Choice_By_Name =>
return True;
@@ -6899,9 +6901,9 @@ package body Nodes_Meta is
function Has_Associated_Block (K : Iir_Kind) return Boolean is
begin
case K is
- when Iir_Kind_Choice_By_Others
+ when Iir_Kind_Choice_By_Range
| Iir_Kind_Choice_By_Expression
- | Iir_Kind_Choice_By_Range
+ | Iir_Kind_Choice_By_Others
| Iir_Kind_Choice_By_None
| Iir_Kind_Choice_By_Name =>
return True;
@@ -6913,9 +6915,9 @@ package body Nodes_Meta is
function Has_Associated_Chain (K : Iir_Kind) return Boolean is
begin
case K is
- when Iir_Kind_Choice_By_Others
+ when Iir_Kind_Choice_By_Range
| Iir_Kind_Choice_By_Expression
- | Iir_Kind_Choice_By_Range
+ | Iir_Kind_Choice_By_Others
| Iir_Kind_Choice_By_None
| Iir_Kind_Choice_By_Name =>
return True;
@@ -6942,9 +6944,9 @@ package body Nodes_Meta is
function Has_Same_Alternative_Flag (K : Iir_Kind) return Boolean is
begin
case K is
- when Iir_Kind_Choice_By_Others
+ when Iir_Kind_Choice_By_Range
| Iir_Kind_Choice_By_Expression
- | Iir_Kind_Choice_By_Range
+ | Iir_Kind_Choice_By_Others
| Iir_Kind_Choice_By_None
| Iir_Kind_Choice_By_Name =>
return True;
@@ -7094,9 +7096,9 @@ package body Nodes_Meta is
| 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
+ | Iir_Kind_Choice_By_Expression
+ | Iir_Kind_Choice_By_Others
| Iir_Kind_Choice_By_None
| Iir_Kind_Choice_By_Name
| Iir_Kind_Block_Configuration
@@ -9063,9 +9065,9 @@ package body Nodes_Meta is
| Iir_Kind_Library_Clause
| Iir_Kind_Use_Clause
| Iir_Kind_Context_Reference
- | Iir_Kind_Choice_By_Others
- | Iir_Kind_Choice_By_Expression
| Iir_Kind_Choice_By_Range
+ | Iir_Kind_Choice_By_Expression
+ | Iir_Kind_Choice_By_Others
| Iir_Kind_Choice_By_None
| Iir_Kind_Choice_By_Name
| Iir_Kind_Block_Configuration
@@ -9882,8 +9884,8 @@ package body Nodes_Meta is
begin
case K is
when Iir_Kind_Association_Element_By_Individual
- | Iir_Kind_Choice_By_Expression
- | Iir_Kind_Choice_By_Range =>
+ | Iir_Kind_Choice_By_Range
+ | Iir_Kind_Choice_By_Expression =>
return True;
when others =>
return False;
diff --git a/src/vhdl/sem_expr.adb b/src/vhdl/sem_expr.adb
index f473773eb..23346f163 100644
--- a/src/vhdl/sem_expr.adb
+++ b/src/vhdl/sem_expr.adb
@@ -2332,12 +2332,6 @@ package body Sem_Expr is
Low : out Iir;
High : out Iir)
is
- -- Nodes that can appear.
- subtype Iir_Kinds_Case_Choice is Iir_Kind range
- Iir_Kind_Choice_By_Others ..
- --Iir_Kind_Choice_By_Expression
- Iir_Kind_Choice_By_Range;
-
-- Number of named choices.
Nbr_Named : Natural;