aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2019-08-09 05:14:04 +0200
committerTristan Gingold <tgingold@free.fr>2019-08-09 05:14:04 +0200
commit7c9298f4ef785ab2df77adabc95cd2672db43054 (patch)
tree2674e3f2b794a0e57c6c26fa8c23213f4429b363
parent6e51ccf3b2875a6b4e7ba1b7215b0ec28f0655b6 (diff)
downloadghdl-7c9298f4ef785ab2df77adabc95cd2672db43054.tar.gz
ghdl-7c9298f4ef785ab2df77adabc95cd2672db43054.tar.bz2
ghdl-7c9298f4ef785ab2df77adabc95cd2672db43054.zip
vhdl: remove unused Get/Set_Choice_Order.
-rw-r--r--python/libghdl/thin/vhdl/nodes.py4
-rw-r--r--python/libghdl/thin/vhdl/nodes_meta.py540
-rw-r--r--src/vhdl/vhdl-nodes.adb16
-rw-r--r--src/vhdl/vhdl-nodes.ads7
-rw-r--r--src/vhdl/vhdl-nodes_meta.adb522
-rw-r--r--src/vhdl/vhdl-nodes_meta.ads2
-rw-r--r--src/vhdl/vhdl-sem_expr.adb4
7 files changed, 515 insertions, 580 deletions
diff --git a/python/libghdl/thin/vhdl/nodes.py b/python/libghdl/thin/vhdl/nodes.py
index 05782b97f..5983c4972 100644
--- a/python/libghdl/thin/vhdl/nodes.py
+++ b/python/libghdl/thin/vhdl/nodes.py
@@ -1371,10 +1371,6 @@ Get_Time = libghdl.vhdl__nodes__get_time
Set_Time = libghdl.vhdl__nodes__set_time
-Get_Choice_Order = libghdl.vhdl__nodes__get_choice_order
-
-Set_Choice_Order = libghdl.vhdl__nodes__set_choice_order
-
Get_Associated_Expr = libghdl.vhdl__nodes__get_associated_expr
Set_Associated_Expr = libghdl.vhdl__nodes__set_associated_expr
diff --git a/python/libghdl/thin/vhdl/nodes_meta.py b/python/libghdl/thin/vhdl/nodes_meta.py
index 8d717732e..97a8cab8b 100644
--- a/python/libghdl/thin/vhdl/nodes_meta.py
+++ b/python/libghdl/thin/vhdl/nodes_meta.py
@@ -119,275 +119,274 @@ class fields:
After_Drivers_Flag = 55
We_Value = 56
Time = 57
- Choice_Order = 58
- Associated_Expr = 59
- Associated_Block = 60
- Associated_Chain = 61
- Choice_Name = 62
- Choice_Expression = 63
- Choice_Range = 64
- Same_Alternative_Flag = 65
- Element_Type_Flag = 66
- Architecture = 67
- Block_Specification = 68
- Prev_Block_Configuration = 69
- Configuration_Item_Chain = 70
- Attribute_Value_Chain = 71
- Spec_Chain = 72
- Value_Chain = 73
- Attribute_Value_Spec_Chain = 74
- Entity_Name = 75
- Package = 76
- Package_Body = 77
- Instance_Package_Body = 78
- Need_Body = 79
- Macro_Expanded_Flag = 80
- Need_Instance_Bodies = 81
- Block_Configuration = 82
- Concurrent_Statement_Chain = 83
- Chain = 84
- Port_Chain = 85
- Generic_Chain = 86
- Type = 87
- Subtype_Indication = 88
- Discrete_Range = 89
- Type_Definition = 90
- Subtype_Definition = 91
- Incomplete_Type_Declaration = 92
- Interface_Type_Subprograms = 93
- Nature = 94
- Mode = 95
- Guarded_Signal_Flag = 96
- Signal_Kind = 97
- Base_Name = 98
- Interface_Declaration_Chain = 99
- Subprogram_Specification = 100
- Sequential_Statement_Chain = 101
- Subprogram_Body = 102
- Overload_Number = 103
- Subprogram_Depth = 104
- Subprogram_Hash = 105
- Impure_Depth = 106
- Return_Type = 107
- Implicit_Definition = 108
- Default_Value = 109
- Deferred_Declaration = 110
- Deferred_Declaration_Flag = 111
- Shared_Flag = 112
- Design_Unit = 113
- Block_Statement = 114
- Signal_Driver = 115
- Declaration_Chain = 116
- File_Logical_Name = 117
- File_Open_Kind = 118
- Element_Position = 119
- Use_Clause_Chain = 120
- Context_Reference_Chain = 121
- Selected_Name = 122
- Type_Declarator = 123
- Complete_Type_Definition = 124
- Incomplete_Type_Ref_Chain = 125
- Associated_Type = 126
- Enumeration_Literal_List = 127
- Entity_Class_Entry_Chain = 128
- Group_Constituent_List = 129
- Unit_Chain = 130
- Primary_Unit = 131
- Identifier = 132
- Label = 133
- Visible_Flag = 134
- Range_Constraint = 135
- Direction = 136
- Left_Limit = 137
- Right_Limit = 138
- Left_Limit_Expr = 139
- Right_Limit_Expr = 140
- Base_Type = 141
- Resolution_Indication = 142
- Record_Element_Resolution_Chain = 143
- Tolerance = 144
- Plus_Terminal = 145
- Minus_Terminal = 146
- Simultaneous_Left = 147
- Simultaneous_Right = 148
- Text_File_Flag = 149
- Only_Characters_Flag = 150
- Is_Character_Type = 151
- Type_Staticness = 152
- Constraint_State = 153
- Index_Subtype_List = 154
- Index_Subtype_Definition_List = 155
- Element_Subtype_Indication = 156
- Element_Subtype = 157
- Index_Constraint_List = 158
- Array_Element_Constraint = 159
- Elements_Declaration_List = 160
- Owned_Elements_Chain = 161
- Designated_Type = 162
- Designated_Subtype_Indication = 163
- Index_List = 164
- Reference = 165
- Nature_Declarator = 166
- Across_Type = 167
- Through_Type = 168
- Target = 169
- Waveform_Chain = 170
- Guard = 171
- Delay_Mechanism = 172
- Reject_Time_Expression = 173
- Sensitivity_List = 174
- Process_Origin = 175
- Package_Origin = 176
- Condition_Clause = 177
- Timeout_Clause = 178
- Postponed_Flag = 179
- Callees_List = 180
- Passive_Flag = 181
- Resolution_Function_Flag = 182
- Wait_State = 183
- All_Sensitized_State = 184
- Seen_Flag = 185
- Pure_Flag = 186
- Foreign_Flag = 187
- Resolved_Flag = 188
- Signal_Type_Flag = 189
- Has_Signal_Flag = 190
- Purity_State = 191
- Elab_Flag = 192
- Configuration_Mark_Flag = 193
- Configuration_Done_Flag = 194
- Index_Constraint_Flag = 195
- Hide_Implicit_Flag = 196
- Assertion_Condition = 197
- Report_Expression = 198
- Severity_Expression = 199
- Instantiated_Unit = 200
- Generic_Map_Aspect_Chain = 201
- Port_Map_Aspect_Chain = 202
- Configuration_Name = 203
- Component_Configuration = 204
- Configuration_Specification = 205
- Default_Binding_Indication = 206
- Default_Configuration_Declaration = 207
- Expression = 208
- Conditional_Expression = 209
- Allocator_Designated_Type = 210
- Selected_Waveform_Chain = 211
- Conditional_Waveform_Chain = 212
- Guard_Expression = 213
- Guard_Decl = 214
- Guard_Sensitivity_List = 215
- Signal_Attribute_Chain = 216
- Block_Block_Configuration = 217
- Package_Header = 218
- Block_Header = 219
- Uninstantiated_Package_Name = 220
- Uninstantiated_Package_Decl = 221
- Instance_Source_File = 222
- Generate_Block_Configuration = 223
- Generate_Statement_Body = 224
- Alternative_Label = 225
- Generate_Else_Clause = 226
- Condition = 227
- Else_Clause = 228
- Parameter_Specification = 229
- Parent = 230
- Loop_Label = 231
- Component_Name = 232
- Instantiation_List = 233
- Entity_Aspect = 234
- Default_Entity_Aspect = 235
- Binding_Indication = 236
- Named_Entity = 237
- Alias_Declaration = 238
- Referenced_Name = 239
- Expr_Staticness = 240
- Error_Origin = 241
- Operand = 242
- Left = 243
- Right = 244
- Unit_Name = 245
- Name = 246
- Group_Template_Name = 247
- Name_Staticness = 248
- Prefix = 249
- Signature_Prefix = 250
- External_Pathname = 251
- Pathname_Suffix = 252
- Pathname_Expression = 253
- In_Formal_Flag = 254
- Slice_Subtype = 255
- Suffix = 256
- Index_Subtype = 257
- Parameter = 258
- Attr_Chain = 259
- Signal_Attribute_Declaration = 260
- Actual_Type = 261
- Actual_Type_Definition = 262
- Association_Chain = 263
- Individual_Association_Chain = 264
- Subprogram_Association_Chain = 265
- Aggregate_Info = 266
- Sub_Aggregate_Info = 267
- Aggr_Dynamic_Flag = 268
- Aggr_Min_Length = 269
- Aggr_Low_Limit = 270
- Aggr_High_Limit = 271
- Aggr_Others_Flag = 272
- Aggr_Named_Flag = 273
- Aggregate_Expand_Flag = 274
- Association_Choices_Chain = 275
- Case_Statement_Alternative_Chain = 276
- Choice_Staticness = 277
- Procedure_Call = 278
- Implementation = 279
- Parameter_Association_Chain = 280
- Method_Object = 281
- Subtype_Type_Mark = 282
- Type_Conversion_Subtype = 283
- Type_Mark = 284
- File_Type_Mark = 285
- Return_Type_Mark = 286
- Has_Disconnect_Flag = 287
- Has_Active_Flag = 288
- Is_Within_Flag = 289
- Type_Marks_List = 290
- Implicit_Alias_Flag = 291
- Alias_Signature = 292
- Attribute_Signature = 293
- Overload_List = 294
- Simple_Name_Identifier = 295
- Simple_Name_Subtype = 296
- Protected_Type_Body = 297
- Protected_Type_Declaration = 298
- Use_Flag = 299
- End_Has_Reserved_Id = 300
- End_Has_Identifier = 301
- End_Has_Postponed = 302
- Has_Label = 303
- Has_Begin = 304
- Has_End = 305
- Has_Is = 306
- Has_Pure = 307
- Has_Body = 308
- Has_Parameter = 309
- Has_Component = 310
- Has_Identifier_List = 311
- Has_Mode = 312
- Has_Class = 313
- Suspend_Flag = 314
- Is_Ref = 315
- Is_Forward_Ref = 316
- Psl_Property = 317
- Psl_Sequence = 318
- Psl_Declaration = 319
- Psl_Expression = 320
- Psl_Boolean = 321
- PSL_Clock = 322
- PSL_NFA = 323
- PSL_Nbr_States = 324
- PSL_Clock_Sensitivity = 325
- PSL_EOS_Flag = 326
+ Associated_Expr = 58
+ Associated_Block = 59
+ Associated_Chain = 60
+ Choice_Name = 61
+ Choice_Expression = 62
+ Choice_Range = 63
+ Same_Alternative_Flag = 64
+ Element_Type_Flag = 65
+ Architecture = 66
+ Block_Specification = 67
+ Prev_Block_Configuration = 68
+ Configuration_Item_Chain = 69
+ Attribute_Value_Chain = 70
+ Spec_Chain = 71
+ Value_Chain = 72
+ Attribute_Value_Spec_Chain = 73
+ Entity_Name = 74
+ Package = 75
+ Package_Body = 76
+ Instance_Package_Body = 77
+ Need_Body = 78
+ Macro_Expanded_Flag = 79
+ Need_Instance_Bodies = 80
+ Block_Configuration = 81
+ Concurrent_Statement_Chain = 82
+ Chain = 83
+ Port_Chain = 84
+ Generic_Chain = 85
+ Type = 86
+ Subtype_Indication = 87
+ Discrete_Range = 88
+ Type_Definition = 89
+ Subtype_Definition = 90
+ Incomplete_Type_Declaration = 91
+ Interface_Type_Subprograms = 92
+ Nature = 93
+ Mode = 94
+ Guarded_Signal_Flag = 95
+ Signal_Kind = 96
+ Base_Name = 97
+ Interface_Declaration_Chain = 98
+ Subprogram_Specification = 99
+ Sequential_Statement_Chain = 100
+ Subprogram_Body = 101
+ Overload_Number = 102
+ Subprogram_Depth = 103
+ Subprogram_Hash = 104
+ Impure_Depth = 105
+ Return_Type = 106
+ Implicit_Definition = 107
+ Default_Value = 108
+ Deferred_Declaration = 109
+ Deferred_Declaration_Flag = 110
+ Shared_Flag = 111
+ Design_Unit = 112
+ Block_Statement = 113
+ Signal_Driver = 114
+ Declaration_Chain = 115
+ File_Logical_Name = 116
+ File_Open_Kind = 117
+ Element_Position = 118
+ Use_Clause_Chain = 119
+ Context_Reference_Chain = 120
+ Selected_Name = 121
+ Type_Declarator = 122
+ Complete_Type_Definition = 123
+ Incomplete_Type_Ref_Chain = 124
+ Associated_Type = 125
+ Enumeration_Literal_List = 126
+ Entity_Class_Entry_Chain = 127
+ Group_Constituent_List = 128
+ Unit_Chain = 129
+ Primary_Unit = 130
+ Identifier = 131
+ Label = 132
+ Visible_Flag = 133
+ Range_Constraint = 134
+ Direction = 135
+ Left_Limit = 136
+ Right_Limit = 137
+ Left_Limit_Expr = 138
+ Right_Limit_Expr = 139
+ Base_Type = 140
+ Resolution_Indication = 141
+ Record_Element_Resolution_Chain = 142
+ Tolerance = 143
+ Plus_Terminal = 144
+ Minus_Terminal = 145
+ Simultaneous_Left = 146
+ Simultaneous_Right = 147
+ Text_File_Flag = 148
+ Only_Characters_Flag = 149
+ Is_Character_Type = 150
+ Type_Staticness = 151
+ Constraint_State = 152
+ Index_Subtype_List = 153
+ Index_Subtype_Definition_List = 154
+ Element_Subtype_Indication = 155
+ Element_Subtype = 156
+ Index_Constraint_List = 157
+ Array_Element_Constraint = 158
+ Elements_Declaration_List = 159
+ Owned_Elements_Chain = 160
+ Designated_Type = 161
+ Designated_Subtype_Indication = 162
+ Index_List = 163
+ Reference = 164
+ Nature_Declarator = 165
+ Across_Type = 166
+ Through_Type = 167
+ Target = 168
+ Waveform_Chain = 169
+ Guard = 170
+ Delay_Mechanism = 171
+ Reject_Time_Expression = 172
+ Sensitivity_List = 173
+ Process_Origin = 174
+ Package_Origin = 175
+ Condition_Clause = 176
+ Timeout_Clause = 177
+ Postponed_Flag = 178
+ Callees_List = 179
+ Passive_Flag = 180
+ Resolution_Function_Flag = 181
+ Wait_State = 182
+ All_Sensitized_State = 183
+ Seen_Flag = 184
+ Pure_Flag = 185
+ Foreign_Flag = 186
+ Resolved_Flag = 187
+ Signal_Type_Flag = 188
+ Has_Signal_Flag = 189
+ Purity_State = 190
+ Elab_Flag = 191
+ Configuration_Mark_Flag = 192
+ Configuration_Done_Flag = 193
+ Index_Constraint_Flag = 194
+ Hide_Implicit_Flag = 195
+ Assertion_Condition = 196
+ Report_Expression = 197
+ Severity_Expression = 198
+ Instantiated_Unit = 199
+ Generic_Map_Aspect_Chain = 200
+ Port_Map_Aspect_Chain = 201
+ Configuration_Name = 202
+ Component_Configuration = 203
+ Configuration_Specification = 204
+ Default_Binding_Indication = 205
+ Default_Configuration_Declaration = 206
+ Expression = 207
+ Conditional_Expression = 208
+ Allocator_Designated_Type = 209
+ Selected_Waveform_Chain = 210
+ Conditional_Waveform_Chain = 211
+ Guard_Expression = 212
+ Guard_Decl = 213
+ Guard_Sensitivity_List = 214
+ Signal_Attribute_Chain = 215
+ Block_Block_Configuration = 216
+ Package_Header = 217
+ Block_Header = 218
+ Uninstantiated_Package_Name = 219
+ Uninstantiated_Package_Decl = 220
+ Instance_Source_File = 221
+ Generate_Block_Configuration = 222
+ Generate_Statement_Body = 223
+ Alternative_Label = 224
+ Generate_Else_Clause = 225
+ Condition = 226
+ Else_Clause = 227
+ Parameter_Specification = 228
+ Parent = 229
+ Loop_Label = 230
+ Component_Name = 231
+ Instantiation_List = 232
+ Entity_Aspect = 233
+ Default_Entity_Aspect = 234
+ Binding_Indication = 235
+ Named_Entity = 236
+ Alias_Declaration = 237
+ Referenced_Name = 238
+ Expr_Staticness = 239
+ Error_Origin = 240
+ Operand = 241
+ Left = 242
+ Right = 243
+ Unit_Name = 244
+ Name = 245
+ Group_Template_Name = 246
+ Name_Staticness = 247
+ Prefix = 248
+ Signature_Prefix = 249
+ External_Pathname = 250
+ Pathname_Suffix = 251
+ Pathname_Expression = 252
+ In_Formal_Flag = 253
+ Slice_Subtype = 254
+ Suffix = 255
+ Index_Subtype = 256
+ Parameter = 257
+ Attr_Chain = 258
+ Signal_Attribute_Declaration = 259
+ Actual_Type = 260
+ Actual_Type_Definition = 261
+ Association_Chain = 262
+ Individual_Association_Chain = 263
+ Subprogram_Association_Chain = 264
+ Aggregate_Info = 265
+ Sub_Aggregate_Info = 266
+ Aggr_Dynamic_Flag = 267
+ Aggr_Min_Length = 268
+ Aggr_Low_Limit = 269
+ Aggr_High_Limit = 270
+ Aggr_Others_Flag = 271
+ Aggr_Named_Flag = 272
+ Aggregate_Expand_Flag = 273
+ Association_Choices_Chain = 274
+ Case_Statement_Alternative_Chain = 275
+ Choice_Staticness = 276
+ Procedure_Call = 277
+ Implementation = 278
+ Parameter_Association_Chain = 279
+ Method_Object = 280
+ Subtype_Type_Mark = 281
+ Type_Conversion_Subtype = 282
+ Type_Mark = 283
+ File_Type_Mark = 284
+ Return_Type_Mark = 285
+ Has_Disconnect_Flag = 286
+ Has_Active_Flag = 287
+ Is_Within_Flag = 288
+ Type_Marks_List = 289
+ Implicit_Alias_Flag = 290
+ Alias_Signature = 291
+ Attribute_Signature = 292
+ Overload_List = 293
+ Simple_Name_Identifier = 294
+ Simple_Name_Subtype = 295
+ Protected_Type_Body = 296
+ Protected_Type_Declaration = 297
+ Use_Flag = 298
+ End_Has_Reserved_Id = 299
+ End_Has_Identifier = 300
+ End_Has_Postponed = 301
+ Has_Label = 302
+ Has_Begin = 303
+ Has_End = 304
+ Has_Is = 305
+ Has_Pure = 306
+ Has_Body = 307
+ Has_Parameter = 308
+ Has_Component = 309
+ Has_Identifier_List = 310
+ Has_Mode = 311
+ Has_Class = 312
+ Suspend_Flag = 313
+ Is_Ref = 314
+ Is_Forward_Ref = 315
+ Psl_Property = 316
+ Psl_Sequence = 317
+ Psl_Declaration = 318
+ Psl_Expression = 319
+ Psl_Boolean = 320
+ PSL_Clock = 321
+ PSL_NFA = 322
+ PSL_Nbr_States = 323
+ PSL_Clock_Sensitivity = 324
+ PSL_EOS_Flag = 325
Get_Boolean = libghdl.vhdl__nodes_meta__get_boolean
@@ -627,9 +626,6 @@ Has_We_Value =\
Has_Time =\
libghdl.vhdl__nodes_meta__has_time
-Has_Choice_Order =\
- libghdl.vhdl__nodes_meta__has_choice_order
-
Has_Associated_Expr =\
libghdl.vhdl__nodes_meta__has_associated_expr
diff --git a/src/vhdl/vhdl-nodes.adb b/src/vhdl/vhdl-nodes.adb
index 780f13b5b..0755f61dc 100644
--- a/src/vhdl/vhdl-nodes.adb
+++ b/src/vhdl/vhdl-nodes.adb
@@ -2247,22 +2247,6 @@ package body Vhdl.Nodes is
Set_Field3 (We, An_Iir);
end Set_Time;
- function Get_Choice_Order (Choice : Iir) return Int32 is
- begin
- pragma Assert (Choice /= Null_Iir);
- pragma Assert (Has_Choice_Order (Get_Kind (Choice)),
- "no field Choice_Order");
- return Int32'Val (Get_Field1 (Choice));
- end Get_Choice_Order;
-
- procedure Set_Choice_Order (Choice : Iir; Pos : Int32) is
- begin
- pragma Assert (Choice /= Null_Iir);
- pragma Assert (Has_Choice_Order (Get_Kind (Choice)),
- "no field Choice_Order");
- Set_Field1 (Choice, Int32'Pos (Pos));
- end Set_Choice_Order;
-
function Get_Associated_Expr (Target : Iir) return Iir is
begin
pragma Assert (Target /= Null_Iir);
diff --git a/src/vhdl/vhdl-nodes.ads b/src/vhdl/vhdl-nodes.ads
index 73cc7d4aa..7a2cfaf28 100644
--- a/src/vhdl/vhdl-nodes.ads
+++ b/src/vhdl/vhdl-nodes.ads
@@ -541,9 +541,6 @@ package Vhdl.Nodes is
-- associations have the same_alternative_flag set.
-- Get/Set_Chain (Field2)
--
- -- Ordered position of the choice from 1 to N. 0 is reserved for others.
- -- Get/Set_Choice_Order (Field1)
- --
-- Should be a simple_name.
-- Only for Iir_Kind_Choice_By_Name:
-- Get/Set_Choice_Name (Field5)
@@ -6354,10 +6351,6 @@ package Vhdl.Nodes is
function Get_Time (We : Iir_Waveform_Element) return Iir;
procedure Set_Time (We : Iir_Waveform_Element; An_Iir : Iir);
- -- Field: Field1 (pos)
- function Get_Choice_Order (Choice : Iir) return Int32;
- procedure Set_Choice_Order (Choice : Iir; Pos : Int32);
-
-- Node associated with a choice.
-- Field: Field3
function Get_Associated_Expr (Target : Iir) return Iir;
diff --git a/src/vhdl/vhdl-nodes_meta.adb b/src/vhdl/vhdl-nodes_meta.adb
index 4a933e382..002b60cc0 100644
--- a/src/vhdl/vhdl-nodes_meta.adb
+++ b/src/vhdl/vhdl-nodes_meta.adb
@@ -77,7 +77,6 @@ package body Vhdl.Nodes_Meta is
Field_After_Drivers_Flag => Type_Boolean,
Field_We_Value => Type_Iir,
Field_Time => Type_Iir,
- Field_Choice_Order => Type_Int32,
Field_Associated_Expr => Type_Iir,
Field_Associated_Block => Type_Iir,
Field_Associated_Chain => Type_Iir,
@@ -472,8 +471,6 @@ package body Vhdl.Nodes_Meta is
return "we_value";
when Field_Time =>
return "time";
- when Field_Choice_Order =>
- return "choice_order";
when Field_Associated_Expr =>
return "associated_expr";
when Field_Associated_Block =>
@@ -1682,8 +1679,6 @@ package body Vhdl.Nodes_Meta is
return Attr_None;
when Field_Time =>
return Attr_None;
- when Field_Choice_Order =>
- return Attr_None;
when Field_Associated_Expr =>
return Attr_None;
when Field_Associated_Block =>
@@ -2397,7 +2392,6 @@ package body Vhdl.Nodes_Meta is
Field_Chain,
Field_Actual,
-- Iir_Kind_Choice_By_Range
- Field_Choice_Order,
Field_Same_Alternative_Flag,
Field_Element_Type_Flag,
Field_Choice_Staticness,
@@ -2407,7 +2401,6 @@ package body Vhdl.Nodes_Meta is
Field_Associated_Expr,
Field_Associated_Chain,
-- Iir_Kind_Choice_By_Expression
- Field_Choice_Order,
Field_Same_Alternative_Flag,
Field_Element_Type_Flag,
Field_Choice_Staticness,
@@ -2417,7 +2410,6 @@ package body Vhdl.Nodes_Meta is
Field_Associated_Expr,
Field_Associated_Chain,
-- Iir_Kind_Choice_By_Others
- Field_Choice_Order,
Field_Same_Alternative_Flag,
Field_Element_Type_Flag,
Field_Parent,
@@ -2425,7 +2417,6 @@ package body Vhdl.Nodes_Meta is
Field_Associated_Expr,
Field_Associated_Chain,
-- Iir_Kind_Choice_By_None
- Field_Choice_Order,
Field_Same_Alternative_Flag,
Field_Element_Type_Flag,
Field_Parent,
@@ -2433,7 +2424,6 @@ package body Vhdl.Nodes_Meta is
Field_Associated_Expr,
Field_Associated_Chain,
-- Iir_Kind_Choice_By_Name
- Field_Choice_Order,
Field_Same_Alternative_Flag,
Field_Element_Type_Flag,
Field_Parent,
@@ -4492,253 +4482,253 @@ package body Vhdl.Nodes_Meta is
Iir_Kind_Association_Element_Package => 131,
Iir_Kind_Association_Element_Type => 139,
Iir_Kind_Association_Element_Subprogram => 145,
- Iir_Kind_Choice_By_Range => 154,
- Iir_Kind_Choice_By_Expression => 163,
- Iir_Kind_Choice_By_Others => 170,
- Iir_Kind_Choice_By_None => 177,
- Iir_Kind_Choice_By_Name => 185,
- Iir_Kind_Entity_Aspect_Entity => 187,
- Iir_Kind_Entity_Aspect_Configuration => 188,
- Iir_Kind_Entity_Aspect_Open => 188,
- Iir_Kind_Block_Configuration => 194,
- Iir_Kind_Block_Header => 198,
- Iir_Kind_Component_Configuration => 205,
- Iir_Kind_Binding_Indication => 209,
- Iir_Kind_Entity_Class => 211,
- Iir_Kind_Attribute_Value => 219,
- Iir_Kind_Signature => 222,
- Iir_Kind_Aggregate_Info => 229,
- Iir_Kind_Procedure_Call => 233,
- Iir_Kind_Record_Element_Constraint => 239,
- Iir_Kind_Array_Element_Resolution => 241,
- Iir_Kind_Record_Resolution => 242,
- Iir_Kind_Record_Element_Resolution => 245,
- Iir_Kind_Attribute_Specification => 253,
- Iir_Kind_Disconnection_Specification => 259,
- Iir_Kind_Configuration_Specification => 265,
- Iir_Kind_Access_Type_Definition => 273,
- Iir_Kind_Incomplete_Type_Definition => 281,
- Iir_Kind_Interface_Type_Definition => 288,
- Iir_Kind_File_Type_Definition => 295,
- Iir_Kind_Protected_Type_Declaration => 304,
- Iir_Kind_Record_Type_Definition => 315,
- Iir_Kind_Array_Type_Definition => 327,
- Iir_Kind_Array_Subtype_Definition => 342,
- Iir_Kind_Record_Subtype_Definition => 355,
- Iir_Kind_Access_Subtype_Definition => 363,
- Iir_Kind_Physical_Subtype_Definition => 373,
- Iir_Kind_Floating_Subtype_Definition => 384,
- Iir_Kind_Integer_Subtype_Definition => 394,
- Iir_Kind_Enumeration_Subtype_Definition => 404,
- Iir_Kind_Enumeration_Type_Definition => 415,
- Iir_Kind_Integer_Type_Definition => 423,
- Iir_Kind_Floating_Type_Definition => 431,
- Iir_Kind_Physical_Type_Definition => 442,
- Iir_Kind_Range_Expression => 450,
- Iir_Kind_Protected_Type_Body => 457,
- Iir_Kind_Wildcard_Type_Definition => 462,
- Iir_Kind_Subtype_Definition => 469,
- Iir_Kind_Scalar_Nature_Definition => 473,
- Iir_Kind_Overload_List => 474,
- Iir_Kind_Type_Declaration => 481,
- Iir_Kind_Anonymous_Type_Declaration => 487,
- Iir_Kind_Subtype_Declaration => 494,
- Iir_Kind_Nature_Declaration => 500,
- Iir_Kind_Subnature_Declaration => 506,
- Iir_Kind_Entity_Declaration => 518,
- Iir_Kind_Configuration_Declaration => 527,
- Iir_Kind_Context_Declaration => 533,
- Iir_Kind_Package_Declaration => 548,
- Iir_Kind_Package_Instantiation_Declaration => 562,
- Iir_Kind_Package_Body => 570,
- Iir_Kind_Architecture_Body => 582,
- Iir_Kind_Package_Header => 584,
- Iir_Kind_Unit_Declaration => 593,
- Iir_Kind_Library_Declaration => 600,
- Iir_Kind_Component_Declaration => 610,
- Iir_Kind_Attribute_Declaration => 617,
- Iir_Kind_Group_Template_Declaration => 623,
- Iir_Kind_Group_Declaration => 630,
- Iir_Kind_Element_Declaration => 637,
- Iir_Kind_Non_Object_Alias_Declaration => 645,
- Iir_Kind_Psl_Declaration => 653,
- Iir_Kind_Psl_Endpoint_Declaration => 667,
- Iir_Kind_Terminal_Declaration => 674,
- Iir_Kind_Free_Quantity_Declaration => 685,
- Iir_Kind_Across_Quantity_Declaration => 697,
- Iir_Kind_Through_Quantity_Declaration => 709,
- Iir_Kind_Enumeration_Literal => 720,
- Iir_Kind_Function_Declaration => 745,
- Iir_Kind_Procedure_Declaration => 769,
- Iir_Kind_Function_Body => 779,
- Iir_Kind_Procedure_Body => 790,
- Iir_Kind_Object_Alias_Declaration => 801,
- Iir_Kind_File_Declaration => 815,
- Iir_Kind_Guard_Signal_Declaration => 828,
- Iir_Kind_Signal_Declaration => 845,
- Iir_Kind_Variable_Declaration => 858,
- Iir_Kind_Constant_Declaration => 872,
- Iir_Kind_Iterator_Declaration => 883,
- Iir_Kind_Interface_Constant_Declaration => 899,
- Iir_Kind_Interface_Variable_Declaration => 915,
- Iir_Kind_Interface_Signal_Declaration => 936,
- Iir_Kind_Interface_File_Declaration => 952,
- Iir_Kind_Interface_Type_Declaration => 962,
- Iir_Kind_Interface_Package_Declaration => 974,
- Iir_Kind_Interface_Function_Declaration => 991,
- Iir_Kind_Interface_Procedure_Declaration => 1004,
- Iir_Kind_Anonymous_Signal_Declaration => 1012,
- Iir_Kind_Signal_Attribute_Declaration => 1015,
- Iir_Kind_Identity_Operator => 1019,
- Iir_Kind_Negation_Operator => 1023,
- Iir_Kind_Absolute_Operator => 1027,
- Iir_Kind_Not_Operator => 1031,
- Iir_Kind_Implicit_Condition_Operator => 1035,
- Iir_Kind_Condition_Operator => 1039,
- Iir_Kind_Reduction_And_Operator => 1043,
- Iir_Kind_Reduction_Or_Operator => 1047,
- Iir_Kind_Reduction_Nand_Operator => 1051,
- Iir_Kind_Reduction_Nor_Operator => 1055,
- Iir_Kind_Reduction_Xor_Operator => 1059,
- Iir_Kind_Reduction_Xnor_Operator => 1063,
- Iir_Kind_And_Operator => 1068,
- Iir_Kind_Or_Operator => 1073,
- Iir_Kind_Nand_Operator => 1078,
- Iir_Kind_Nor_Operator => 1083,
- Iir_Kind_Xor_Operator => 1088,
- Iir_Kind_Xnor_Operator => 1093,
- Iir_Kind_Equality_Operator => 1098,
- Iir_Kind_Inequality_Operator => 1103,
- Iir_Kind_Less_Than_Operator => 1108,
- Iir_Kind_Less_Than_Or_Equal_Operator => 1113,
- Iir_Kind_Greater_Than_Operator => 1118,
- Iir_Kind_Greater_Than_Or_Equal_Operator => 1123,
- Iir_Kind_Match_Equality_Operator => 1128,
- Iir_Kind_Match_Inequality_Operator => 1133,
- Iir_Kind_Match_Less_Than_Operator => 1138,
- Iir_Kind_Match_Less_Than_Or_Equal_Operator => 1143,
- Iir_Kind_Match_Greater_Than_Operator => 1148,
- Iir_Kind_Match_Greater_Than_Or_Equal_Operator => 1153,
- Iir_Kind_Sll_Operator => 1158,
- Iir_Kind_Sla_Operator => 1163,
- Iir_Kind_Srl_Operator => 1168,
- Iir_Kind_Sra_Operator => 1173,
- Iir_Kind_Rol_Operator => 1178,
- Iir_Kind_Ror_Operator => 1183,
- Iir_Kind_Addition_Operator => 1188,
- Iir_Kind_Substraction_Operator => 1193,
- Iir_Kind_Concatenation_Operator => 1198,
- Iir_Kind_Multiplication_Operator => 1203,
- Iir_Kind_Division_Operator => 1208,
- Iir_Kind_Modulus_Operator => 1213,
- Iir_Kind_Remainder_Operator => 1218,
- Iir_Kind_Exponentiation_Operator => 1223,
- Iir_Kind_Function_Call => 1231,
- Iir_Kind_Aggregate => 1238,
- Iir_Kind_Parenthesis_Expression => 1241,
- Iir_Kind_Qualified_Expression => 1245,
- Iir_Kind_Type_Conversion => 1250,
- Iir_Kind_Allocator_By_Expression => 1254,
- Iir_Kind_Allocator_By_Subtype => 1259,
- Iir_Kind_Selected_Element => 1267,
- Iir_Kind_Dereference => 1272,
- Iir_Kind_Implicit_Dereference => 1277,
- Iir_Kind_Slice_Name => 1284,
- Iir_Kind_Indexed_Name => 1290,
- Iir_Kind_Psl_Expression => 1292,
- Iir_Kind_Sensitized_Process_Statement => 1313,
- Iir_Kind_Process_Statement => 1333,
- Iir_Kind_Concurrent_Simple_Signal_Assignment => 1345,
- Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1357,
- Iir_Kind_Concurrent_Selected_Signal_Assignment => 1370,
- Iir_Kind_Concurrent_Assertion_Statement => 1378,
- Iir_Kind_Concurrent_Procedure_Call_Statement => 1385,
- Iir_Kind_Psl_Assert_Directive => 1398,
- Iir_Kind_Psl_Assume_Directive => 1409,
- Iir_Kind_Psl_Cover_Directive => 1421,
- Iir_Kind_Psl_Restrict_Directive => 1432,
- Iir_Kind_Block_Statement => 1446,
- Iir_Kind_If_Generate_Statement => 1457,
- Iir_Kind_Case_Generate_Statement => 1466,
- Iir_Kind_For_Generate_Statement => 1475,
- Iir_Kind_Component_Instantiation_Statement => 1486,
- Iir_Kind_Psl_Default_Clock => 1490,
- Iir_Kind_Simple_Simultaneous_Statement => 1497,
- Iir_Kind_Generate_Statement_Body => 1508,
- Iir_Kind_If_Generate_Else_Clause => 1514,
- Iir_Kind_Simple_Signal_Assignment_Statement => 1524,
- Iir_Kind_Conditional_Signal_Assignment_Statement => 1534,
- Iir_Kind_Selected_Waveform_Assignment_Statement => 1545,
- Iir_Kind_Null_Statement => 1549,
- Iir_Kind_Assertion_Statement => 1556,
- Iir_Kind_Report_Statement => 1562,
- Iir_Kind_Wait_Statement => 1570,
- Iir_Kind_Variable_Assignment_Statement => 1577,
- Iir_Kind_Conditional_Variable_Assignment_Statement => 1584,
- Iir_Kind_Return_Statement => 1590,
- Iir_Kind_For_Loop_Statement => 1599,
- Iir_Kind_While_Loop_Statement => 1608,
- Iir_Kind_Next_Statement => 1615,
- Iir_Kind_Exit_Statement => 1622,
- Iir_Kind_Case_Statement => 1630,
- Iir_Kind_Procedure_Call_Statement => 1636,
- Iir_Kind_If_Statement => 1646,
- Iir_Kind_Elsif => 1652,
- Iir_Kind_Character_Literal => 1660,
- Iir_Kind_Simple_Name => 1668,
- Iir_Kind_Selected_Name => 1677,
- Iir_Kind_Operator_Symbol => 1683,
- Iir_Kind_Reference_Name => 1687,
- Iir_Kind_External_Constant_Name => 1695,
- Iir_Kind_External_Signal_Name => 1703,
- Iir_Kind_External_Variable_Name => 1712,
- Iir_Kind_Selected_By_All_Name => 1718,
- Iir_Kind_Parenthesis_Name => 1723,
- Iir_Kind_Package_Pathname => 1727,
- Iir_Kind_Absolute_Pathname => 1728,
- Iir_Kind_Relative_Pathname => 1729,
- Iir_Kind_Pathname_Element => 1734,
- Iir_Kind_Base_Attribute => 1736,
- Iir_Kind_Subtype_Attribute => 1741,
- Iir_Kind_Element_Attribute => 1746,
- Iir_Kind_Left_Type_Attribute => 1751,
- Iir_Kind_Right_Type_Attribute => 1756,
- Iir_Kind_High_Type_Attribute => 1761,
- Iir_Kind_Low_Type_Attribute => 1766,
- Iir_Kind_Ascending_Type_Attribute => 1771,
- Iir_Kind_Image_Attribute => 1777,
- Iir_Kind_Value_Attribute => 1783,
- Iir_Kind_Pos_Attribute => 1789,
- Iir_Kind_Val_Attribute => 1795,
- Iir_Kind_Succ_Attribute => 1801,
- Iir_Kind_Pred_Attribute => 1807,
- Iir_Kind_Leftof_Attribute => 1813,
- Iir_Kind_Rightof_Attribute => 1819,
- Iir_Kind_Delayed_Attribute => 1828,
- Iir_Kind_Stable_Attribute => 1837,
- Iir_Kind_Quiet_Attribute => 1846,
- Iir_Kind_Transaction_Attribute => 1855,
- Iir_Kind_Event_Attribute => 1859,
- Iir_Kind_Active_Attribute => 1863,
- Iir_Kind_Last_Event_Attribute => 1867,
- Iir_Kind_Last_Active_Attribute => 1871,
- Iir_Kind_Last_Value_Attribute => 1875,
- Iir_Kind_Driving_Attribute => 1879,
- Iir_Kind_Driving_Value_Attribute => 1883,
- Iir_Kind_Behavior_Attribute => 1883,
- Iir_Kind_Structure_Attribute => 1883,
- Iir_Kind_Simple_Name_Attribute => 1890,
- Iir_Kind_Instance_Name_Attribute => 1895,
- Iir_Kind_Path_Name_Attribute => 1900,
- Iir_Kind_Left_Array_Attribute => 1907,
- Iir_Kind_Right_Array_Attribute => 1914,
- Iir_Kind_High_Array_Attribute => 1921,
- Iir_Kind_Low_Array_Attribute => 1928,
- Iir_Kind_Length_Array_Attribute => 1935,
- Iir_Kind_Ascending_Array_Attribute => 1942,
- Iir_Kind_Range_Array_Attribute => 1949,
- Iir_Kind_Reverse_Range_Array_Attribute => 1956,
- Iir_Kind_Attribute_Name => 1965
+ Iir_Kind_Choice_By_Range => 153,
+ Iir_Kind_Choice_By_Expression => 161,
+ Iir_Kind_Choice_By_Others => 167,
+ Iir_Kind_Choice_By_None => 173,
+ Iir_Kind_Choice_By_Name => 180,
+ Iir_Kind_Entity_Aspect_Entity => 182,
+ Iir_Kind_Entity_Aspect_Configuration => 183,
+ Iir_Kind_Entity_Aspect_Open => 183,
+ Iir_Kind_Block_Configuration => 189,
+ Iir_Kind_Block_Header => 193,
+ Iir_Kind_Component_Configuration => 200,
+ Iir_Kind_Binding_Indication => 204,
+ Iir_Kind_Entity_Class => 206,
+ Iir_Kind_Attribute_Value => 214,
+ Iir_Kind_Signature => 217,
+ Iir_Kind_Aggregate_Info => 224,
+ Iir_Kind_Procedure_Call => 228,
+ Iir_Kind_Record_Element_Constraint => 234,
+ Iir_Kind_Array_Element_Resolution => 236,
+ Iir_Kind_Record_Resolution => 237,
+ Iir_Kind_Record_Element_Resolution => 240,
+ Iir_Kind_Attribute_Specification => 248,
+ Iir_Kind_Disconnection_Specification => 254,
+ Iir_Kind_Configuration_Specification => 260,
+ Iir_Kind_Access_Type_Definition => 268,
+ Iir_Kind_Incomplete_Type_Definition => 276,
+ Iir_Kind_Interface_Type_Definition => 283,
+ Iir_Kind_File_Type_Definition => 290,
+ Iir_Kind_Protected_Type_Declaration => 299,
+ Iir_Kind_Record_Type_Definition => 310,
+ Iir_Kind_Array_Type_Definition => 322,
+ Iir_Kind_Array_Subtype_Definition => 337,
+ Iir_Kind_Record_Subtype_Definition => 350,
+ Iir_Kind_Access_Subtype_Definition => 358,
+ Iir_Kind_Physical_Subtype_Definition => 368,
+ Iir_Kind_Floating_Subtype_Definition => 379,
+ Iir_Kind_Integer_Subtype_Definition => 389,
+ Iir_Kind_Enumeration_Subtype_Definition => 399,
+ Iir_Kind_Enumeration_Type_Definition => 410,
+ Iir_Kind_Integer_Type_Definition => 418,
+ Iir_Kind_Floating_Type_Definition => 426,
+ Iir_Kind_Physical_Type_Definition => 437,
+ Iir_Kind_Range_Expression => 445,
+ Iir_Kind_Protected_Type_Body => 452,
+ Iir_Kind_Wildcard_Type_Definition => 457,
+ Iir_Kind_Subtype_Definition => 464,
+ Iir_Kind_Scalar_Nature_Definition => 468,
+ Iir_Kind_Overload_List => 469,
+ Iir_Kind_Type_Declaration => 476,
+ Iir_Kind_Anonymous_Type_Declaration => 482,
+ Iir_Kind_Subtype_Declaration => 489,
+ Iir_Kind_Nature_Declaration => 495,
+ Iir_Kind_Subnature_Declaration => 501,
+ Iir_Kind_Entity_Declaration => 513,
+ Iir_Kind_Configuration_Declaration => 522,
+ Iir_Kind_Context_Declaration => 528,
+ Iir_Kind_Package_Declaration => 543,
+ Iir_Kind_Package_Instantiation_Declaration => 557,
+ Iir_Kind_Package_Body => 565,
+ Iir_Kind_Architecture_Body => 577,
+ Iir_Kind_Package_Header => 579,
+ Iir_Kind_Unit_Declaration => 588,
+ Iir_Kind_Library_Declaration => 595,
+ Iir_Kind_Component_Declaration => 605,
+ Iir_Kind_Attribute_Declaration => 612,
+ Iir_Kind_Group_Template_Declaration => 618,
+ Iir_Kind_Group_Declaration => 625,
+ Iir_Kind_Element_Declaration => 632,
+ Iir_Kind_Non_Object_Alias_Declaration => 640,
+ Iir_Kind_Psl_Declaration => 648,
+ Iir_Kind_Psl_Endpoint_Declaration => 662,
+ Iir_Kind_Terminal_Declaration => 669,
+ Iir_Kind_Free_Quantity_Declaration => 680,
+ Iir_Kind_Across_Quantity_Declaration => 692,
+ Iir_Kind_Through_Quantity_Declaration => 704,
+ Iir_Kind_Enumeration_Literal => 715,
+ Iir_Kind_Function_Declaration => 740,
+ Iir_Kind_Procedure_Declaration => 764,
+ Iir_Kind_Function_Body => 774,
+ Iir_Kind_Procedure_Body => 785,
+ Iir_Kind_Object_Alias_Declaration => 796,
+ Iir_Kind_File_Declaration => 810,
+ Iir_Kind_Guard_Signal_Declaration => 823,
+ Iir_Kind_Signal_Declaration => 840,
+ Iir_Kind_Variable_Declaration => 853,
+ Iir_Kind_Constant_Declaration => 867,
+ Iir_Kind_Iterator_Declaration => 878,
+ Iir_Kind_Interface_Constant_Declaration => 894,
+ Iir_Kind_Interface_Variable_Declaration => 910,
+ Iir_Kind_Interface_Signal_Declaration => 931,
+ Iir_Kind_Interface_File_Declaration => 947,
+ Iir_Kind_Interface_Type_Declaration => 957,
+ Iir_Kind_Interface_Package_Declaration => 969,
+ Iir_Kind_Interface_Function_Declaration => 986,
+ Iir_Kind_Interface_Procedure_Declaration => 999,
+ Iir_Kind_Anonymous_Signal_Declaration => 1007,
+ Iir_Kind_Signal_Attribute_Declaration => 1010,
+ Iir_Kind_Identity_Operator => 1014,
+ Iir_Kind_Negation_Operator => 1018,
+ Iir_Kind_Absolute_Operator => 1022,
+ Iir_Kind_Not_Operator => 1026,
+ Iir_Kind_Implicit_Condition_Operator => 1030,
+ Iir_Kind_Condition_Operator => 1034,
+ Iir_Kind_Reduction_And_Operator => 1038,
+ Iir_Kind_Reduction_Or_Operator => 1042,
+ Iir_Kind_Reduction_Nand_Operator => 1046,
+ Iir_Kind_Reduction_Nor_Operator => 1050,
+ Iir_Kind_Reduction_Xor_Operator => 1054,
+ Iir_Kind_Reduction_Xnor_Operator => 1058,
+ Iir_Kind_And_Operator => 1063,
+ Iir_Kind_Or_Operator => 1068,
+ Iir_Kind_Nand_Operator => 1073,
+ Iir_Kind_Nor_Operator => 1078,
+ Iir_Kind_Xor_Operator => 1083,
+ Iir_Kind_Xnor_Operator => 1088,
+ Iir_Kind_Equality_Operator => 1093,
+ Iir_Kind_Inequality_Operator => 1098,
+ Iir_Kind_Less_Than_Operator => 1103,
+ Iir_Kind_Less_Than_Or_Equal_Operator => 1108,
+ Iir_Kind_Greater_Than_Operator => 1113,
+ Iir_Kind_Greater_Than_Or_Equal_Operator => 1118,
+ Iir_Kind_Match_Equality_Operator => 1123,
+ Iir_Kind_Match_Inequality_Operator => 1128,
+ Iir_Kind_Match_Less_Than_Operator => 1133,
+ Iir_Kind_Match_Less_Than_Or_Equal_Operator => 1138,
+ Iir_Kind_Match_Greater_Than_Operator => 1143,
+ Iir_Kind_Match_Greater_Than_Or_Equal_Operator => 1148,
+ Iir_Kind_Sll_Operator => 1153,
+ Iir_Kind_Sla_Operator => 1158,
+ Iir_Kind_Srl_Operator => 1163,
+ Iir_Kind_Sra_Operator => 1168,
+ Iir_Kind_Rol_Operator => 1173,
+ Iir_Kind_Ror_Operator => 1178,
+ Iir_Kind_Addition_Operator => 1183,
+ Iir_Kind_Substraction_Operator => 1188,
+ Iir_Kind_Concatenation_Operator => 1193,
+ Iir_Kind_Multiplication_Operator => 1198,
+ Iir_Kind_Division_Operator => 1203,
+ Iir_Kind_Modulus_Operator => 1208,
+ Iir_Kind_Remainder_Operator => 1213,
+ Iir_Kind_Exponentiation_Operator => 1218,
+ Iir_Kind_Function_Call => 1226,
+ Iir_Kind_Aggregate => 1233,
+ Iir_Kind_Parenthesis_Expression => 1236,
+ Iir_Kind_Qualified_Expression => 1240,
+ Iir_Kind_Type_Conversion => 1245,
+ Iir_Kind_Allocator_By_Expression => 1249,
+ Iir_Kind_Allocator_By_Subtype => 1254,
+ Iir_Kind_Selected_Element => 1262,
+ Iir_Kind_Dereference => 1267,
+ Iir_Kind_Implicit_Dereference => 1272,
+ Iir_Kind_Slice_Name => 1279,
+ Iir_Kind_Indexed_Name => 1285,
+ Iir_Kind_Psl_Expression => 1287,
+ Iir_Kind_Sensitized_Process_Statement => 1308,
+ Iir_Kind_Process_Statement => 1328,
+ Iir_Kind_Concurrent_Simple_Signal_Assignment => 1340,
+ Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1352,
+ Iir_Kind_Concurrent_Selected_Signal_Assignment => 1365,
+ Iir_Kind_Concurrent_Assertion_Statement => 1373,
+ Iir_Kind_Concurrent_Procedure_Call_Statement => 1380,
+ Iir_Kind_Psl_Assert_Directive => 1393,
+ Iir_Kind_Psl_Assume_Directive => 1404,
+ Iir_Kind_Psl_Cover_Directive => 1416,
+ Iir_Kind_Psl_Restrict_Directive => 1427,
+ Iir_Kind_Block_Statement => 1441,
+ Iir_Kind_If_Generate_Statement => 1452,
+ Iir_Kind_Case_Generate_Statement => 1461,
+ Iir_Kind_For_Generate_Statement => 1470,
+ Iir_Kind_Component_Instantiation_Statement => 1481,
+ Iir_Kind_Psl_Default_Clock => 1485,
+ Iir_Kind_Simple_Simultaneous_Statement => 1492,
+ Iir_Kind_Generate_Statement_Body => 1503,
+ Iir_Kind_If_Generate_Else_Clause => 1509,
+ Iir_Kind_Simple_Signal_Assignment_Statement => 1519,
+ Iir_Kind_Conditional_Signal_Assignment_Statement => 1529,
+ Iir_Kind_Selected_Waveform_Assignment_Statement => 1540,
+ Iir_Kind_Null_Statement => 1544,
+ Iir_Kind_Assertion_Statement => 1551,
+ Iir_Kind_Report_Statement => 1557,
+ Iir_Kind_Wait_Statement => 1565,
+ Iir_Kind_Variable_Assignment_Statement => 1572,
+ Iir_Kind_Conditional_Variable_Assignment_Statement => 1579,
+ Iir_Kind_Return_Statement => 1585,
+ Iir_Kind_For_Loop_Statement => 1594,
+ Iir_Kind_While_Loop_Statement => 1603,
+ Iir_Kind_Next_Statement => 1610,
+ Iir_Kind_Exit_Statement => 1617,
+ Iir_Kind_Case_Statement => 1625,
+ Iir_Kind_Procedure_Call_Statement => 1631,
+ Iir_Kind_If_Statement => 1641,
+ Iir_Kind_Elsif => 1647,
+ Iir_Kind_Character_Literal => 1655,
+ Iir_Kind_Simple_Name => 1663,
+ Iir_Kind_Selected_Name => 1672,
+ Iir_Kind_Operator_Symbol => 1678,
+ Iir_Kind_Reference_Name => 1682,
+ Iir_Kind_External_Constant_Name => 1690,
+ Iir_Kind_External_Signal_Name => 1698,
+ Iir_Kind_External_Variable_Name => 1707,
+ Iir_Kind_Selected_By_All_Name => 1713,
+ Iir_Kind_Parenthesis_Name => 1718,
+ Iir_Kind_Package_Pathname => 1722,
+ Iir_Kind_Absolute_Pathname => 1723,
+ Iir_Kind_Relative_Pathname => 1724,
+ Iir_Kind_Pathname_Element => 1729,
+ Iir_Kind_Base_Attribute => 1731,
+ Iir_Kind_Subtype_Attribute => 1736,
+ Iir_Kind_Element_Attribute => 1741,
+ Iir_Kind_Left_Type_Attribute => 1746,
+ Iir_Kind_Right_Type_Attribute => 1751,
+ Iir_Kind_High_Type_Attribute => 1756,
+ Iir_Kind_Low_Type_Attribute => 1761,
+ Iir_Kind_Ascending_Type_Attribute => 1766,
+ Iir_Kind_Image_Attribute => 1772,
+ Iir_Kind_Value_Attribute => 1778,
+ Iir_Kind_Pos_Attribute => 1784,
+ Iir_Kind_Val_Attribute => 1790,
+ Iir_Kind_Succ_Attribute => 1796,
+ Iir_Kind_Pred_Attribute => 1802,
+ Iir_Kind_Leftof_Attribute => 1808,
+ Iir_Kind_Rightof_Attribute => 1814,
+ Iir_Kind_Delayed_Attribute => 1823,
+ Iir_Kind_Stable_Attribute => 1832,
+ Iir_Kind_Quiet_Attribute => 1841,
+ Iir_Kind_Transaction_Attribute => 1850,
+ Iir_Kind_Event_Attribute => 1854,
+ Iir_Kind_Active_Attribute => 1858,
+ Iir_Kind_Last_Event_Attribute => 1862,
+ Iir_Kind_Last_Active_Attribute => 1866,
+ Iir_Kind_Last_Value_Attribute => 1870,
+ Iir_Kind_Driving_Attribute => 1874,
+ Iir_Kind_Driving_Value_Attribute => 1878,
+ Iir_Kind_Behavior_Attribute => 1878,
+ Iir_Kind_Structure_Attribute => 1878,
+ Iir_Kind_Simple_Name_Attribute => 1885,
+ Iir_Kind_Instance_Name_Attribute => 1890,
+ Iir_Kind_Path_Name_Attribute => 1895,
+ Iir_Kind_Left_Array_Attribute => 1902,
+ Iir_Kind_Right_Array_Attribute => 1909,
+ Iir_Kind_High_Array_Attribute => 1916,
+ Iir_Kind_Low_Array_Attribute => 1923,
+ Iir_Kind_Length_Array_Attribute => 1930,
+ Iir_Kind_Ascending_Array_Attribute => 1937,
+ Iir_Kind_Range_Array_Attribute => 1944,
+ Iir_Kind_Reverse_Range_Array_Attribute => 1951,
+ Iir_Kind_Attribute_Name => 1960
);
function Get_Fields_First (K : Iir_Kind) return Fields_Index is
@@ -6349,8 +6339,6 @@ package body Vhdl.Nodes_Meta is
return Get_String_Length (N);
when Field_Literal_Length =>
return Get_Literal_Length (N);
- when Field_Choice_Order =>
- return Get_Choice_Order (N);
when Field_PSL_Nbr_States =>
return Get_PSL_Nbr_States (N);
when others =>
@@ -6371,8 +6359,6 @@ package body Vhdl.Nodes_Meta is
Set_String_Length (N, V);
when Field_Literal_Length =>
Set_Literal_Length (N, V);
- when Field_Choice_Order =>
- Set_Choice_Order (N, V);
when Field_PSL_Nbr_States =>
Set_PSL_Nbr_States (N, V);
when others =>
@@ -7105,20 +7091,6 @@ package body Vhdl.Nodes_Meta is
return K = Iir_Kind_Waveform_Element;
end Has_Time;
- function Has_Choice_Order (K : Iir_Kind) return Boolean is
- begin
- case K is
- when 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 =>
- return True;
- when others =>
- return False;
- end case;
- end Has_Choice_Order;
-
function Has_Associated_Expr (K : Iir_Kind) return Boolean is
begin
case K is
diff --git a/src/vhdl/vhdl-nodes_meta.ads b/src/vhdl/vhdl-nodes_meta.ads
index c9cfe3a99..34b54e8af 100644
--- a/src/vhdl/vhdl-nodes_meta.ads
+++ b/src/vhdl/vhdl-nodes_meta.ads
@@ -119,7 +119,6 @@ package Vhdl.Nodes_Meta is
Field_After_Drivers_Flag,
Field_We_Value,
Field_Time,
- Field_Choice_Order,
Field_Associated_Expr,
Field_Associated_Block,
Field_Associated_Chain,
@@ -648,7 +647,6 @@ package Vhdl.Nodes_Meta is
function Has_After_Drivers_Flag (K : Iir_Kind) return Boolean;
function Has_We_Value (K : Iir_Kind) return Boolean;
function Has_Time (K : Iir_Kind) return Boolean;
- function Has_Choice_Order (K : Iir_Kind) return Boolean;
function Has_Associated_Expr (K : Iir_Kind) return Boolean;
function Has_Associated_Block (K : Iir_Kind) return Boolean;
function Has_Associated_Chain (K : Iir_Kind) return Boolean;
diff --git a/src/vhdl/vhdl-sem_expr.adb b/src/vhdl/vhdl-sem_expr.adb
index 4225d0802..90db825b5 100644
--- a/src/vhdl/vhdl-sem_expr.adb
+++ b/src/vhdl/vhdl-sem_expr.adb
@@ -2578,10 +2578,6 @@ package body Vhdl.Sem_Expr is
Fill_Choices_Array (Info, Choice_Chain);
Sort_Discrete_Choices (Info);
- for I in Info.Arr'Range loop
- Set_Choice_Order (Info.Arr (I), Int32 (I));
- end loop;
-
-- Set low and high bounds.
if Info.Nbr_Choices > 0 then
Low := Get_Assoc_Low (Info.Arr (Info.Arr'First));