aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2020-09-24 07:46:32 +0200
committerTristan Gingold <tgingold@free.fr>2020-09-24 18:24:02 +0200
commit6ea238c5598b6db98a8fc161a1493b4b3446ce90 (patch)
tree4194bb585840acb65c274b8e09def488a6efdc61
parentf55c4099343832270ee6d3c0f4aa374a72ec9111 (diff)
downloadghdl-6ea238c5598b6db98a8fc161a1493b4b3446ce90.tar.gz
ghdl-6ea238c5598b6db98a8fc161a1493b4b3446ce90.tar.bz2
ghdl-6ea238c5598b6db98a8fc161a1493b4b3446ce90.zip
vhdl: parse subprogram instantiations. For #1470
-rw-r--r--python/libghdl/thin/vhdl/nodes.py917
-rw-r--r--python/libghdl/thin/vhdl/nodes_meta.py1600
-rw-r--r--src/vhdl/vhdl-elocations.adb2
-rw-r--r--src/vhdl/vhdl-elocations.ads3
-rw-r--r--src/vhdl/vhdl-errors.adb4
-rw-r--r--src/vhdl/vhdl-nodes.adb18
-rw-r--r--src/vhdl/vhdl-nodes.ads30
-rw-r--r--src/vhdl/vhdl-nodes_meta.adb460
-rw-r--r--src/vhdl/vhdl-nodes_meta.ads3
-rw-r--r--src/vhdl/vhdl-parse.adb260
-rw-r--r--src/vhdl/vhdl-utils.adb2
11 files changed, 1902 insertions, 1397 deletions
diff --git a/python/libghdl/thin/vhdl/nodes.py b/python/libghdl/thin/vhdl/nodes.py
index 4509627ca..7179c9b23 100644
--- a/python/libghdl/thin/vhdl/nodes.py
+++ b/python/libghdl/thin/vhdl/nodes.py
@@ -10,6 +10,7 @@ Iir_Flist_Others = 1
Iir_Flist_All = 2
+
class Iir_Kind:
Unused = 0
Error = 1
@@ -123,207 +124,209 @@ class Iir_Kind:
Procedure_Declaration = 109
Function_Body = 110
Procedure_Body = 111
- Terminal_Declaration = 112
- Object_Alias_Declaration = 113
- Free_Quantity_Declaration = 114
- Spectrum_Quantity_Declaration = 115
- Noise_Quantity_Declaration = 116
- Across_Quantity_Declaration = 117
- Through_Quantity_Declaration = 118
- File_Declaration = 119
- Guard_Signal_Declaration = 120
- Signal_Declaration = 121
- Variable_Declaration = 122
- Constant_Declaration = 123
- Iterator_Declaration = 124
- Interface_Constant_Declaration = 125
- Interface_Variable_Declaration = 126
- Interface_Signal_Declaration = 127
- Interface_File_Declaration = 128
- Interface_Quantity_Declaration = 129
- Interface_Terminal_Declaration = 130
- Interface_Type_Declaration = 131
- Interface_Package_Declaration = 132
- Interface_Function_Declaration = 133
- Interface_Procedure_Declaration = 134
- Anonymous_Signal_Declaration = 135
- Signal_Attribute_Declaration = 136
- Identity_Operator = 137
- Negation_Operator = 138
- Absolute_Operator = 139
- Not_Operator = 140
- Implicit_Condition_Operator = 141
- Condition_Operator = 142
- Reduction_And_Operator = 143
- Reduction_Or_Operator = 144
- Reduction_Nand_Operator = 145
- Reduction_Nor_Operator = 146
- Reduction_Xor_Operator = 147
- Reduction_Xnor_Operator = 148
- And_Operator = 149
- Or_Operator = 150
- Nand_Operator = 151
- Nor_Operator = 152
- Xor_Operator = 153
- Xnor_Operator = 154
- Equality_Operator = 155
- Inequality_Operator = 156
- Less_Than_Operator = 157
- Less_Than_Or_Equal_Operator = 158
- Greater_Than_Operator = 159
- Greater_Than_Or_Equal_Operator = 160
- Match_Equality_Operator = 161
- Match_Inequality_Operator = 162
- Match_Less_Than_Operator = 163
- Match_Less_Than_Or_Equal_Operator = 164
- Match_Greater_Than_Operator = 165
- Match_Greater_Than_Or_Equal_Operator = 166
- Sll_Operator = 167
- Sla_Operator = 168
- Srl_Operator = 169
- Sra_Operator = 170
- Rol_Operator = 171
- Ror_Operator = 172
- Addition_Operator = 173
- Substraction_Operator = 174
- Concatenation_Operator = 175
- Multiplication_Operator = 176
- Division_Operator = 177
- Modulus_Operator = 178
- Remainder_Operator = 179
- Exponentiation_Operator = 180
- Function_Call = 181
- Aggregate = 182
- Parenthesis_Expression = 183
- Qualified_Expression = 184
- Type_Conversion = 185
- Allocator_By_Expression = 186
- Allocator_By_Subtype = 187
- Selected_Element = 188
- Dereference = 189
- Implicit_Dereference = 190
- Slice_Name = 191
- Indexed_Name = 192
- Psl_Prev = 193
- Psl_Stable = 194
- Psl_Rose = 195
- Psl_Fell = 196
- Psl_Expression = 197
- Sensitized_Process_Statement = 198
- Process_Statement = 199
- Concurrent_Simple_Signal_Assignment = 200
- Concurrent_Conditional_Signal_Assignment = 201
- Concurrent_Selected_Signal_Assignment = 202
- Concurrent_Assertion_Statement = 203
- Concurrent_Procedure_Call_Statement = 204
- Concurrent_Break_Statement = 205
- Psl_Assert_Directive = 206
- Psl_Assume_Directive = 207
- Psl_Cover_Directive = 208
- Psl_Restrict_Directive = 209
- Block_Statement = 210
- If_Generate_Statement = 211
- Case_Generate_Statement = 212
- For_Generate_Statement = 213
- Component_Instantiation_Statement = 214
- Psl_Default_Clock = 215
- Generate_Statement_Body = 216
- If_Generate_Else_Clause = 217
- Simple_Simultaneous_Statement = 218
- Simultaneous_Null_Statement = 219
- Simultaneous_Procedural_Statement = 220
- Simultaneous_Case_Statement = 221
- Simultaneous_If_Statement = 222
- Simultaneous_Elsif = 223
- Simple_Signal_Assignment_Statement = 224
- Conditional_Signal_Assignment_Statement = 225
- Selected_Waveform_Assignment_Statement = 226
- Signal_Force_Assignment_Statement = 227
- Signal_Release_Assignment_Statement = 228
- Null_Statement = 229
- Assertion_Statement = 230
- Report_Statement = 231
- Wait_Statement = 232
- Variable_Assignment_Statement = 233
- Conditional_Variable_Assignment_Statement = 234
- Return_Statement = 235
- For_Loop_Statement = 236
- While_Loop_Statement = 237
- Next_Statement = 238
- Exit_Statement = 239
- Case_Statement = 240
- Procedure_Call_Statement = 241
- Break_Statement = 242
- If_Statement = 243
- Elsif = 244
- Character_Literal = 245
- Simple_Name = 246
- Selected_Name = 247
- Operator_Symbol = 248
- Reference_Name = 249
- External_Constant_Name = 250
- External_Signal_Name = 251
- External_Variable_Name = 252
- Selected_By_All_Name = 253
- Parenthesis_Name = 254
- Package_Pathname = 255
- Absolute_Pathname = 256
- Relative_Pathname = 257
- Pathname_Element = 258
- Base_Attribute = 259
- Subtype_Attribute = 260
- Element_Attribute = 261
- Across_Attribute = 262
- Through_Attribute = 263
- Nature_Reference_Attribute = 264
- Left_Type_Attribute = 265
- Right_Type_Attribute = 266
- High_Type_Attribute = 267
- Low_Type_Attribute = 268
- Ascending_Type_Attribute = 269
- Image_Attribute = 270
- Value_Attribute = 271
- Pos_Attribute = 272
- Val_Attribute = 273
- Succ_Attribute = 274
- Pred_Attribute = 275
- Leftof_Attribute = 276
- Rightof_Attribute = 277
- Signal_Slew_Attribute = 278
- Quantity_Slew_Attribute = 279
- Ramp_Attribute = 280
- Zoh_Attribute = 281
- Ltf_Attribute = 282
- Ztf_Attribute = 283
- Dot_Attribute = 284
- Integ_Attribute = 285
- Above_Attribute = 286
- Quantity_Delayed_Attribute = 287
- Delayed_Attribute = 288
- Stable_Attribute = 289
- Quiet_Attribute = 290
- Transaction_Attribute = 291
- Event_Attribute = 292
- Active_Attribute = 293
- Last_Event_Attribute = 294
- Last_Active_Attribute = 295
- Last_Value_Attribute = 296
- Driving_Attribute = 297
- Driving_Value_Attribute = 298
- Behavior_Attribute = 299
- Structure_Attribute = 300
- Simple_Name_Attribute = 301
- Instance_Name_Attribute = 302
- Path_Name_Attribute = 303
- Left_Array_Attribute = 304
- Right_Array_Attribute = 305
- High_Array_Attribute = 306
- Low_Array_Attribute = 307
- Length_Array_Attribute = 308
- Ascending_Array_Attribute = 309
- Range_Array_Attribute = 310
- Reverse_Range_Array_Attribute = 311
- Attribute_Name = 312
+ Function_Instantiation_Declaration = 112
+ Procedure_Instantiation_Declaration = 113
+ Terminal_Declaration = 114
+ Object_Alias_Declaration = 115
+ Free_Quantity_Declaration = 116
+ Spectrum_Quantity_Declaration = 117
+ Noise_Quantity_Declaration = 118
+ Across_Quantity_Declaration = 119
+ Through_Quantity_Declaration = 120
+ File_Declaration = 121
+ Guard_Signal_Declaration = 122
+ Signal_Declaration = 123
+ Variable_Declaration = 124
+ Constant_Declaration = 125
+ Iterator_Declaration = 126
+ Interface_Constant_Declaration = 127
+ Interface_Variable_Declaration = 128
+ Interface_Signal_Declaration = 129
+ Interface_File_Declaration = 130
+ Interface_Quantity_Declaration = 131
+ Interface_Terminal_Declaration = 132
+ Interface_Type_Declaration = 133
+ Interface_Package_Declaration = 134
+ Interface_Function_Declaration = 135
+ Interface_Procedure_Declaration = 136
+ Anonymous_Signal_Declaration = 137
+ Signal_Attribute_Declaration = 138
+ Identity_Operator = 139
+ Negation_Operator = 140
+ Absolute_Operator = 141
+ Not_Operator = 142
+ Implicit_Condition_Operator = 143
+ Condition_Operator = 144
+ Reduction_And_Operator = 145
+ Reduction_Or_Operator = 146
+ Reduction_Nand_Operator = 147
+ Reduction_Nor_Operator = 148
+ Reduction_Xor_Operator = 149
+ Reduction_Xnor_Operator = 150
+ And_Operator = 151
+ Or_Operator = 152
+ Nand_Operator = 153
+ Nor_Operator = 154
+ Xor_Operator = 155
+ Xnor_Operator = 156
+ Equality_Operator = 157
+ Inequality_Operator = 158
+ Less_Than_Operator = 159
+ Less_Than_Or_Equal_Operator = 160
+ Greater_Than_Operator = 161
+ Greater_Than_Or_Equal_Operator = 162
+ Match_Equality_Operator = 163
+ Match_Inequality_Operator = 164
+ Match_Less_Than_Operator = 165
+ Match_Less_Than_Or_Equal_Operator = 166
+ Match_Greater_Than_Operator = 167
+ Match_Greater_Than_Or_Equal_Operator = 168
+ Sll_Operator = 169
+ Sla_Operator = 170
+ Srl_Operator = 171
+ Sra_Operator = 172
+ Rol_Operator = 173
+ Ror_Operator = 174
+ Addition_Operator = 175
+ Substraction_Operator = 176
+ Concatenation_Operator = 177
+ Multiplication_Operator = 178
+ Division_Operator = 179
+ Modulus_Operator = 180
+ Remainder_Operator = 181
+ Exponentiation_Operator = 182
+ Function_Call = 183
+ Aggregate = 184
+ Parenthesis_Expression = 185
+ Qualified_Expression = 186
+ Type_Conversion = 187
+ Allocator_By_Expression = 188
+ Allocator_By_Subtype = 189
+ Selected_Element = 190
+ Dereference = 191
+ Implicit_Dereference = 192
+ Slice_Name = 193
+ Indexed_Name = 194
+ Psl_Prev = 195
+ Psl_Stable = 196
+ Psl_Rose = 197
+ Psl_Fell = 198
+ Psl_Expression = 199
+ Sensitized_Process_Statement = 200
+ Process_Statement = 201
+ Concurrent_Simple_Signal_Assignment = 202
+ Concurrent_Conditional_Signal_Assignment = 203
+ Concurrent_Selected_Signal_Assignment = 204
+ Concurrent_Assertion_Statement = 205
+ Concurrent_Procedure_Call_Statement = 206
+ Concurrent_Break_Statement = 207
+ Psl_Assert_Directive = 208
+ Psl_Assume_Directive = 209
+ Psl_Cover_Directive = 210
+ Psl_Restrict_Directive = 211
+ Block_Statement = 212
+ If_Generate_Statement = 213
+ Case_Generate_Statement = 214
+ For_Generate_Statement = 215
+ Component_Instantiation_Statement = 216
+ Psl_Default_Clock = 217
+ Generate_Statement_Body = 218
+ If_Generate_Else_Clause = 219
+ Simple_Simultaneous_Statement = 220
+ Simultaneous_Null_Statement = 221
+ Simultaneous_Procedural_Statement = 222
+ Simultaneous_Case_Statement = 223
+ Simultaneous_If_Statement = 224
+ Simultaneous_Elsif = 225
+ Simple_Signal_Assignment_Statement = 226
+ Conditional_Signal_Assignment_Statement = 227
+ Selected_Waveform_Assignment_Statement = 228
+ Signal_Force_Assignment_Statement = 229
+ Signal_Release_Assignment_Statement = 230
+ Null_Statement = 231
+ Assertion_Statement = 232
+ Report_Statement = 233
+ Wait_Statement = 234
+ Variable_Assignment_Statement = 235
+ Conditional_Variable_Assignment_Statement = 236
+ Return_Statement = 237
+ For_Loop_Statement = 238
+ While_Loop_Statement = 239
+ Next_Statement = 240
+ Exit_Statement = 241
+ Case_Statement = 242
+ Procedure_Call_Statement = 243
+ Break_Statement = 244
+ If_Statement = 245
+ Elsif = 246
+ Character_Literal = 247
+ Simple_Name = 248
+ Selected_Name = 249
+ Operator_Symbol = 250
+ Reference_Name = 251
+ External_Constant_Name = 252
+ External_Signal_Name = 253
+ External_Variable_Name = 254
+ Selected_By_All_Name = 255
+ Parenthesis_Name = 256
+ Package_Pathname = 257
+ Absolute_Pathname = 258
+ Relative_Pathname = 259
+ Pathname_Element = 260
+ Base_Attribute = 261
+ Subtype_Attribute = 262
+ Element_Attribute = 263
+ Across_Attribute = 264
+ Through_Attribute = 265
+ Nature_Reference_Attribute = 266
+ Left_Type_Attribute = 267
+ Right_Type_Attribute = 268
+ High_Type_Attribute = 269
+ Low_Type_Attribute = 270
+ Ascending_Type_Attribute = 271
+ Image_Attribute = 272
+ Value_Attribute = 273
+ Pos_Attribute = 274
+ Val_Attribute = 275
+ Succ_Attribute = 276
+ Pred_Attribute = 277
+ Leftof_Attribute = 278
+ Rightof_Attribute = 279
+ Signal_Slew_Attribute = 280
+ Quantity_Slew_Attribute = 281
+ Ramp_Attribute = 282
+ Zoh_Attribute = 283
+ Ltf_Attribute = 284
+ Ztf_Attribute = 285
+ Dot_Attribute = 286
+ Integ_Attribute = 287
+ Above_Attribute = 288
+ Quantity_Delayed_Attribute = 289
+ Delayed_Attribute = 290
+ Stable_Attribute = 291
+ Quiet_Attribute = 292
+ Transaction_Attribute = 293
+ Event_Attribute = 294
+ Active_Attribute = 295
+ Last_Event_Attribute = 296
+ Last_Active_Attribute = 297
+ Last_Value_Attribute = 298
+ Driving_Attribute = 299
+ Driving_Value_Attribute = 300
+ Behavior_Attribute = 301
+ Structure_Attribute = 302
+ Simple_Name_Attribute = 303
+ Instance_Name_Attribute = 304
+ Path_Name_Attribute = 305
+ Left_Array_Attribute = 306
+ Right_Array_Attribute = 307
+ High_Array_Attribute = 308
+ Low_Array_Attribute = 309
+ Length_Array_Attribute = 310
+ Ascending_Array_Attribute = 311
+ Range_Array_Attribute = 312
+ Reverse_Range_Array_Attribute = 313
+ Attribute_Name = 314
class Iir_Kinds:
@@ -1027,6 +1030,7 @@ class Iir_Kinds:
]
+
class Iir_Mode:
Unknown_Mode = 0
Linkage_Mode = 1
@@ -1476,230 +1480,233 @@ class Iir_Predefined:
Ieee_Numeric_Std_Nor_Uns = 411
Ieee_Numeric_Std_Xor_Uns = 412
Ieee_Numeric_Std_Xnor_Uns = 413
- Ieee_Numeric_Std_Match_Log = 414
- Ieee_Numeric_Std_Match_Uns = 415
- Ieee_Numeric_Std_Match_Sgn = 416
- Ieee_Numeric_Std_Match_Slv = 417
- Ieee_Numeric_Std_Match_Suv = 418
- Ieee_Numeric_Std_To_01_Uns = 419
- Ieee_Numeric_Std_To_01_Sgn = 420
- Ieee_Math_Real_Ceil = 421
- Ieee_Math_Real_Floor = 422
- Ieee_Math_Real_Round = 423
- Ieee_Math_Real_Log2 = 424
- Ieee_Math_Real_Sin = 425
- Ieee_Math_Real_Cos = 426
- Ieee_Std_Logic_Unsigned_Add_Slv_Slv = 427
- Ieee_Std_Logic_Unsigned_Add_Slv_Int = 428
- Ieee_Std_Logic_Unsigned_Add_Int_Slv = 429
- Ieee_Std_Logic_Unsigned_Add_Slv_Log = 430
- Ieee_Std_Logic_Unsigned_Add_Log_Slv = 431
- Ieee_Std_Logic_Unsigned_Sub_Slv_Slv = 432
- Ieee_Std_Logic_Unsigned_Sub_Slv_Int = 433
- Ieee_Std_Logic_Unsigned_Sub_Int_Slv = 434
- Ieee_Std_Logic_Unsigned_Sub_Slv_Log = 435
- Ieee_Std_Logic_Unsigned_Sub_Log_Slv = 436
- Ieee_Std_Logic_Unsigned_Id_Slv = 437
- Ieee_Std_Logic_Unsigned_Mul_Slv_Slv = 438
- Ieee_Std_Logic_Unsigned_Lt_Slv_Slv = 439
- Ieee_Std_Logic_Unsigned_Lt_Slv_Int = 440
- Ieee_Std_Logic_Unsigned_Lt_Int_Slv = 441
- Ieee_Std_Logic_Unsigned_Le_Slv_Slv = 442
- Ieee_Std_Logic_Unsigned_Le_Slv_Int = 443
- Ieee_Std_Logic_Unsigned_Le_Int_Slv = 444
- Ieee_Std_Logic_Unsigned_Gt_Slv_Slv = 445
- Ieee_Std_Logic_Unsigned_Gt_Slv_Int = 446
- Ieee_Std_Logic_Unsigned_Gt_Int_Slv = 447
- Ieee_Std_Logic_Unsigned_Ge_Slv_Slv = 448
- Ieee_Std_Logic_Unsigned_Ge_Slv_Int = 449
- Ieee_Std_Logic_Unsigned_Ge_Int_Slv = 450
- Ieee_Std_Logic_Unsigned_Eq_Slv_Slv = 451
- Ieee_Std_Logic_Unsigned_Eq_Slv_Int = 452
- Ieee_Std_Logic_Unsigned_Eq_Int_Slv = 453
- Ieee_Std_Logic_Unsigned_Ne_Slv_Slv = 454
- Ieee_Std_Logic_Unsigned_Ne_Slv_Int = 455
- Ieee_Std_Logic_Unsigned_Ne_Int_Slv = 456
- Ieee_Std_Logic_Unsigned_Conv_Integer = 457
- Ieee_Std_Logic_Unsigned_Shl = 458
- Ieee_Std_Logic_Unsigned_Shr = 459
- Ieee_Std_Logic_Signed_Add_Slv_Slv = 460
- Ieee_Std_Logic_Signed_Add_Slv_Int = 461
- Ieee_Std_Logic_Signed_Add_Int_Slv = 462
- Ieee_Std_Logic_Signed_Add_Slv_Log = 463
- Ieee_Std_Logic_Signed_Add_Log_Slv = 464
- Ieee_Std_Logic_Signed_Sub_Slv_Slv = 465
- Ieee_Std_Logic_Signed_Sub_Slv_Int = 466
- Ieee_Std_Logic_Signed_Sub_Int_Slv = 467
- Ieee_Std_Logic_Signed_Sub_Slv_Log = 468
- Ieee_Std_Logic_Signed_Sub_Log_Slv = 469
- Ieee_Std_Logic_Signed_Id_Slv = 470
- Ieee_Std_Logic_Signed_Neg_Slv = 471
- Ieee_Std_Logic_Signed_Abs_Slv = 472
- Ieee_Std_Logic_Signed_Mul_Slv_Slv = 473
- Ieee_Std_Logic_Signed_Lt_Slv_Slv = 474
- Ieee_Std_Logic_Signed_Lt_Slv_Int = 475
- Ieee_Std_Logic_Signed_Lt_Int_Slv = 476
- Ieee_Std_Logic_Signed_Le_Slv_Slv = 477
- Ieee_Std_Logic_Signed_Le_Slv_Int = 478
- Ieee_Std_Logic_Signed_Le_Int_Slv = 479
- Ieee_Std_Logic_Signed_Gt_Slv_Slv = 480
- Ieee_Std_Logic_Signed_Gt_Slv_Int = 481
- Ieee_Std_Logic_Signed_Gt_Int_Slv = 482
- Ieee_Std_Logic_Signed_Ge_Slv_Slv = 483
- Ieee_Std_Logic_Signed_Ge_Slv_Int = 484
- Ieee_Std_Logic_Signed_Ge_Int_Slv = 485
- Ieee_Std_Logic_Signed_Eq_Slv_Slv = 486
- Ieee_Std_Logic_Signed_Eq_Slv_Int = 487
- Ieee_Std_Logic_Signed_Eq_Int_Slv = 488
- Ieee_Std_Logic_Signed_Ne_Slv_Slv = 489
- Ieee_Std_Logic_Signed_Ne_Slv_Int = 490
- Ieee_Std_Logic_Signed_Ne_Int_Slv = 491
- Ieee_Std_Logic_Signed_Conv_Integer = 492
- Ieee_Std_Logic_Signed_Shl = 493
- Ieee_Std_Logic_Signed_Shr = 494
- Ieee_Std_Logic_Arith_Conv_Unsigned_Int = 495
- Ieee_Std_Logic_Arith_Conv_Unsigned_Uns = 496
- Ieee_Std_Logic_Arith_Conv_Unsigned_Sgn = 497
- Ieee_Std_Logic_Arith_Conv_Unsigned_Log = 498
- Ieee_Std_Logic_Arith_Conv_Integer_Int = 499
- Ieee_Std_Logic_Arith_Conv_Integer_Uns = 500
- Ieee_Std_Logic_Arith_Conv_Integer_Sgn = 501
- Ieee_Std_Logic_Arith_Conv_Integer_Log = 502
- Ieee_Std_Logic_Arith_Conv_Vector_Int = 503
- Ieee_Std_Logic_Arith_Conv_Vector_Uns = 504
- Ieee_Std_Logic_Arith_Conv_Vector_Sgn = 505
- Ieee_Std_Logic_Arith_Conv_Vector_Log = 506
- Ieee_Std_Logic_Arith_Ext = 507
- Ieee_Std_Logic_Arith_Sxt = 508
- Ieee_Std_Logic_Arith_Id_Uns_Uns = 509
- Ieee_Std_Logic_Arith_Id_Sgn_Sgn = 510
- Ieee_Std_Logic_Arith_Neg_Sgn_Sgn = 511
- Ieee_Std_Logic_Arith_Abs_Sgn_Sgn = 512
- Ieee_Std_Logic_Arith_Shl_Uns = 513
- Ieee_Std_Logic_Arith_Shl_Sgn = 514
- Ieee_Std_Logic_Arith_Shr_Uns = 515
- Ieee_Std_Logic_Arith_Shr_Sgn = 516
- Ieee_Std_Logic_Arith_Id_Uns_Slv = 517
- Ieee_Std_Logic_Arith_Id_Sgn_Slv = 518
- Ieee_Std_Logic_Arith_Neg_Sgn_Slv = 519
- Ieee_Std_Logic_Arith_Abs_Sgn_Slv = 520
- Ieee_Std_Logic_Arith_Mul_Uns_Uns_Uns = 521
- Ieee_Std_Logic_Arith_Mul_Sgn_Sgn_Sgn = 522
- Ieee_Std_Logic_Arith_Mul_Sgn_Uns_Sgn = 523
- Ieee_Std_Logic_Arith_Mul_Uns_Sgn_Sgn = 524
- Ieee_Std_Logic_Arith_Mul_Uns_Uns_Slv = 525
- Ieee_Std_Logic_Arith_Mul_Sgn_Sgn_Slv = 526
- Ieee_Std_Logic_Arith_Mul_Sgn_Uns_Slv = 527
- Ieee_Std_Logic_Arith_Mul_Uns_Sgn_Slv = 528
- Ieee_Std_Logic_Arith_Add_Uns_Uns_Uns = 529
- Ieee_Std_Logic_Arith_Add_Sgn_Sgn_Sgn = 530
- Ieee_Std_Logic_Arith_Add_Uns_Sgn_Sgn = 531
- Ieee_Std_Logic_Arith_Add_Sgn_Uns_Sgn = 532
- Ieee_Std_Logic_Arith_Add_Uns_Int_Uns = 533
- Ieee_Std_Logic_Arith_Add_Int_Uns_Uns = 534
- Ieee_Std_Logic_Arith_Add_Sgn_Int_Sgn = 535
- Ieee_Std_Logic_Arith_Add_Int_Sgn_Sgn = 536
- Ieee_Std_Logic_Arith_Add_Uns_Log_Uns = 537
- Ieee_Std_Logic_Arith_Add_Log_Uns_Uns = 538
- Ieee_Std_Logic_Arith_Add_Sgn_Log_Sgn = 539
- Ieee_Std_Logic_Arith_Add_Log_Sgn_Sgn = 540
- Ieee_Std_Logic_Arith_Add_Uns_Uns_Slv = 541
- Ieee_Std_Logic_Arith_Add_Sgn_Sgn_Slv = 542
- Ieee_Std_Logic_Arith_Add_Uns_Sgn_Slv = 543
- Ieee_Std_Logic_Arith_Add_Sgn_Uns_Slv = 544
- Ieee_Std_Logic_Arith_Add_Uns_Int_Slv = 545
- Ieee_Std_Logic_Arith_Add_Int_Uns_Slv = 546
- Ieee_Std_Logic_Arith_Add_Sgn_Int_Slv = 547
- Ieee_Std_Logic_Arith_Add_Int_Sgn_Slv = 548
- Ieee_Std_Logic_Arith_Add_Uns_Log_Slv = 549
- Ieee_Std_Logic_Arith_Add_Log_Uns_Slv = 550
- Ieee_Std_Logic_Arith_Add_Sgn_Log_Slv = 551
- Ieee_Std_Logic_Arith_Add_Log_Sgn_Slv = 552
- Ieee_Std_Logic_Arith_Sub_Uns_Uns_Uns = 553
- Ieee_Std_Logic_Arith_Sub_Sgn_Sgn_Sgn = 554
- Ieee_Std_Logic_Arith_Sub_Uns_Sgn_Sgn = 555
- Ieee_Std_Logic_Arith_Sub_Sgn_Uns_Sgn = 556
- Ieee_Std_Logic_Arith_Sub_Uns_Int_Uns = 557
- Ieee_Std_Logic_Arith_Sub_Int_Uns_Uns = 558
- Ieee_Std_Logic_Arith_Sub_Sgn_Int_Sgn = 559
- Ieee_Std_Logic_Arith_Sub_Int_Sgn_Sgn = 560
- Ieee_Std_Logic_Arith_Sub_Uns_Log_Uns = 561
- Ieee_Std_Logic_Arith_Sub_Log_Uns_Uns = 562
- Ieee_Std_Logic_Arith_Sub_Sgn_Log_Sgn = 563
- Ieee_Std_Logic_Arith_Sub_Log_Sgn_Sgn = 564
- Ieee_Std_Logic_Arith_Sub_Uns_Uns_Slv = 565
- Ieee_Std_Logic_Arith_Sub_Sgn_Sgn_Slv = 566
- Ieee_Std_Logic_Arith_Sub_Uns_Sgn_Slv = 567
- Ieee_Std_Logic_Arith_Sub_Sgn_Uns_Slv = 568
- Ieee_Std_Logic_Arith_Sub_Uns_Int_Slv = 569
- Ieee_Std_Logic_Arith_Sub_Int_Uns_Slv = 570
- Ieee_Std_Logic_Arith_Sub_Sgn_Int_Slv = 571
- Ieee_Std_Logic_Arith_Sub_Int_Sgn_Slv = 572
- Ieee_Std_Logic_Arith_Sub_Uns_Log_Slv = 573
- Ieee_Std_Logic_Arith_Sub_Log_Uns_Slv = 574
- Ieee_Std_Logic_Arith_Sub_Sgn_Log_Slv = 575
- Ieee_Std_Logic_Arith_Sub_Log_Sgn_Slv = 576
- Ieee_Std_Logic_Arith_Lt_Uns_Uns = 577
- Ieee_Std_Logic_Arith_Lt_Sgn_Sgn = 578
- Ieee_Std_Logic_Arith_Lt_Uns_Sgn = 579
- Ieee_Std_Logic_Arith_Lt_Sgn_Uns = 580
- Ieee_Std_Logic_Arith_Lt_Uns_Int = 581
- Ieee_Std_Logic_Arith_Lt_Int_Uns = 582
- Ieee_Std_Logic_Arith_Lt_Sgn_Int = 583
- Ieee_Std_Logic_Arith_Lt_Int_Sgn = 584
- Ieee_Std_Logic_Arith_Le_Uns_Uns = 585
- Ieee_Std_Logic_Arith_Le_Sgn_Sgn = 586
- Ieee_Std_Logic_Arith_Le_Uns_Sgn = 587
- Ieee_Std_Logic_Arith_Le_Sgn_Uns = 588
- Ieee_Std_Logic_Arith_Le_Uns_Int = 589
- Ieee_Std_Logic_Arith_Le_Int_Uns = 590
- Ieee_Std_Logic_Arith_Le_Sgn_Int = 591
- Ieee_Std_Logic_Arith_Le_Int_Sgn = 592
- Ieee_Std_Logic_Arith_Gt_Uns_Uns = 593
- Ieee_Std_Logic_Arith_Gt_Sgn_Sgn = 594
- Ieee_Std_Logic_Arith_Gt_Uns_Sgn = 595
- Ieee_Std_Logic_Arith_Gt_Sgn_Uns = 596
- Ieee_Std_Logic_Arith_Gt_Uns_Int = 597
- Ieee_Std_Logic_Arith_Gt_Int_Uns = 598
- Ieee_Std_Logic_Arith_Gt_Sgn_Int = 599
- Ieee_Std_Logic_Arith_Gt_Int_Sgn = 600
- Ieee_Std_Logic_Arith_Ge_Uns_Uns = 601
- Ieee_Std_Logic_Arith_Ge_Sgn_Sgn = 602
- Ieee_Std_Logic_Arith_Ge_Uns_Sgn = 603
- Ieee_Std_Logic_Arith_Ge_Sgn_Uns = 604
- Ieee_Std_Logic_Arith_Ge_Uns_Int = 605
- Ieee_Std_Logic_Arith_Ge_Int_Uns = 606
- Ieee_Std_Logic_Arith_Ge_Sgn_Int = 607
- Ieee_Std_Logic_Arith_Ge_Int_Sgn = 608
- Ieee_Std_Logic_Arith_Eq_Uns_Uns = 609
- Ieee_Std_Logic_Arith_Eq_Sgn_Sgn = 610
- Ieee_Std_Logic_Arith_Eq_Uns_Sgn = 611
- Ieee_Std_Logic_Arith_Eq_Sgn_Uns = 612
- Ieee_Std_Logic_Arith_Eq_Uns_Int = 613
- Ieee_Std_Logic_Arith_Eq_Int_Uns = 614
- Ieee_Std_Logic_Arith_Eq_Sgn_Int = 615
- Ieee_Std_Logic_Arith_Eq_Int_Sgn = 616
- Ieee_Std_Logic_Arith_Ne_Uns_Uns = 617
- Ieee_Std_Logic_Arith_Ne_Sgn_Sgn = 618
- Ieee_Std_Logic_Arith_Ne_Uns_Sgn = 619
- Ieee_Std_Logic_Arith_Ne_Sgn_Uns = 620
- Ieee_Std_Logic_Arith_Ne_Uns_Int = 621
- Ieee_Std_Logic_Arith_Ne_Int_Uns = 622
- Ieee_Std_Logic_Arith_Ne_Sgn_Int = 623
- Ieee_Std_Logic_Arith_Ne_Int_Sgn = 624
- Ieee_Std_Logic_Misc_And_Reduce_Slv = 625
- Ieee_Std_Logic_Misc_And_Reduce_Suv = 626
- Ieee_Std_Logic_Misc_Nand_Reduce_Slv = 627
- Ieee_Std_Logic_Misc_Nand_Reduce_Suv = 628
- Ieee_Std_Logic_Misc_Or_Reduce_Slv = 629
- Ieee_Std_Logic_Misc_Or_Reduce_Suv = 630
- Ieee_Std_Logic_Misc_Nor_Reduce_Slv = 631
- Ieee_Std_Logic_Misc_Nor_Reduce_Suv = 632
- Ieee_Std_Logic_Misc_Xor_Reduce_Slv = 633
- Ieee_Std_Logic_Misc_Xor_Reduce_Suv = 634
- Ieee_Std_Logic_Misc_Xnor_Reduce_Slv = 635
- Ieee_Std_Logic_Misc_Xnor_Reduce_Suv = 636
-
+ Ieee_Numeric_Std_Find_Leftmost_Uns = 414
+ Ieee_Numeric_Std_Find_Rightmost_Uns = 415
+ Ieee_Numeric_Std_Find_Leftmost_Sgn = 416
+ Ieee_Numeric_Std_Find_Rightmost_Sgn = 417
+ Ieee_Numeric_Std_Match_Log = 418
+ Ieee_Numeric_Std_Match_Uns = 419
+ Ieee_Numeric_Std_Match_Sgn = 420
+ Ieee_Numeric_Std_Match_Slv = 421
+ Ieee_Numeric_Std_Match_Suv = 422
+ Ieee_Numeric_Std_To_01_Uns = 423
+ Ieee_Numeric_Std_To_01_Sgn = 424
+ Ieee_Math_Real_Ceil = 425
+ Ieee_Math_Real_Floor = 426
+ Ieee_Math_Real_Round = 427
+ Ieee_Math_Real_Log2 = 428
+ Ieee_Math_Real_Sin = 429
+ Ieee_Math_Real_Cos = 430
+ Ieee_Std_Logic_Unsigned_Add_Slv_Slv = 431
+ Ieee_Std_Logic_Unsigned_Add_Slv_Int = 432
+ Ieee_Std_Logic_Unsigned_Add_Int_Slv = 433
+ Ieee_Std_Logic_Unsigned_Add_Slv_Log = 434
+ Ieee_Std_Logic_Unsigned_Add_Log_Slv = 435
+ Ieee_Std_Logic_Unsigned_Sub_Slv_Slv = 436
+ Ieee_Std_Logic_Unsigned_Sub_Slv_Int = 437
+ Ieee_Std_Logic_Unsigned_Sub_Int_Slv = 438
+ Ieee_Std_Logic_Unsigned_Sub_Slv_Log = 439
+ Ieee_Std_Logic_Unsigned_Sub_Log_Slv = 440
+ Ieee_Std_Logic_Unsigned_Id_Slv = 441
+ Ieee_Std_Logic_Unsigned_Mul_Slv_Slv = 442
+ Ieee_Std_Logic_Unsigned_Lt_Slv_Slv = 443
+ Ieee_Std_Logic_Unsigned_Lt_Slv_Int = 444
+ Ieee_Std_Logic_Unsigned_Lt_Int_Slv = 445
+ Ieee_Std_Logic_Unsigned_Le_Slv_Slv = 446
+ Ieee_Std_Logic_Unsigned_Le_Slv_Int = 447
+ Ieee_Std_Logic_Unsigned_Le_Int_Slv = 448
+ Ieee_Std_Logic_Unsigned_Gt_Slv_Slv = 449
+ Ieee_Std_Logic_Unsigned_Gt_Slv_Int = 450
+ Ieee_Std_Logic_Unsigned_Gt_Int_Slv = 451
+ Ieee_Std_Logic_Unsigned_Ge_Slv_Slv = 452
+ Ieee_Std_Logic_Unsigned_Ge_Slv_Int = 453
+ Ieee_Std_Logic_Unsigned_Ge_Int_Slv = 454
+ Ieee_Std_Logic_Unsigned_Eq_Slv_Slv = 455
+ Ieee_Std_Logic_Unsigned_Eq_Slv_Int = 456
+ Ieee_Std_Logic_Unsigned_Eq_Int_Slv = 457
+ Ieee_Std_Logic_Unsigned_Ne_Slv_Slv = 458
+ Ieee_Std_Logic_Unsigned_Ne_Slv_Int = 459
+ Ieee_Std_Logic_Unsigned_Ne_Int_Slv = 460
+ Ieee_Std_Logic_Unsigned_Conv_Integer = 461
+ Ieee_Std_Logic_Unsigned_Shl = 462
+ Ieee_Std_Logic_Unsigned_Shr = 463
+ Ieee_Std_Logic_Signed_Add_Slv_Slv = 464
+ Ieee_Std_Logic_Signed_Add_Slv_Int = 465
+ Ieee_Std_Logic_Signed_Add_Int_Slv = 466
+ Ieee_Std_Logic_Signed_Add_Slv_Log = 467
+ Ieee_Std_Logic_Signed_Add_Log_Slv = 468
+ Ieee_Std_Logic_Signed_Sub_Slv_Slv = 469
+ Ieee_Std_Logic_Signed_Sub_Slv_Int = 470
+ Ieee_Std_Logic_Signed_Sub_Int_Slv = 471
+ Ieee_Std_Logic_Signed_Sub_Slv_Log = 472
+ Ieee_Std_Logic_Signed_Sub_Log_Slv = 473
+ Ieee_Std_Logic_Signed_Id_Slv = 474
+ Ieee_Std_Logic_Signed_Neg_Slv = 475
+ Ieee_Std_Logic_Signed_Abs_Slv = 476
+ Ieee_Std_Logic_Signed_Mul_Slv_Slv = 477
+ Ieee_Std_Logic_Signed_Lt_Slv_Slv = 478
+ Ieee_Std_Logic_Signed_Lt_Slv_Int = 479
+ Ieee_Std_Logic_Signed_Lt_Int_Slv = 480
+ Ieee_Std_Logic_Signed_Le_Slv_Slv = 481
+ Ieee_Std_Logic_Signed_Le_Slv_Int = 482
+ Ieee_Std_Logic_Signed_Le_Int_Slv = 483
+ Ieee_Std_Logic_Signed_Gt_Slv_Slv = 484
+ Ieee_Std_Logic_Signed_Gt_Slv_Int = 485
+ Ieee_Std_Logic_Signed_Gt_Int_Slv = 486
+ Ieee_Std_Logic_Signed_Ge_Slv_Slv = 487
+ Ieee_Std_Logic_Signed_Ge_Slv_Int = 488
+ Ieee_Std_Logic_Signed_Ge_Int_Slv = 489
+ Ieee_Std_Logic_Signed_Eq_Slv_Slv = 490
+ Ieee_Std_Logic_Signed_Eq_Slv_Int = 491
+ Ieee_Std_Logic_Signed_Eq_Int_Slv = 492
+ Ieee_Std_Logic_Signed_Ne_Slv_Slv = 493
+ Ieee_Std_Logic_Signed_Ne_Slv_Int = 494
+ Ieee_Std_Logic_Signed_Ne_Int_Slv = 495
+ Ieee_Std_Logic_Signed_Conv_Integer = 496
+ Ieee_Std_Logic_Signed_Shl = 497
+ Ieee_Std_Logic_Signed_Shr = 498
+ Ieee_Std_Logic_Arith_Conv_Unsigned_Int = 499
+ Ieee_Std_Logic_Arith_Conv_Unsigned_Uns = 500
+ Ieee_Std_Logic_Arith_Conv_Unsigned_Sgn = 501
+ Ieee_Std_Logic_Arith_Conv_Unsigned_Log = 502
+ Ieee_Std_Logic_Arith_Conv_Integer_Int = 503
+ Ieee_Std_Logic_Arith_Conv_Integer_Uns = 504
+ Ieee_Std_Logic_Arith_Conv_Integer_Sgn = 505
+ Ieee_Std_Logic_Arith_Conv_Integer_Log = 506
+ Ieee_Std_Logic_Arith_Conv_Vector_Int = 507
+ Ieee_Std_Logic_Arith_Conv_Vector_Uns = 508
+ Ieee_Std_Logic_Arith_Conv_Vector_Sgn = 509
+ Ieee_Std_Logic_Arith_Conv_Vector_Log = 510
+ Ieee_Std_Logic_Arith_Ext = 511
+ Ieee_Std_Logic_Arith_Sxt = 512
+ Ieee_Std_Logic_Arith_Id_Uns_Uns = 513
+ Ieee_Std_Logic_Arith_Id_Sgn_Sgn = 514
+ Ieee_Std_Logic_Arith_Neg_Sgn_Sgn = 515
+ Ieee_Std_Logic_Arith_Abs_Sgn_Sgn = 516
+ Ieee_Std_Logic_Arith_Shl_Uns = 517
+ Ieee_Std_Logic_Arith_Shl_Sgn = 518
+ Ieee_Std_Logic_Arith_Shr_Uns = 519
+ Ieee_Std_Logic_Arith_Shr_Sgn = 520
+ Ieee_Std_Logic_Arith_Id_Uns_Slv = 521
+ Ieee_Std_Logic_Arith_Id_Sgn_Slv = 522
+ Ieee_Std_Logic_Arith_Neg_Sgn_Slv = 523
+ Ieee_Std_Logic_Arith_Abs_Sgn_Slv = 524
+ Ieee_Std_Logic_Arith_Mul_Uns_Uns_Uns = 525
+ Ieee_Std_Logic_Arith_Mul_Sgn_Sgn_Sgn = 526
+ Ieee_Std_Logic_Arith_Mul_Sgn_Uns_Sgn = 527
+ Ieee_Std_Logic_Arith_Mul_Uns_Sgn_Sgn = 528
+ Ieee_Std_Logic_Arith_Mul_Uns_Uns_Slv = 529
+ Ieee_Std_Logic_Arith_Mul_Sgn_Sgn_Slv = 530
+ Ieee_Std_Logic_Arith_Mul_Sgn_Uns_Slv = 531
+ Ieee_Std_Logic_Arith_Mul_Uns_Sgn_Slv = 532
+ Ieee_Std_Logic_Arith_Add_Uns_Uns_Uns = 533
+ Ieee_Std_Logic_Arith_Add_Sgn_Sgn_Sgn = 534
+ Ieee_Std_Logic_Arith_Add_Uns_Sgn_Sgn = 535
+ Ieee_Std_Logic_Arith_Add_Sgn_Uns_Sgn = 536
+ Ieee_Std_Logic_Arith_Add_Uns_Int_Uns = 537
+ Ieee_Std_Logic_Arith_Add_Int_Uns_Uns = 538
+ Ieee_Std_Logic_Arith_Add_Sgn_Int_Sgn = 539
+ Ieee_Std_Logic_Arith_Add_Int_Sgn_Sgn = 540
+ Ieee_Std_Logic_Arith_Add_Uns_Log_Uns = 541
+ Ieee_Std_Logic_Arith_Add_Log_Uns_Uns = 542
+ Ieee_Std_Logic_Arith_Add_Sgn_Log_Sgn = 543
+ Ieee_Std_Logic_Arith_Add_Log_Sgn_Sgn = 544
+ Ieee_Std_Logic_Arith_Add_Uns_Uns_Slv = 545
+ Ieee_Std_Logic_Arith_Add_Sgn_Sgn_Slv = 546
+ Ieee_Std_Logic_Arith_Add_Uns_Sgn_Slv = 547
+ Ieee_Std_Logic_Arith_Add_Sgn_Uns_Slv = 548
+ Ieee_Std_Logic_Arith_Add_Uns_Int_Slv = 549
+ Ieee_Std_Logic_Arith_Add_Int_Uns_Slv = 550
+ Ieee_Std_Logic_Arith_Add_Sgn_Int_Slv = 551
+ Ieee_Std_Logic_Arith_Add_Int_Sgn_Slv = 552
+ Ieee_Std_Logic_Arith_Add_Uns_Log_Slv = 553
+ Ieee_Std_Logic_Arith_Add_Log_Uns_Slv = 554
+ Ieee_Std_Logic_Arith_Add_Sgn_Log_Slv = 555
+ Ieee_Std_Logic_Arith_Add_Log_Sgn_Slv = 556
+ Ieee_Std_Logic_Arith_Sub_Uns_Uns_Uns = 557
+ Ieee_Std_Logic_Arith_Sub_Sgn_Sgn_Sgn = 558
+ Ieee_Std_Logic_Arith_Sub_Uns_Sgn_Sgn = 559
+ Ieee_Std_Logic_Arith_Sub_Sgn_Uns_Sgn = 560
+ Ieee_Std_Logic_Arith_Sub_Uns_Int_Uns = 561
+ Ieee_Std_Logic_Arith_Sub_Int_Uns_Uns = 562
+ Ieee_Std_Logic_Arith_Sub_Sgn_Int_Sgn = 563
+ Ieee_Std_Logic_Arith_Sub_Int_Sgn_Sgn = 564
+ Ieee_Std_Logic_Arith_Sub_Uns_Log_Uns = 565
+ Ieee_Std_Logic_Arith_Sub_Log_Uns_Uns = 566
+ Ieee_Std_Logic_Arith_Sub_Sgn_Log_Sgn = 567
+ Ieee_Std_Logic_Arith_Sub_Log_Sgn_Sgn = 568
+ Ieee_Std_Logic_Arith_Sub_Uns_Uns_Slv = 569
+ Ieee_Std_Logic_Arith_Sub_Sgn_Sgn_Slv = 570
+ Ieee_Std_Logic_Arith_Sub_Uns_Sgn_Slv = 571
+ Ieee_Std_Logic_Arith_Sub_Sgn_Uns_Slv = 572
+ Ieee_Std_Logic_Arith_Sub_Uns_Int_Slv = 573
+ Ieee_Std_Logic_Arith_Sub_Int_Uns_Slv = 574
+ Ieee_Std_Logic_Arith_Sub_Sgn_Int_Slv = 575
+ Ieee_Std_Logic_Arith_Sub_Int_Sgn_Slv = 576
+ Ieee_Std_Logic_Arith_Sub_Uns_Log_Slv = 577
+ Ieee_Std_Logic_Arith_Sub_Log_Uns_Slv = 578
+ Ieee_Std_Logic_Arith_Sub_Sgn_Log_Slv = 579
+ Ieee_Std_Logic_Arith_Sub_Log_Sgn_Slv = 580
+ Ieee_Std_Logic_Arith_Lt_Uns_Uns = 581
+ Ieee_Std_Logic_Arith_Lt_Sgn_Sgn = 582
+ Ieee_Std_Logic_Arith_Lt_Uns_Sgn = 583
+ Ieee_Std_Logic_Arith_Lt_Sgn_Uns = 584
+ Ieee_Std_Logic_Arith_Lt_Uns_Int = 585
+ Ieee_Std_Logic_Arith_Lt_Int_Uns = 586
+ Ieee_Std_Logic_Arith_Lt_Sgn_Int = 587
+ Ieee_Std_Logic_Arith_Lt_Int_Sgn = 588
+ Ieee_Std_Logic_Arith_Le_Uns_Uns = 589
+ Ieee_Std_Logic_Arith_Le_Sgn_Sgn = 590
+ Ieee_Std_Logic_Arith_Le_Uns_Sgn = 591
+ Ieee_Std_Logic_Arith_Le_Sgn_Uns = 592
+ Ieee_Std_Logic_Arith_Le_Uns_Int = 593
+ Ieee_Std_Logic_Arith_Le_Int_Uns = 594
+ Ieee_Std_Logic_Arith_Le_Sgn_Int = 595
+ Ieee_Std_Logic_Arith_Le_Int_Sgn = 596
+ Ieee_Std_Logic_Arith_Gt_Uns_Uns = 597
+ Ieee_Std_Logic_Arith_Gt_Sgn_Sgn = 598
+ Ieee_Std_Logic_Arith_Gt_Uns_Sgn = 599
+ Ieee_Std_Logic_Arith_Gt_Sgn_Uns = 600
+ Ieee_Std_Logic_Arith_Gt_Uns_Int = 601
+ Ieee_Std_Logic_Arith_Gt_Int_Uns = 602
+ Ieee_Std_Logic_Arith_Gt_Sgn_Int = 603
+ Ieee_Std_Logic_Arith_Gt_Int_Sgn = 604
+ Ieee_Std_Logic_Arith_Ge_Uns_Uns = 605
+ Ieee_Std_Logic_Arith_Ge_Sgn_Sgn = 606
+ Ieee_Std_Logic_Arith_Ge_Uns_Sgn = 607
+ Ieee_Std_Logic_Arith_Ge_Sgn_Uns = 608
+ Ieee_Std_Logic_Arith_Ge_Uns_Int = 609
+ Ieee_Std_Logic_Arith_Ge_Int_Uns = 610
+ Ieee_Std_Logic_Arith_Ge_Sgn_Int = 611
+ Ieee_Std_Logic_Arith_Ge_Int_Sgn = 612
+ Ieee_Std_Logic_Arith_Eq_Uns_Uns = 613
+ Ieee_Std_Logic_Arith_Eq_Sgn_Sgn = 614
+ Ieee_Std_Logic_Arith_Eq_Uns_Sgn = 615
+ Ieee_Std_Logic_Arith_Eq_Sgn_Uns = 616
+ Ieee_Std_Logic_Arith_Eq_Uns_Int = 617
+ Ieee_Std_Logic_Arith_Eq_Int_Uns = 618
+ Ieee_Std_Logic_Arith_Eq_Sgn_Int = 619
+ Ieee_Std_Logic_Arith_Eq_Int_Sgn = 620
+ Ieee_Std_Logic_Arith_Ne_Uns_Uns = 621
+ Ieee_Std_Logic_Arith_Ne_Sgn_Sgn = 622
+ Ieee_Std_Logic_Arith_Ne_Uns_Sgn = 623
+ Ieee_Std_Logic_Arith_Ne_Sgn_Uns = 624
+ Ieee_Std_Logic_Arith_Ne_Uns_Int = 625
+ Ieee_Std_Logic_Arith_Ne_Int_Uns = 626
+ Ieee_Std_Logic_Arith_Ne_Sgn_Int = 627
+ Ieee_Std_Logic_Arith_Ne_Int_Sgn = 628
+ Ieee_Std_Logic_Misc_And_Reduce_Slv = 629
+ Ieee_Std_Logic_Misc_And_Reduce_Suv = 630
+ Ieee_Std_Logic_Misc_Nand_Reduce_Slv = 631
+ Ieee_Std_Logic_Misc_Nand_Reduce_Suv = 632
+ Ieee_Std_Logic_Misc_Or_Reduce_Slv = 633
+ Ieee_Std_Logic_Misc_Or_Reduce_Suv = 634
+ Ieee_Std_Logic_Misc_Nor_Reduce_Slv = 635
+ Ieee_Std_Logic_Misc_Nor_Reduce_Suv = 636
+ Ieee_Std_Logic_Misc_Xor_Reduce_Slv = 637
+ Ieee_Std_Logic_Misc_Xor_Reduce_Suv = 638
+ Ieee_Std_Logic_Misc_Xnor_Reduce_Slv = 639
+ Ieee_Std_Logic_Misc_Xnor_Reduce_Suv = 640
Get_Kind = libghdl.vhdl__nodes__get_kind
Get_Location = libghdl.vhdl__nodes__get_location
@@ -1876,13 +1883,9 @@ Get_Attribute_Designator = libghdl.vhdl__nodes__get_attribute_designator
Set_Attribute_Designator = libghdl.vhdl__nodes__set_attribute_designator
-Get_Attribute_Specification_Chain = (
- libghdl.vhdl__nodes__get_attribute_specification_chain
-)
+Get_Attribute_Specification_Chain = libghdl.vhdl__nodes__get_attribute_specification_chain
-Set_Attribute_Specification_Chain = (
- libghdl.vhdl__nodes__set_attribute_specification_chain
-)
+Set_Attribute_Specification_Chain = libghdl.vhdl__nodes__set_attribute_specification_chain
Get_Attribute_Specification = libghdl.vhdl__nodes__get_attribute_specification
@@ -2052,13 +2055,9 @@ Get_Bound_Vunit_Chain = libghdl.vhdl__nodes__get_bound_vunit_chain
Set_Bound_Vunit_Chain = libghdl.vhdl__nodes__set_bound_vunit_chain
-Get_Verification_Block_Configuration = (
- libghdl.vhdl__nodes__get_verification_block_configuration
-)
+Get_Verification_Block_Configuration = libghdl.vhdl__nodes__get_verification_block_configuration
-Set_Verification_Block_Configuration = (
- libghdl.vhdl__nodes__set_verification_block_configuration
-)
+Set_Verification_Block_Configuration = libghdl.vhdl__nodes__set_verification_block_configuration
Get_Block_Configuration = libghdl.vhdl__nodes__get_block_configuration
@@ -2180,6 +2179,10 @@ Get_Implicit_Definition = libghdl.vhdl__nodes__get_implicit_definition
Set_Implicit_Definition = libghdl.vhdl__nodes__set_implicit_definition
+Get_Uninstantiated_Subprogram_Name = libghdl.vhdl__nodes__get_uninstantiated_subprogram_name
+
+Set_Uninstantiated_Subprogram_Name = libghdl.vhdl__nodes__set_uninstantiated_subprogram_name
+
Get_Default_Value = libghdl.vhdl__nodes__get_default_value
Set_Default_Value = libghdl.vhdl__nodes__set_default_value
@@ -2324,13 +2327,9 @@ Get_Resolution_Indication = libghdl.vhdl__nodes__get_resolution_indication
Set_Resolution_Indication = libghdl.vhdl__nodes__set_resolution_indication
-Get_Record_Element_Resolution_Chain = (
- libghdl.vhdl__nodes__get_record_element_resolution_chain
-)
+Get_Record_Element_Resolution_Chain = libghdl.vhdl__nodes__get_record_element_resolution_chain
-Set_Record_Element_Resolution_Chain = (
- libghdl.vhdl__nodes__set_record_element_resolution_chain
-)
+Set_Record_Element_Resolution_Chain = libghdl.vhdl__nodes__set_record_element_resolution_chain
Get_Tolerance = libghdl.vhdl__nodes__get_tolerance
@@ -2400,13 +2399,9 @@ Get_Index_Subtype_List = libghdl.vhdl__nodes__get_index_subtype_list
Set_Index_Subtype_List = libghdl.vhdl__nodes__set_index_subtype_list
-Get_Index_Subtype_Definition_List = (
- libghdl.vhdl__nodes__get_index_subtype_definition_list
-)
+Get_Index_Subtype_Definition_List = libghdl.vhdl__nodes__get_index_subtype_definition_list
-Set_Index_Subtype_Definition_List = (
- libghdl.vhdl__nodes__set_index_subtype_definition_list
-)
+Set_Index_Subtype_Definition_List = libghdl.vhdl__nodes__set_index_subtype_definition_list
Get_Element_Subtype_Indication = libghdl.vhdl__nodes__get_element_subtype_indication
@@ -2444,13 +2439,9 @@ Get_Designated_Type = libghdl.vhdl__nodes__get_designated_type
Set_Designated_Type = libghdl.vhdl__nodes__set_designated_type
-Get_Designated_Subtype_Indication = (
- libghdl.vhdl__nodes__get_designated_subtype_indication
-)
+Get_Designated_Subtype_Indication = libghdl.vhdl__nodes__get_designated_subtype_indication
-Set_Designated_Subtype_Indication = (
- libghdl.vhdl__nodes__set_designated_subtype_indication
-)
+Set_Designated_Subtype_Indication = libghdl.vhdl__nodes__set_designated_subtype_indication
Get_Index_List = libghdl.vhdl__nodes__get_index_list
@@ -2664,13 +2655,9 @@ Get_Default_Binding_Indication = libghdl.vhdl__nodes__get_default_binding_indica
Set_Default_Binding_Indication = libghdl.vhdl__nodes__set_default_binding_indication
-Get_Default_Configuration_Declaration = (
- libghdl.vhdl__nodes__get_default_configuration_declaration
-)
+Get_Default_Configuration_Declaration = libghdl.vhdl__nodes__get_default_configuration_declaration
-Set_Default_Configuration_Declaration = (
- libghdl.vhdl__nodes__set_default_configuration_declaration
-)
+Set_Default_Configuration_Declaration = libghdl.vhdl__nodes__set_default_configuration_declaration
Get_Expression = libghdl.vhdl__nodes__get_expression
@@ -2968,13 +2955,9 @@ Get_Association_Choices_Chain = libghdl.vhdl__nodes__get_association_choices_cha
Set_Association_Choices_Chain = libghdl.vhdl__nodes__set_association_choices_chain
-Get_Case_Statement_Alternative_Chain = (
- libghdl.vhdl__nodes__get_case_statement_alternative_chain
-)
+Get_Case_Statement_Alternative_Chain = libghdl.vhdl__nodes__get_case_statement_alternative_chain
-Set_Case_Statement_Alternative_Chain = (
- libghdl.vhdl__nodes__set_case_statement_alternative_chain
-)
+Set_Case_Statement_Alternative_Chain = libghdl.vhdl__nodes__set_case_statement_alternative_chain
Get_Choice_Staticness = libghdl.vhdl__nodes__get_choice_staticness
diff --git a/python/libghdl/thin/vhdl/nodes_meta.py b/python/libghdl/thin/vhdl/nodes_meta.py
index 882dddb1e..e4210fb5c 100644
--- a/python/libghdl/thin/vhdl/nodes_meta.py
+++ b/python/libghdl/thin/vhdl/nodes_meta.py
@@ -179,255 +179,256 @@ class fields:
Impure_Depth = 114
Return_Type = 115
Implicit_Definition = 116
- Default_Value = 117
- Deferred_Declaration = 118
- Deferred_Declaration_Flag = 119
- Shared_Flag = 120
- Design_Unit = 121
- Block_Statement = 122
- Signal_Driver = 123
- Declaration_Chain = 124
- File_Logical_Name = 125
- File_Open_Kind = 126
- Element_Position = 127
- Use_Clause_Chain = 128
- Context_Reference_Chain = 129
- Selected_Name = 130
- Type_Declarator = 131
- Complete_Type_Definition = 132
- Incomplete_Type_Ref_Chain = 133
- Associated_Type = 134
- Enumeration_Literal_List = 135
- Entity_Class_Entry_Chain = 136
- Group_Constituent_List = 137
- Unit_Chain = 138
- Primary_Unit = 139
- Identifier = 140
- Label = 141
- Visible_Flag = 142
- Range_Constraint = 143
- Direction = 144
- Left_Limit = 145
- Right_Limit = 146
- Left_Limit_Expr = 147
- Right_Limit_Expr = 148
- Parent_Type = 149
- Simple_Nature = 150
- Base_Nature = 151
- Resolution_Indication = 152
- Record_Element_Resolution_Chain = 153
- Tolerance = 154
- Plus_Terminal_Name = 155
- Minus_Terminal_Name = 156
- Plus_Terminal = 157
- Minus_Terminal = 158
- Magnitude_Expression = 159
- Phase_Expression = 160
- Power_Expression = 161
- Simultaneous_Left = 162
- Simultaneous_Right = 163
- Text_File_Flag = 164
- Only_Characters_Flag = 165
- Is_Character_Type = 166
- Nature_Staticness = 167
- Type_Staticness = 168
- Constraint_State = 169
- Index_Subtype_List = 170
- Index_Subtype_Definition_List = 171
- Element_Subtype_Indication = 172
- Element_Subtype = 173
- Element_Subnature_Indication = 174
- Element_Subnature = 175
- Index_Constraint_List = 176
- Array_Element_Constraint = 177
- Elements_Declaration_List = 178
- Owned_Elements_Chain = 179
- Designated_Type = 180
- Designated_Subtype_Indication = 181
- Index_List = 182
- Reference = 183
- Nature_Declarator = 184
- Across_Type_Mark = 185
- Through_Type_Mark = 186
- Across_Type_Definition = 187
- Through_Type_Definition = 188
- Across_Type = 189
- Through_Type = 190
- Target = 191
- Waveform_Chain = 192
- Guard = 193
- Delay_Mechanism = 194
- Reject_Time_Expression = 195
- Force_Mode = 196
- Has_Force_Mode = 197
- Sensitivity_List = 198
- Process_Origin = 199
- Package_Origin = 200
- Condition_Clause = 201
- Break_Element = 202
- Selector_Quantity = 203
- Break_Quantity = 204
- Timeout_Clause = 205
- Postponed_Flag = 206
- Callees_List = 207
- Passive_Flag = 208
- Resolution_Function_Flag = 209
- Wait_State = 210
- All_Sensitized_State = 211
- Seen_Flag = 212
- Pure_Flag = 213
- Foreign_Flag = 214
- Resolved_Flag = 215
- Signal_Type_Flag = 216
- Has_Signal_Flag = 217
- Purity_State = 218
- Elab_Flag = 219
- Vendor_Library_Flag = 220
- Configuration_Mark_Flag = 221
- Configuration_Done_Flag = 222
- Index_Constraint_Flag = 223
- Hide_Implicit_Flag = 224
- Assertion_Condition = 225
- Report_Expression = 226
- Severity_Expression = 227
- Instantiated_Unit = 228
- Generic_Map_Aspect_Chain = 229
- Port_Map_Aspect_Chain = 230
- Configuration_Name = 231
- Component_Configuration = 232
- Configuration_Specification = 233
- Default_Binding_Indication = 234
- Default_Configuration_Declaration = 235
- Expression = 236
- Conditional_Expression_Chain = 237
- Allocator_Designated_Type = 238
- Selected_Waveform_Chain = 239
- Conditional_Waveform_Chain = 240
- Guard_Expression = 241
- Guard_Decl = 242
- Guard_Sensitivity_List = 243
- Signal_Attribute_Chain = 244
- Block_Block_Configuration = 245
- Package_Header = 246
- Block_Header = 247
- Uninstantiated_Package_Name = 248
- Uninstantiated_Package_Decl = 249
- Instance_Source_File = 250
- Generate_Block_Configuration = 251
- Generate_Statement_Body = 252
- Alternative_Label = 253
- Generate_Else_Clause = 254
- Condition = 255
- Else_Clause = 256
- Parameter_Specification = 257
- Parent = 258
- Loop_Label = 259
- Exit_Flag = 260
- Next_Flag = 261
- Component_Name = 262
- Instantiation_List = 263
- Entity_Aspect = 264
- Default_Entity_Aspect = 265
- Binding_Indication = 266
- Named_Entity = 267
- Alias_Declaration = 268
- Referenced_Name = 269
- Expr_Staticness = 270
- Scalar_Size = 271
- Error_Origin = 272
- Operand = 273
- Left = 274
- Right = 275
- Unit_Name = 276
- Name = 277
- Group_Template_Name = 278
- Name_Staticness = 279
- Prefix = 280
- Signature_Prefix = 281
- External_Pathname = 282
- Pathname_Suffix = 283
- Pathname_Expression = 284
- In_Formal_Flag = 285
- Slice_Subtype = 286
- Suffix = 287
- Index_Subtype = 288
- Parameter = 289
- Parameter_2 = 290
- Parameter_3 = 291
- Parameter_4 = 292
- Attr_Chain = 293
- Signal_Attribute_Declaration = 294
- Actual_Type = 295
- Actual_Type_Definition = 296
- Association_Chain = 297
- Individual_Association_Chain = 298
- Subprogram_Association_Chain = 299
- Aggregate_Info = 300
- Sub_Aggregate_Info = 301
- Aggr_Dynamic_Flag = 302
- Aggr_Min_Length = 303
- Aggr_Low_Limit = 304
- Aggr_High_Limit = 305
- Aggr_Others_Flag = 306
- Aggr_Named_Flag = 307
- Aggregate_Expand_Flag = 308
- Association_Choices_Chain = 309
- Case_Statement_Alternative_Chain = 310
- Choice_Staticness = 311
- Procedure_Call = 312
- Implementation = 313
- Parameter_Association_Chain = 314
- Method_Object = 315
- Subtype_Type_Mark = 316
- Subnature_Nature_Mark = 317
- Type_Conversion_Subtype = 318
- Type_Mark = 319
- File_Type_Mark = 320
- Return_Type_Mark = 321
- Has_Disconnect_Flag = 322
- Has_Active_Flag = 323
- Is_Within_Flag = 324
- Type_Marks_List = 325
- Implicit_Alias_Flag = 326
- Alias_Signature = 327
- Attribute_Signature = 328
- Overload_List = 329
- Simple_Name_Identifier = 330
- Simple_Name_Subtype = 331
- Protected_Type_Body = 332
- Protected_Type_Declaration = 333
- Use_Flag = 334
- End_Has_Reserved_Id = 335
- End_Has_Identifier = 336
- End_Has_Postponed = 337
- Has_Label = 338
- Has_Begin = 339
- Has_End = 340
- Has_Is = 341
- Has_Pure = 342
- Has_Body = 343
- Has_Parameter = 344
- Has_Component = 345
- Has_Identifier_List = 346
- Has_Mode = 347
- Has_Class = 348
- Has_Delay_Mechanism = 349
- Suspend_Flag = 350
- Is_Ref = 351
- Is_Forward_Ref = 352
- Psl_Property = 353
- Psl_Sequence = 354
- Psl_Declaration = 355
- Psl_Expression = 356
- Psl_Boolean = 357
- PSL_Clock = 358
- PSL_NFA = 359
- PSL_Nbr_States = 360
- PSL_Clock_Sensitivity = 361
- PSL_EOS_Flag = 362
- Count_Expression = 363
- Clock_Expression = 364
- Default_Clock = 365
+ Uninstantiated_Subprogram_Name = 117
+ Default_Value = 118
+ Deferred_Declaration = 119
+ Deferred_Declaration_Flag = 120
+ Shared_Flag = 121
+ Design_Unit = 122
+ Block_Statement = 123
+ Signal_Driver = 124
+ Declaration_Chain = 125
+ File_Logical_Name = 126
+ File_Open_Kind = 127
+ Element_Position = 128
+ Use_Clause_Chain = 129
+ Context_Reference_Chain = 130
+ Selected_Name = 131
+ Type_Declarator = 132
+ Complete_Type_Definition = 133
+ Incomplete_Type_Ref_Chain = 134
+ Associated_Type = 135
+ Enumeration_Literal_List = 136
+ Entity_Class_Entry_Chain = 137
+ Group_Constituent_List = 138
+ Unit_Chain = 139
+ Primary_Unit = 140
+ Identifier = 141
+ Label = 142
+ Visible_Flag = 143
+ Range_Constraint = 144
+ Direction = 145
+ Left_Limit = 146
+ Right_Limit = 147
+ Left_Limit_Expr = 148
+ Right_Limit_Expr = 149
+ Parent_Type = 150
+ Simple_Nature = 151
+ Base_Nature = 152
+ Resolution_Indication = 153
+ Record_Element_Resolution_Chain = 154
+ Tolerance = 155
+ Plus_Terminal_Name = 156
+ Minus_Terminal_Name = 157
+ Plus_Terminal = 158
+ Minus_Terminal = 159
+ Magnitude_Expression = 160
+ Phase_Expression = 161
+ Power_Expression = 162
+ Simultaneous_Left = 163
+ Simultaneous_Right = 164
+ Text_File_Flag = 165
+ Only_Characters_Flag = 166
+ Is_Character_Type = 167
+ Nature_Staticness = 168
+ Type_Staticness = 169
+ Constraint_State = 170
+ Index_Subtype_List = 171
+ Index_Subtype_Definition_List = 172
+ Element_Subtype_Indication = 173
+ Element_Subtype = 174
+ Element_Subnature_Indication = 175
+ Element_Subnature = 176
+ Index_Constraint_List = 177
+ Array_Element_Constraint = 178
+ Elements_Declaration_List = 179
+ Owned_Elements_Chain = 180
+ Designated_Type = 181
+ Designated_Subtype_Indication = 182
+ Index_List = 183
+ Reference = 184
+ Nature_Declarator = 185
+ Across_Type_Mark = 186
+ Through_Type_Mark = 187
+ Across_Type_Definition = 188
+ Through_Type_Definition = 189
+ Across_Type = 190
+ Through_Type = 191
+ Target = 192
+ Waveform_Chain = 193
+ Guard = 194
+ Delay_Mechanism = 195
+ Reject_Time_Expression = 196
+ Force_Mode = 197
+ Has_Force_Mode = 198
+ Sensitivity_List = 199
+ Process_Origin = 200
+ Package_Origin = 201
+ Condition_Clause = 202
+ Break_Element = 203
+ Selector_Quantity = 204
+ Break_Quantity = 205
+ Timeout_Clause = 206
+ Postponed_Flag = 207
+ Callees_List = 208
+ Passive_Flag = 209
+ Resolution_Function_Flag = 210
+ Wait_State = 211
+ All_Sensitized_State = 212
+ Seen_Flag = 213
+ Pure_Flag = 214
+ Foreign_Flag = 215
+ Resolved_Flag = 216
+ Signal_Type_Flag = 217
+ Has_Signal_Flag = 218
+ Purity_State = 219
+ Elab_Flag = 220
+ Vendor_Library_Flag = 221
+ Configuration_Mark_Flag = 222
+ Configuration_Done_Flag = 223
+ Index_Constraint_Flag = 224
+ Hide_Implicit_Flag = 225
+ Assertion_Condition = 226
+ Report_Expression = 227
+ Severity_Expression = 228
+ Instantiated_Unit = 229
+ Generic_Map_Aspect_Chain = 230
+ Port_Map_Aspect_Chain = 231
+ Configuration_Name = 232
+ Component_Configuration = 233
+ Configuration_Specification = 234
+ Default_Binding_Indication = 235
+ Default_Configuration_Declaration = 236
+ Expression = 237
+ Conditional_Expression_Chain = 238
+ Allocator_Designated_Type = 239
+ Selected_Waveform_Chain = 240
+ Conditional_Waveform_Chain = 241
+ Guard_Expression = 242
+ Guard_Decl = 243
+ Guard_Sensitivity_List = 244
+ Signal_Attribute_Chain = 245
+ Block_Block_Configuration = 246
+ Package_Header = 247
+ Block_Header = 248
+ Uninstantiated_Package_Name = 249
+ Uninstantiated_Package_Decl = 250
+ Instance_Source_File = 251
+ Generate_Block_Configuration = 252
+ Generate_Statement_Body = 253
+ Alternative_Label = 254
+ Generate_Else_Clause = 255
+ Condition = 256
+ Else_Clause = 257
+ Parameter_Specification = 258
+ Parent = 259
+ Loop_Label = 260
+ Exit_Flag = 261
+ Next_Flag = 262
+ Component_Name = 263
+ Instantiation_List = 264
+ Entity_Aspect = 265
+ Default_Entity_Aspect = 266
+ Binding_Indication = 267
+ Named_Entity = 268
+ Alias_Declaration = 269
+ Referenced_Name = 270
+ Expr_Staticness = 271
+ Scalar_Size = 272
+ Error_Origin = 273
+ Operand = 274
+ Left = 275
+ Right = 276
+ Unit_Name = 277
+ Name = 278
+ Group_Template_Name = 279
+ Name_Staticness = 280
+ Prefix = 281
+ Signature_Prefix = 282
+ External_Pathname = 283
+ Pathname_Suffix = 284
+ Pathname_Expression = 285
+ In_Formal_Flag = 286
+ Slice_Subtype = 287
+ Suffix = 288
+ Index_Subtype = 289
+ Parameter = 290
+ Parameter_2 = 291
+ Parameter_3 = 292
+ Parameter_4 = 293
+ Attr_Chain = 294
+ Signal_Attribute_Declaration = 295
+ Actual_Type = 296
+ Actual_Type_Definition = 297
+ Association_Chain = 298
+ Individual_Association_Chain = 299
+ Subprogram_Association_Chain = 300
+ Aggregate_Info = 301
+ Sub_Aggregate_Info = 302
+ Aggr_Dynamic_Flag = 303
+ Aggr_Min_Length = 304
+ Aggr_Low_Limit = 305
+ Aggr_High_Limit = 306
+ Aggr_Others_Flag = 307
+ Aggr_Named_Flag = 308
+ Aggregate_Expand_Flag = 309
+ Association_Choices_Chain = 310
+ Case_Statement_Alternative_Chain = 311
+ Choice_Staticness = 312
+ Procedure_Call = 313
+ Implementation = 314
+ Parameter_Association_Chain = 315
+ Method_Object = 316
+ Subtype_Type_Mark = 317
+ Subnature_Nature_Mark = 318
+ Type_Conversion_Subtype = 319
+ Type_Mark = 320
+ File_Type_Mark = 321
+ Return_Type_Mark = 322
+ Has_Disconnect_Flag = 323
+ Has_Active_Flag = 324
+ Is_Within_Flag = 325
+ Type_Marks_List = 326
+ Implicit_Alias_Flag = 327
+ Alias_Signature = 328
+ Attribute_Signature = 329
+ Overload_List = 330
+ Simple_Name_Identifier = 331
+ Simple_Name_Subtype = 332
+ Protected_Type_Body = 333
+ Protected_Type_Declaration = 334
+ Use_Flag = 335
+ End_Has_Reserved_Id = 336
+ End_Has_Identifier = 337
+ End_Has_Postponed = 338
+ Has_Label = 339
+ Has_Begin = 340
+ Has_End = 341
+ Has_Is = 342
+ Has_Pure = 343
+ Has_Body = 344
+ Has_Parameter = 345
+ Has_Component = 346
+ Has_Identifier_List = 347
+ Has_Mode = 348
+ Has_Class = 349
+ Has_Delay_Mechanism = 350
+ Suspend_Flag = 351
+ Is_Ref = 352
+ Is_Forward_Ref = 353
+ Psl_Property = 354
+ Psl_Sequence = 355
+ Psl_Declaration = 356
+ Psl_Expression = 357
+ Psl_Boolean = 358
+ PSL_Clock = 359
+ PSL_NFA = 360
+ PSL_Nbr_States = 361
+ PSL_Clock_Sensitivity = 362
+ PSL_EOS_Flag = 363
+ Count_Expression = 364
+ Clock_Expression = 365
+ Default_Clock = 366
Get_Boolean = libghdl.vhdl__nodes_meta__get_boolean
@@ -497,790 +498,1103 @@ Get_Token_Type = libghdl.vhdl__nodes_meta__get_token_type
Get_Tri_State_Type = libghdl.vhdl__nodes_meta__get_tri_state_type
-Has_First_Design_Unit = libghdl.vhdl__nodes_meta__has_first_design_unit
+Has_First_Design_Unit =\
+ libghdl.vhdl__nodes_meta__has_first_design_unit
-Has_Last_Design_Unit = libghdl.vhdl__nodes_meta__has_last_design_unit
+Has_Last_Design_Unit =\
+ libghdl.vhdl__nodes_meta__has_last_design_unit
-Has_Library_Declaration = libghdl.vhdl__nodes_meta__has_library_declaration
+Has_Library_Declaration =\
+ libghdl.vhdl__nodes_meta__has_library_declaration
-Has_File_Checksum = libghdl.vhdl__nodes_meta__has_file_checksum
+Has_File_Checksum =\
+ libghdl.vhdl__nodes_meta__has_file_checksum
-Has_Analysis_Time_Stamp = libghdl.vhdl__nodes_meta__has_analysis_time_stamp
+Has_Analysis_Time_Stamp =\
+ libghdl.vhdl__nodes_meta__has_analysis_time_stamp
-Has_Design_File_Source = libghdl.vhdl__nodes_meta__has_design_file_source
+Has_Design_File_Source =\
+ libghdl.vhdl__nodes_meta__has_design_file_source
-Has_Library = libghdl.vhdl__nodes_meta__has_library
+Has_Library =\
+ libghdl.vhdl__nodes_meta__has_library
-Has_File_Dependence_List = libghdl.vhdl__nodes_meta__has_file_dependence_list
+Has_File_Dependence_List =\
+ libghdl.vhdl__nodes_meta__has_file_dependence_list
-Has_Design_File_Filename = libghdl.vhdl__nodes_meta__has_design_file_filename
+Has_Design_File_Filename =\
+ libghdl.vhdl__nodes_meta__has_design_file_filename
-Has_Design_File_Directory = libghdl.vhdl__nodes_meta__has_design_file_directory
+Has_Design_File_Directory =\
+ libghdl.vhdl__nodes_meta__has_design_file_directory
-Has_Design_File = libghdl.vhdl__nodes_meta__has_design_file
+Has_Design_File =\
+ libghdl.vhdl__nodes_meta__has_design_file
-Has_Design_File_Chain = libghdl.vhdl__nodes_meta__has_design_file_chain
+Has_Design_File_Chain =\
+ libghdl.vhdl__nodes_meta__has_design_file_chain
-Has_Library_Directory = libghdl.vhdl__nodes_meta__has_library_directory
+Has_Library_Directory =\
+ libghdl.vhdl__nodes_meta__has_library_directory
-Has_Date = libghdl.vhdl__nodes_meta__has_date
+Has_Date =\
+ libghdl.vhdl__nodes_meta__has_date
-Has_Context_Items = libghdl.vhdl__nodes_meta__has_context_items
+Has_Context_Items =\
+ libghdl.vhdl__nodes_meta__has_context_items
-Has_Dependence_List = libghdl.vhdl__nodes_meta__has_dependence_list
+Has_Dependence_List =\
+ libghdl.vhdl__nodes_meta__has_dependence_list
-Has_Analysis_Checks_List = libghdl.vhdl__nodes_meta__has_analysis_checks_list
+Has_Analysis_Checks_List =\
+ libghdl.vhdl__nodes_meta__has_analysis_checks_list
-Has_Date_State = libghdl.vhdl__nodes_meta__has_date_state
+Has_Date_State =\
+ libghdl.vhdl__nodes_meta__has_date_state
-Has_Guarded_Target_State = libghdl.vhdl__nodes_meta__has_guarded_target_state
+Has_Guarded_Target_State =\
+ libghdl.vhdl__nodes_meta__has_guarded_target_state
-Has_Library_Unit = libghdl.vhdl__nodes_meta__has_library_unit
+Has_Library_Unit =\
+ libghdl.vhdl__nodes_meta__has_library_unit
-Has_Hash_Chain = libghdl.vhdl__nodes_meta__has_hash_chain
+Has_Hash_Chain =\
+ libghdl.vhdl__nodes_meta__has_hash_chain
-Has_Design_Unit_Source_Pos = libghdl.vhdl__nodes_meta__has_design_unit_source_pos
+Has_Design_Unit_Source_Pos =\
+ libghdl.vhdl__nodes_meta__has_design_unit_source_pos
-Has_Design_Unit_Source_Line = libghdl.vhdl__nodes_meta__has_design_unit_source_line
+Has_Design_Unit_Source_Line =\
+ libghdl.vhdl__nodes_meta__has_design_unit_source_line
-Has_Design_Unit_Source_Col = libghdl.vhdl__nodes_meta__has_design_unit_source_col
+Has_Design_Unit_Source_Col =\
+ libghdl.vhdl__nodes_meta__has_design_unit_source_col
-Has_Value = libghdl.vhdl__nodes_meta__has_value
+Has_Value =\
+ libghdl.vhdl__nodes_meta__has_value
-Has_Enum_Pos = libghdl.vhdl__nodes_meta__has_enum_pos
+Has_Enum_Pos =\
+ libghdl.vhdl__nodes_meta__has_enum_pos
-Has_Physical_Literal = libghdl.vhdl__nodes_meta__has_physical_literal
+Has_Physical_Literal =\
+ libghdl.vhdl__nodes_meta__has_physical_literal
-Has_Fp_Value = libghdl.vhdl__nodes_meta__has_fp_value
+Has_Fp_Value =\
+ libghdl.vhdl__nodes_meta__has_fp_value
-Has_Simple_Aggregate_List = libghdl.vhdl__nodes_meta__has_simple_aggregate_list
+Has_Simple_Aggregate_List =\
+ libghdl.vhdl__nodes_meta__has_simple_aggregate_list
-Has_String8_Id = libghdl.vhdl__nodes_meta__has_string8_id
+Has_String8_Id =\
+ libghdl.vhdl__nodes_meta__has_string8_id
-Has_String_Length = libghdl.vhdl__nodes_meta__has_string_length
+Has_String_Length =\
+ libghdl.vhdl__nodes_meta__has_string_length
-Has_Bit_String_Base = libghdl.vhdl__nodes_meta__has_bit_string_base
+Has_Bit_String_Base =\
+ libghdl.vhdl__nodes_meta__has_bit_string_base
-Has_Has_Signed = libghdl.vhdl__nodes_meta__has_has_signed
+Has_Has_Signed =\
+ libghdl.vhdl__nodes_meta__has_has_signed
-Has_Has_Sign = libghdl.vhdl__nodes_meta__has_has_sign
+Has_Has_Sign =\
+ libghdl.vhdl__nodes_meta__has_has_sign
-Has_Has_Length = libghdl.vhdl__nodes_meta__has_has_length
+Has_Has_Length =\
+ libghdl.vhdl__nodes_meta__has_has_length
-Has_Literal_Length = libghdl.vhdl__nodes_meta__has_literal_length
+Has_Literal_Length =\
+ libghdl.vhdl__nodes_meta__has_literal_length
-Has_Literal_Origin = libghdl.vhdl__nodes_meta__has_literal_origin
+Has_Literal_Origin =\
+ libghdl.vhdl__nodes_meta__has_literal_origin
-Has_Range_Origin = libghdl.vhdl__nodes_meta__has_range_origin
+Has_Range_Origin =\
+ libghdl.vhdl__nodes_meta__has_range_origin
-Has_Literal_Subtype = libghdl.vhdl__nodes_meta__has_literal_subtype
+Has_Literal_Subtype =\
+ libghdl.vhdl__nodes_meta__has_literal_subtype
-Has_Allocator_Subtype = libghdl.vhdl__nodes_meta__has_allocator_subtype
+Has_Allocator_Subtype =\
+ libghdl.vhdl__nodes_meta__has_allocator_subtype
-Has_Entity_Class = libghdl.vhdl__nodes_meta__has_entity_class
+Has_Entity_Class =\
+ libghdl.vhdl__nodes_meta__has_entity_class
-Has_Entity_Name_List = libghdl.vhdl__nodes_meta__has_entity_name_list
+Has_Entity_Name_List =\
+ libghdl.vhdl__nodes_meta__has_entity_name_list
-Has_Attribute_Designator = libghdl.vhdl__nodes_meta__has_attribute_designator
+Has_Attribute_Designator =\
+ libghdl.vhdl__nodes_meta__has_attribute_designator
-Has_Attribute_Specification_Chain = (
+Has_Attribute_Specification_Chain =\
libghdl.vhdl__nodes_meta__has_attribute_specification_chain
-)
-Has_Attribute_Specification = libghdl.vhdl__nodes_meta__has_attribute_specification
+Has_Attribute_Specification =\
+ libghdl.vhdl__nodes_meta__has_attribute_specification
-Has_Signal_List = libghdl.vhdl__nodes_meta__has_signal_list
+Has_Signal_List =\
+ libghdl.vhdl__nodes_meta__has_signal_list
-Has_Quantity_List = libghdl.vhdl__nodes_meta__has_quantity_list
+Has_Quantity_List =\
+ libghdl.vhdl__nodes_meta__has_quantity_list
-Has_Designated_Entity = libghdl.vhdl__nodes_meta__has_designated_entity
+Has_Designated_Entity =\
+ libghdl.vhdl__nodes_meta__has_designated_entity
-Has_Formal = libghdl.vhdl__nodes_meta__has_formal
+Has_Formal =\
+ libghdl.vhdl__nodes_meta__has_formal
-Has_Actual = libghdl.vhdl__nodes_meta__has_actual
+Has_Actual =\
+ libghdl.vhdl__nodes_meta__has_actual
-Has_Actual_Conversion = libghdl.vhdl__nodes_meta__has_actual_conversion
+Has_Actual_Conversion =\
+ libghdl.vhdl__nodes_meta__has_actual_conversion
-Has_Formal_Conversion = libghdl.vhdl__nodes_meta__has_formal_conversion
+Has_Formal_Conversion =\
+ libghdl.vhdl__nodes_meta__has_formal_conversion
-Has_Whole_Association_Flag = libghdl.vhdl__nodes_meta__has_whole_association_flag
+Has_Whole_Association_Flag =\
+ libghdl.vhdl__nodes_meta__has_whole_association_flag
-Has_Collapse_Signal_Flag = libghdl.vhdl__nodes_meta__has_collapse_signal_flag
+Has_Collapse_Signal_Flag =\
+ libghdl.vhdl__nodes_meta__has_collapse_signal_flag
-Has_Artificial_Flag = libghdl.vhdl__nodes_meta__has_artificial_flag
+Has_Artificial_Flag =\
+ libghdl.vhdl__nodes_meta__has_artificial_flag
-Has_Open_Flag = libghdl.vhdl__nodes_meta__has_open_flag
+Has_Open_Flag =\
+ libghdl.vhdl__nodes_meta__has_open_flag
-Has_After_Drivers_Flag = libghdl.vhdl__nodes_meta__has_after_drivers_flag
+Has_After_Drivers_Flag =\
+ libghdl.vhdl__nodes_meta__has_after_drivers_flag
-Has_We_Value = libghdl.vhdl__nodes_meta__has_we_value
+Has_We_Value =\
+ libghdl.vhdl__nodes_meta__has_we_value
-Has_Time = libghdl.vhdl__nodes_meta__has_time
+Has_Time =\
+ libghdl.vhdl__nodes_meta__has_time
-Has_Associated_Expr = libghdl.vhdl__nodes_meta__has_associated_expr
+Has_Associated_Expr =\
+ libghdl.vhdl__nodes_meta__has_associated_expr
-Has_Associated_Block = libghdl.vhdl__nodes_meta__has_associated_block
+Has_Associated_Block =\
+ libghdl.vhdl__nodes_meta__has_associated_block
-Has_Associated_Chain = libghdl.vhdl__nodes_meta__has_associated_chain
+Has_Associated_Chain =\
+ libghdl.vhdl__nodes_meta__has_associated_chain
-Has_Choice_Name = libghdl.vhdl__nodes_meta__has_choice_name
+Has_Choice_Name =\
+ libghdl.vhdl__nodes_meta__has_choice_name
-Has_Choice_Expression = libghdl.vhdl__nodes_meta__has_choice_expression
+Has_Choice_Expression =\
+ libghdl.vhdl__nodes_meta__has_choice_expression
-Has_Choice_Range = libghdl.vhdl__nodes_meta__has_choice_range
+Has_Choice_Range =\
+ libghdl.vhdl__nodes_meta__has_choice_range
-Has_Same_Alternative_Flag = libghdl.vhdl__nodes_meta__has_same_alternative_flag
+Has_Same_Alternative_Flag =\
+ libghdl.vhdl__nodes_meta__has_same_alternative_flag
-Has_Element_Type_Flag = libghdl.vhdl__nodes_meta__has_element_type_flag
+Has_Element_Type_Flag =\
+ libghdl.vhdl__nodes_meta__has_element_type_flag
-Has_Architecture = libghdl.vhdl__nodes_meta__has_architecture
+Has_Architecture =\
+ libghdl.vhdl__nodes_meta__has_architecture
-Has_Block_Specification = libghdl.vhdl__nodes_meta__has_block_specification
+Has_Block_Specification =\
+ libghdl.vhdl__nodes_meta__has_block_specification
-Has_Prev_Block_Configuration = libghdl.vhdl__nodes_meta__has_prev_block_configuration
+Has_Prev_Block_Configuration =\
+ libghdl.vhdl__nodes_meta__has_prev_block_configuration
-Has_Configuration_Item_Chain = libghdl.vhdl__nodes_meta__has_configuration_item_chain
+Has_Configuration_Item_Chain =\
+ libghdl.vhdl__nodes_meta__has_configuration_item_chain
-Has_Attribute_Value_Chain = libghdl.vhdl__nodes_meta__has_attribute_value_chain
+Has_Attribute_Value_Chain =\
+ libghdl.vhdl__nodes_meta__has_attribute_value_chain
-Has_Spec_Chain = libghdl.vhdl__nodes_meta__has_spec_chain
+Has_Spec_Chain =\
+ libghdl.vhdl__nodes_meta__has_spec_chain
-Has_Value_Chain = libghdl.vhdl__nodes_meta__has_value_chain
+Has_Value_Chain =\
+ libghdl.vhdl__nodes_meta__has_value_chain
-Has_Attribute_Value_Spec_Chain = (
+Has_Attribute_Value_Spec_Chain =\
libghdl.vhdl__nodes_meta__has_attribute_value_spec_chain
-)
-Has_Entity_Name = libghdl.vhdl__nodes_meta__has_entity_name
+Has_Entity_Name =\
+ libghdl.vhdl__nodes_meta__has_entity_name
-Has_Package = libghdl.vhdl__nodes_meta__has_package
+Has_Package =\
+ libghdl.vhdl__nodes_meta__has_package
-Has_Package_Body = libghdl.vhdl__nodes_meta__has_package_body
+Has_Package_Body =\
+ libghdl.vhdl__nodes_meta__has_package_body
-Has_Instance_Package_Body = libghdl.vhdl__nodes_meta__has_instance_package_body
+Has_Instance_Package_Body =\
+ libghdl.vhdl__nodes_meta__has_instance_package_body
-Has_Need_Body = libghdl.vhdl__nodes_meta__has_need_body
+Has_Need_Body =\
+ libghdl.vhdl__nodes_meta__has_need_body
-Has_Macro_Expanded_Flag = libghdl.vhdl__nodes_meta__has_macro_expanded_flag
+Has_Macro_Expanded_Flag =\
+ libghdl.vhdl__nodes_meta__has_macro_expanded_flag
-Has_Need_Instance_Bodies = libghdl.vhdl__nodes_meta__has_need_instance_bodies
+Has_Need_Instance_Bodies =\
+ libghdl.vhdl__nodes_meta__has_need_instance_bodies
-Has_Hierarchical_Name = libghdl.vhdl__nodes_meta__has_hierarchical_name
+Has_Hierarchical_Name =\
+ libghdl.vhdl__nodes_meta__has_hierarchical_name
-Has_Inherit_Spec_Chain = libghdl.vhdl__nodes_meta__has_inherit_spec_chain
+Has_Inherit_Spec_Chain =\
+ libghdl.vhdl__nodes_meta__has_inherit_spec_chain
-Has_Vunit_Item_Chain = libghdl.vhdl__nodes_meta__has_vunit_item_chain
+Has_Vunit_Item_Chain =\
+ libghdl.vhdl__nodes_meta__has_vunit_item_chain
-Has_Bound_Vunit_Chain = libghdl.vhdl__nodes_meta__has_bound_vunit_chain
+Has_Bound_Vunit_Chain =\
+ libghdl.vhdl__nodes_meta__has_bound_vunit_chain
-Has_Verification_Block_Configuration = (
+Has_Verification_Block_Configuration =\
libghdl.vhdl__nodes_meta__has_verification_block_configuration
-)
-Has_Block_Configuration = libghdl.vhdl__nodes_meta__has_block_configuration
+Has_Block_Configuration =\
+ libghdl.vhdl__nodes_meta__has_block_configuration
-Has_Concurrent_Statement_Chain = (
+Has_Concurrent_Statement_Chain =\
libghdl.vhdl__nodes_meta__has_concurrent_statement_chain
-)
-Has_Chain = libghdl.vhdl__nodes_meta__has_chain
+Has_Chain =\
+ libghdl.vhdl__nodes_meta__has_chain
-Has_Port_Chain = libghdl.vhdl__nodes_meta__has_port_chain
+Has_Port_Chain =\
+ libghdl.vhdl__nodes_meta__has_port_chain
-Has_Generic_Chain = libghdl.vhdl__nodes_meta__has_generic_chain
+Has_Generic_Chain =\
+ libghdl.vhdl__nodes_meta__has_generic_chain
-Has_Type = libghdl.vhdl__nodes_meta__has_type
+Has_Type =\
+ libghdl.vhdl__nodes_meta__has_type
-Has_Subtype_Indication = libghdl.vhdl__nodes_meta__has_subtype_indication
+Has_Subtype_Indication =\
+ libghdl.vhdl__nodes_meta__has_subtype_indication
-Has_Discrete_Range = libghdl.vhdl__nodes_meta__has_discrete_range
+Has_Discrete_Range =\
+ libghdl.vhdl__nodes_meta__has_discrete_range
-Has_Type_Definition = libghdl.vhdl__nodes_meta__has_type_definition
+Has_Type_Definition =\
+ libghdl.vhdl__nodes_meta__has_type_definition
-Has_Subtype_Definition = libghdl.vhdl__nodes_meta__has_subtype_definition
+Has_Subtype_Definition =\
+ libghdl.vhdl__nodes_meta__has_subtype_definition
-Has_Incomplete_Type_Declaration = (
+Has_Incomplete_Type_Declaration =\
libghdl.vhdl__nodes_meta__has_incomplete_type_declaration
-)
-Has_Interface_Type_Subprograms = (
+Has_Interface_Type_Subprograms =\
libghdl.vhdl__nodes_meta__has_interface_type_subprograms
-)
-Has_Nature_Definition = libghdl.vhdl__nodes_meta__has_nature_definition
+Has_Nature_Definition =\
+ libghdl.vhdl__nodes_meta__has_nature_definition
-Has_Nature = libghdl.vhdl__nodes_meta__has_nature
+Has_Nature =\
+ libghdl.vhdl__nodes_meta__has_nature
-Has_Subnature_Indication = libghdl.vhdl__nodes_meta__has_subnature_indication
+Has_Subnature_Indication =\
+ libghdl.vhdl__nodes_meta__has_subnature_indication
-Has_Mode = libghdl.vhdl__nodes_meta__has_mode
+Has_Mode =\
+ libghdl.vhdl__nodes_meta__has_mode
-Has_Guarded_Signal_Flag = libghdl.vhdl__nodes_meta__has_guarded_signal_flag
+Has_Guarded_Signal_Flag =\
+ libghdl.vhdl__nodes_meta__has_guarded_signal_flag
-Has_Signal_Kind = libghdl.vhdl__nodes_meta__has_signal_kind
+Has_Signal_Kind =\
+ libghdl.vhdl__nodes_meta__has_signal_kind
-Has_Base_Name = libghdl.vhdl__nodes_meta__has_base_name
+Has_Base_Name =\
+ libghdl.vhdl__nodes_meta__has_base_name
-Has_Interface_Declaration_Chain = (
+Has_Interface_Declaration_Chain =\
libghdl.vhdl__nodes_meta__has_interface_declaration_chain
-)
-Has_Subprogram_Specification = libghdl.vhdl__nodes_meta__has_subprogram_specification
+Has_Subprogram_Specification =\
+ libghdl.vhdl__nodes_meta__has_subprogram_specification
-Has_Sequential_Statement_Chain = (
+Has_Sequential_Statement_Chain =\
libghdl.vhdl__nodes_meta__has_sequential_statement_chain
-)
-Has_Simultaneous_Statement_Chain = (
+Has_Simultaneous_Statement_Chain =\
libghdl.vhdl__nodes_meta__has_simultaneous_statement_chain
-)
-Has_Subprogram_Body = libghdl.vhdl__nodes_meta__has_subprogram_body
+Has_Subprogram_Body =\
+ libghdl.vhdl__nodes_meta__has_subprogram_body
-Has_Overload_Number = libghdl.vhdl__nodes_meta__has_overload_number
+Has_Overload_Number =\
+ libghdl.vhdl__nodes_meta__has_overload_number
-Has_Subprogram_Depth = libghdl.vhdl__nodes_meta__has_subprogram_depth
+Has_Subprogram_Depth =\
+ libghdl.vhdl__nodes_meta__has_subprogram_depth
-Has_Subprogram_Hash = libghdl.vhdl__nodes_meta__has_subprogram_hash
+Has_Subprogram_Hash =\
+ libghdl.vhdl__nodes_meta__has_subprogram_hash
-Has_Impure_Depth = libghdl.vhdl__nodes_meta__has_impure_depth
+Has_Impure_Depth =\
+ libghdl.vhdl__nodes_meta__has_impure_depth
-Has_Return_Type = libghdl.vhdl__nodes_meta__has_return_type
+Has_Return_Type =\
+ libghdl.vhdl__nodes_meta__has_return_type
-Has_Implicit_Definition = libghdl.vhdl__nodes_meta__has_implicit_definition
+Has_Implicit_Definition =\
+ libghdl.vhdl__nodes_meta__has_implicit_definition
-Has_Default_Value = libghdl.vhdl__nodes_meta__has_default_value
+Has_Uninstantiated_Subprogram_Name =\
+ libghdl.vhdl__nodes_meta__has_uninstantiated_subprogram_name
-Has_Deferred_Declaration = libghdl.vhdl__nodes_meta__has_deferred_declaration
+Has_Default_Value =\
+ libghdl.vhdl__nodes_meta__has_default_value
-Has_Deferred_Declaration_Flag = libghdl.vhdl__nodes_meta__has_deferred_declaration_flag
+Has_Deferred_Declaration =\
+ libghdl.vhdl__nodes_meta__has_deferred_declaration
-Has_Shared_Flag = libghdl.vhdl__nodes_meta__has_shared_flag
+Has_Deferred_Declaration_Flag =\
+ libghdl.vhdl__nodes_meta__has_deferred_declaration_flag
-Has_Design_Unit = libghdl.vhdl__nodes_meta__has_design_unit
+Has_Shared_Flag =\
+ libghdl.vhdl__nodes_meta__has_shared_flag
-Has_Block_Statement = libghdl.vhdl__nodes_meta__has_block_statement
+Has_Design_Unit =\
+ libghdl.vhdl__nodes_meta__has_design_unit
-Has_Signal_Driver = libghdl.vhdl__nodes_meta__has_signal_driver
+Has_Block_Statement =\
+ libghdl.vhdl__nodes_meta__has_block_statement
-Has_Declaration_Chain = libghdl.vhdl__nodes_meta__has_declaration_chain
+Has_Signal_Driver =\
+ libghdl.vhdl__nodes_meta__has_signal_driver
-Has_File_Logical_Name = libghdl.vhdl__nodes_meta__has_file_logical_name
+Has_Declaration_Chain =\
+ libghdl.vhdl__nodes_meta__has_declaration_chain
-Has_File_Open_Kind = libghdl.vhdl__nodes_meta__has_file_open_kind
+Has_File_Logical_Name =\
+ libghdl.vhdl__nodes_meta__has_file_logical_name
-Has_Element_Position = libghdl.vhdl__nodes_meta__has_element_position
+Has_File_Open_Kind =\
+ libghdl.vhdl__nodes_meta__has_file_open_kind
-Has_Use_Clause_Chain = libghdl.vhdl__nodes_meta__has_use_clause_chain
+Has_Element_Position =\
+ libghdl.vhdl__nodes_meta__has_element_position
-Has_Context_Reference_Chain = libghdl.vhdl__nodes_meta__has_context_reference_chain
+Has_Use_Clause_Chain =\
+ libghdl.vhdl__nodes_meta__has_use_clause_chain
-Has_Selected_Name = libghdl.vhdl__nodes_meta__has_selected_name
+Has_Context_Reference_Chain =\
+ libghdl.vhdl__nodes_meta__has_context_reference_chain
-Has_Type_Declarator = libghdl.vhdl__nodes_meta__has_type_declarator
+Has_Selected_Name =\
+ libghdl.vhdl__nodes_meta__has_selected_name
-Has_Complete_Type_Definition = libghdl.vhdl__nodes_meta__has_complete_type_definition
+Has_Type_Declarator =\
+ libghdl.vhdl__nodes_meta__has_type_declarator
-Has_Incomplete_Type_Ref_Chain = libghdl.vhdl__nodes_meta__has_incomplete_type_ref_chain
+Has_Complete_Type_Definition =\
+ libghdl.vhdl__nodes_meta__has_complete_type_definition
-Has_Associated_Type = libghdl.vhdl__nodes_meta__has_associated_type
+Has_Incomplete_Type_Ref_Chain =\
+ libghdl.vhdl__nodes_meta__has_incomplete_type_ref_chain
-Has_Enumeration_Literal_List = libghdl.vhdl__nodes_meta__has_enumeration_literal_list
+Has_Associated_Type =\
+ libghdl.vhdl__nodes_meta__has_associated_type
-Has_Entity_Class_Entry_Chain = libghdl.vhdl__nodes_meta__has_entity_class_entry_chain
+Has_Enumeration_Literal_List =\
+ libghdl.vhdl__nodes_meta__has_enumeration_literal_list
-Has_Group_Constituent_List = libghdl.vhdl__nodes_meta__has_group_constituent_list
+Has_Entity_Class_Entry_Chain =\
+ libghdl.vhdl__nodes_meta__has_entity_class_entry_chain
-Has_Unit_Chain = libghdl.vhdl__nodes_meta__has_unit_chain
+Has_Group_Constituent_List =\
+ libghdl.vhdl__nodes_meta__has_group_constituent_list
-Has_Primary_Unit = libghdl.vhdl__nodes_meta__has_primary_unit
+Has_Unit_Chain =\
+ libghdl.vhdl__nodes_meta__has_unit_chain
-Has_Identifier = libghdl.vhdl__nodes_meta__has_identifier
+Has_Primary_Unit =\
+ libghdl.vhdl__nodes_meta__has_primary_unit
-Has_Label = libghdl.vhdl__nodes_meta__has_label
+Has_Identifier =\
+ libghdl.vhdl__nodes_meta__has_identifier
-Has_Visible_Flag = libghdl.vhdl__nodes_meta__has_visible_flag
+Has_Label =\
+ libghdl.vhdl__nodes_meta__has_label
-Has_Range_Constraint = libghdl.vhdl__nodes_meta__has_range_constraint
+Has_Visible_Flag =\
+ libghdl.vhdl__nodes_meta__has_visible_flag
-Has_Direction = libghdl.vhdl__nodes_meta__has_direction
+Has_Range_Constraint =\
+ libghdl.vhdl__nodes_meta__has_range_constraint
-Has_Left_Limit = libghdl.vhdl__nodes_meta__has_left_limit
+Has_Direction =\
+ libghdl.vhdl__nodes_meta__has_direction
-Has_Right_Limit = libghdl.vhdl__nodes_meta__has_right_limit
+Has_Left_Limit =\
+ libghdl.vhdl__nodes_meta__has_left_limit
-Has_Left_Limit_Expr = libghdl.vhdl__nodes_meta__has_left_limit_expr
+Has_Right_Limit =\
+ libghdl.vhdl__nodes_meta__has_right_limit
-Has_Right_Limit_Expr = libghdl.vhdl__nodes_meta__has_right_limit_expr
+Has_Left_Limit_Expr =\
+ libghdl.vhdl__nodes_meta__has_left_limit_expr
-Has_Parent_Type = libghdl.vhdl__nodes_meta__has_parent_type
+Has_Right_Limit_Expr =\
+ libghdl.vhdl__nodes_meta__has_right_limit_expr
-Has_Simple_Nature = libghdl.vhdl__nodes_meta__has_simple_nature
+Has_Parent_Type =\
+ libghdl.vhdl__nodes_meta__has_parent_type
-Has_Base_Nature = libghdl.vhdl__nodes_meta__has_base_nature
+Has_Simple_Nature =\
+ libghdl.vhdl__nodes_meta__has_simple_nature
-Has_Resolution_Indication = libghdl.vhdl__nodes_meta__has_resolution_indication
+Has_Base_Nature =\
+ libghdl.vhdl__nodes_meta__has_base_nature
-Has_Record_Element_Resolution_Chain = (
+Has_Resolution_Indication =\
+ libghdl.vhdl__nodes_meta__has_resolution_indication
+
+Has_Record_Element_Resolution_Chain =\
libghdl.vhdl__nodes_meta__has_record_element_resolution_chain
-)
-Has_Tolerance = libghdl.vhdl__nodes_meta__has_tolerance
+Has_Tolerance =\
+ libghdl.vhdl__nodes_meta__has_tolerance
-Has_Plus_Terminal_Name = libghdl.vhdl__nodes_meta__has_plus_terminal_name
+Has_Plus_Terminal_Name =\
+ libghdl.vhdl__nodes_meta__has_plus_terminal_name
-Has_Minus_Terminal_Name = libghdl.vhdl__nodes_meta__has_minus_terminal_name
+Has_Minus_Terminal_Name =\
+ libghdl.vhdl__nodes_meta__has_minus_terminal_name
-Has_Plus_Terminal = libghdl.vhdl__nodes_meta__has_plus_terminal
+Has_Plus_Terminal =\
+ libghdl.vhdl__nodes_meta__has_plus_terminal
-Has_Minus_Terminal = libghdl.vhdl__nodes_meta__has_minus_terminal
+Has_Minus_Terminal =\
+ libghdl.vhdl__nodes_meta__has_minus_terminal
-Has_Magnitude_Expression = libghdl.vhdl__nodes_meta__has_magnitude_expression
+Has_Magnitude_Expression =\
+ libghdl.vhdl__nodes_meta__has_magnitude_expression
-Has_Phase_Expression = libghdl.vhdl__nodes_meta__has_phase_expression
+Has_Phase_Expression =\
+ libghdl.vhdl__nodes_meta__has_phase_expression
-Has_Power_Expression = libghdl.vhdl__nodes_meta__has_power_expression
+Has_Power_Expression =\
+ libghdl.vhdl__nodes_meta__has_power_expression
-Has_Simultaneous_Left = libghdl.vhdl__nodes_meta__has_simultaneous_left
+Has_Simultaneous_Left =\
+ libghdl.vhdl__nodes_meta__has_simultaneous_left
-Has_Simultaneous_Right = libghdl.vhdl__nodes_meta__has_simultaneous_right
+Has_Simultaneous_Right =\
+ libghdl.vhdl__nodes_meta__has_simultaneous_right
-Has_Text_File_Flag = libghdl.vhdl__nodes_meta__has_text_file_flag
+Has_Text_File_Flag =\
+ libghdl.vhdl__nodes_meta__has_text_file_flag
-Has_Only_Characters_Flag = libghdl.vhdl__nodes_meta__has_only_characters_flag
+Has_Only_Characters_Flag =\
+ libghdl.vhdl__nodes_meta__has_only_characters_flag
-Has_Is_Character_Type = libghdl.vhdl__nodes_meta__has_is_character_type
+Has_Is_Character_Type =\
+ libghdl.vhdl__nodes_meta__has_is_character_type
-Has_Nature_Staticness = libghdl.vhdl__nodes_meta__has_nature_staticness
+Has_Nature_Staticness =\
+ libghdl.vhdl__nodes_meta__has_nature_staticness
-Has_Type_Staticness = libghdl.vhdl__nodes_meta__has_type_staticness
+Has_Type_Staticness =\
+ libghdl.vhdl__nodes_meta__has_type_staticness
-Has_Constraint_State = libghdl.vhdl__nodes_meta__has_constraint_state
+Has_Constraint_State =\
+ libghdl.vhdl__nodes_meta__has_constraint_state
-Has_Index_Subtype_List = libghdl.vhdl__nodes_meta__has_index_subtype_list
+Has_Index_Subtype_List =\
+ libghdl.vhdl__nodes_meta__has_index_subtype_list
-Has_Index_Subtype_Definition_List = (
+Has_Index_Subtype_Definition_List =\
libghdl.vhdl__nodes_meta__has_index_subtype_definition_list
-)
-Has_Element_Subtype_Indication = (
+Has_Element_Subtype_Indication =\
libghdl.vhdl__nodes_meta__has_element_subtype_indication
-)
-Has_Element_Subtype = libghdl.vhdl__nodes_meta__has_element_subtype
+Has_Element_Subtype =\
+ libghdl.vhdl__nodes_meta__has_element_subtype
-Has_Element_Subnature_Indication = (
+Has_Element_Subnature_Indication =\
libghdl.vhdl__nodes_meta__has_element_subnature_indication
-)
-Has_Element_Subnature = libghdl.vhdl__nodes_meta__has_element_subnature
+Has_Element_Subnature =\
+ libghdl.vhdl__nodes_meta__has_element_subnature
-Has_Index_Constraint_List = libghdl.vhdl__nodes_meta__has_index_constraint_list
+Has_Index_Constraint_List =\
+ libghdl.vhdl__nodes_meta__has_index_constraint_list
-Has_Array_Element_Constraint = libghdl.vhdl__nodes_meta__has_array_element_constraint
+Has_Array_Element_Constraint =\
+ libghdl.vhdl__nodes_meta__has_array_element_constraint
-Has_Elements_Declaration_List = libghdl.vhdl__nodes_meta__has_elements_declaration_list
+Has_Elements_Declaration_List =\
+ libghdl.vhdl__nodes_meta__has_elements_declaration_list
-Has_Owned_Elements_Chain = libghdl.vhdl__nodes_meta__has_owned_elements_chain
+Has_Owned_Elements_Chain =\
+ libghdl.vhdl__nodes_meta__has_owned_elements_chain
-Has_Designated_Type = libghdl.vhdl__nodes_meta__has_designated_type
+Has_Designated_Type =\
+ libghdl.vhdl__nodes_meta__has_designated_type
-Has_Designated_Subtype_Indication = (
+Has_Designated_Subtype_Indication =\
libghdl.vhdl__nodes_meta__has_designated_subtype_indication
-)
-Has_Index_List = libghdl.vhdl__nodes_meta__has_index_list
+Has_Index_List =\
+ libghdl.vhdl__nodes_meta__has_index_list
-Has_Reference = libghdl.vhdl__nodes_meta__has_reference
+Has_Reference =\
+ libghdl.vhdl__nodes_meta__has_reference
-Has_Nature_Declarator = libghdl.vhdl__nodes_meta__has_nature_declarator
+Has_Nature_Declarator =\
+ libghdl.vhdl__nodes_meta__has_nature_declarator
-Has_Across_Type_Mark = libghdl.vhdl__nodes_meta__has_across_type_mark
+Has_Across_Type_Mark =\
+ libghdl.vhdl__nodes_meta__has_across_type_mark
-Has_Through_Type_Mark = libghdl.vhdl__nodes_meta__has_through_type_mark
+Has_Through_Type_Mark =\
+ libghdl.vhdl__nodes_meta__has_through_type_mark
-Has_Across_Type_Definition = libghdl.vhdl__nodes_meta__has_across_type_definition
+Has_Across_Type_Definition =\
+ libghdl.vhdl__nodes_meta__has_across_type_definition
-Has_Through_Type_Definition = libghdl.vhdl__nodes_meta__has_through_type_definition
+Has_Through_Type_Definition =\
+ libghdl.vhdl__nodes_meta__has_through_type_definition
-Has_Across_Type = libghdl.vhdl__nodes_meta__has_across_type
+Has_Across_Type =\
+ libghdl.vhdl__nodes_meta__has_across_type
-Has_Through_Type = libghdl.vhdl__nodes_meta__has_through_type
+Has_Through_Type =\
+ libghdl.vhdl__nodes_meta__has_through_type
-Has_Target = libghdl.vhdl__nodes_meta__has_target
+Has_Target =\
+ libghdl.vhdl__nodes_meta__has_target
-Has_Waveform_Chain = libghdl.vhdl__nodes_meta__has_waveform_chain
+Has_Waveform_Chain =\
+ libghdl.vhdl__nodes_meta__has_waveform_chain
-Has_Guard = libghdl.vhdl__nodes_meta__has_guard
+Has_Guard =\
+ libghdl.vhdl__nodes_meta__has_guard
-Has_Delay_Mechanism = libghdl.vhdl__nodes_meta__has_delay_mechanism
+Has_Delay_Mechanism =\
+ libghdl.vhdl__nodes_meta__has_delay_mechanism
-Has_Reject_Time_Expression = libghdl.vhdl__nodes_meta__has_reject_time_expression
+Has_Reject_Time_Expression =\
+ libghdl.vhdl__nodes_meta__has_reject_time_expression
-Has_Force_Mode = libghdl.vhdl__nodes_meta__has_force_mode
+Has_Force_Mode =\
+ libghdl.vhdl__nodes_meta__has_force_mode
-Has_Has_Force_Mode = libghdl.vhdl__nodes_meta__has_has_force_mode
+Has_Has_Force_Mode =\
+ libghdl.vhdl__nodes_meta__has_has_force_mode
-Has_Sensitivity_List = libghdl.vhdl__nodes_meta__has_sensitivity_list
+Has_Sensitivity_List =\
+ libghdl.vhdl__nodes_meta__has_sensitivity_list
-Has_Process_Origin = libghdl.vhdl__nodes_meta__has_process_origin
+Has_Process_Origin =\
+ libghdl.vhdl__nodes_meta__has_process_origin
-Has_Package_Origin = libghdl.vhdl__nodes_meta__has_package_origin
+Has_Package_Origin =\
+ libghdl.vhdl__nodes_meta__has_package_origin
-Has_Condition_Clause = libghdl.vhdl__nodes_meta__has_condition_clause
+Has_Condition_Clause =\
+ libghdl.vhdl__nodes_meta__has_condition_clause
-Has_Break_Element = libghdl.vhdl__nodes_meta__has_break_element
+Has_Break_Element =\
+ libghdl.vhdl__nodes_meta__has_break_element
-Has_Selector_Quantity = libghdl.vhdl__nodes_meta__has_selector_quantity
+Has_Selector_Quantity =\
+ libghdl.vhdl__nodes_meta__has_selector_quantity
-Has_Break_Quantity = libghdl.vhdl__nodes_meta__has_break_quantity
+Has_Break_Quantity =\
+ libghdl.vhdl__nodes_meta__has_break_quantity
-Has_Timeout_Clause = libghdl.vhdl__nodes_meta__has_timeout_clause
+Has_Timeout_Clause =\
+ libghdl.vhdl__nodes_meta__has_timeout_clause
-Has_Postponed_Flag = libghdl.vhdl__nodes_meta__has_postponed_flag
+Has_Postponed_Flag =\
+ libghdl.vhdl__nodes_meta__has_postponed_flag
-Has_Callees_List = libghdl.vhdl__nodes_meta__has_callees_list
+Has_Callees_List =\
+ libghdl.vhdl__nodes_meta__has_callees_list
-Has_Passive_Flag = libghdl.vhdl__nodes_meta__has_passive_flag
+Has_Passive_Flag =\
+ libghdl.vhdl__nodes_meta__has_passive_flag
-Has_Resolution_Function_Flag = libghdl.vhdl__nodes_meta__has_resolution_function_flag
+Has_Resolution_Function_Flag =\
+ libghdl.vhdl__nodes_meta__has_resolution_function_flag
-Has_Wait_State = libghdl.vhdl__nodes_meta__has_wait_state
+Has_Wait_State =\
+ libghdl.vhdl__nodes_meta__has_wait_state
-Has_All_Sensitized_State = libghdl.vhdl__nodes_meta__has_all_sensitized_state
+Has_All_Sensitized_State =\
+ libghdl.vhdl__nodes_meta__has_all_sensitized_state
-Has_Seen_Flag = libghdl.vhdl__nodes_meta__has_seen_flag
+Has_Seen_Flag =\
+ libghdl.vhdl__nodes_meta__has_seen_flag
-Has_Pure_Flag = libghdl.vhdl__nodes_meta__has_pure_flag
+Has_Pure_Flag =\
+ libghdl.vhdl__nodes_meta__has_pure_flag
-Has_Foreign_Flag = libghdl.vhdl__nodes_meta__has_foreign_flag
+Has_Foreign_Flag =\
+ libghdl.vhdl__nodes_meta__has_foreign_flag
-Has_Resolved_Flag = libghdl.vhdl__nodes_meta__has_resolved_flag
+Has_Resolved_Flag =\
+ libghdl.vhdl__nodes_meta__has_resolved_flag
-Has_Signal_Type_Flag = libghdl.vhdl__nodes_meta__has_signal_type_flag
+Has_Signal_Type_Flag =\
+ libghdl.vhdl__nodes_meta__has_signal_type_flag
-Has_Has_Signal_Flag = libghdl.vhdl__nodes_meta__has_has_signal_flag
+Has_Has_Signal_Flag =\
+ libghdl.vhdl__nodes_meta__has_has_signal_flag
-Has_Purity_State = libghdl.vhdl__nodes_meta__has_purity_state
+Has_Purity_State =\
+ libghdl.vhdl__nodes_meta__has_purity_state
-Has_Elab_Flag = libghdl.vhdl__nodes_meta__has_elab_flag
+Has_Elab_Flag =\
+ libghdl.vhdl__nodes_meta__has_elab_flag
-Has_Vendor_Library_Flag = libghdl.vhdl__nodes_meta__has_vendor_library_flag
+Has_Vendor_Library_Flag =\
+ libghdl.vhdl__nodes_meta__has_vendor_library_flag
-Has_Configuration_Mark_Flag = libghdl.vhdl__nodes_meta__has_configuration_mark_flag
+Has_Configuration_Mark_Flag =\
+ libghdl.vhdl__nodes_meta__has_configuration_mark_flag
-Has_Configuration_Done_Flag = libghdl.vhdl__nodes_meta__has_configuration_done_flag
+Has_Configuration_Done_Flag =\
+ libghdl.vhdl__nodes_meta__has_configuration_done_flag
-Has_Index_Constraint_Flag = libghdl.vhdl__nodes_meta__has_index_constraint_flag
+Has_Index_Constraint_Flag =\
+ libghdl.vhdl__nodes_meta__has_index_constraint_flag
-Has_Hide_Implicit_Flag = libghdl.vhdl__nodes_meta__has_hide_implicit_flag
+Has_Hide_Implicit_Flag =\
+ libghdl.vhdl__nodes_meta__has_hide_implicit_flag
-Has_Assertion_Condition = libghdl.vhdl__nodes_meta__has_assertion_condition
+Has_Assertion_Condition =\
+ libghdl.vhdl__nodes_meta__has_assertion_condition
-Has_Report_Expression = libghdl.vhdl__nodes_meta__has_report_expression
+Has_Report_Expression =\
+ libghdl.vhdl__nodes_meta__has_report_expression
-Has_Severity_Expression = libghdl.vhdl__nodes_meta__has_severity_expression
+Has_Severity_Expression =\
+ libghdl.vhdl__nodes_meta__has_severity_expression
-Has_Instantiated_Unit = libghdl.vhdl__nodes_meta__has_instantiated_unit
+Has_Instantiated_Unit =\
+ libghdl.vhdl__nodes_meta__has_instantiated_unit
-Has_Generic_Map_Aspect_Chain = libghdl.vhdl__nodes_meta__has_generic_map_aspect_chain
+Has_Generic_Map_Aspect_Chain =\
+ libghdl.vhdl__nodes_meta__has_generic_map_aspect_chain
-Has_Port_Map_Aspect_Chain = libghdl.vhdl__nodes_meta__has_port_map_aspect_chain
+Has_Port_Map_Aspect_Chain =\
+ libghdl.vhdl__nodes_meta__has_port_map_aspect_chain
-Has_Configuration_Name = libghdl.vhdl__nodes_meta__has_configuration_name
+Has_Configuration_Name =\
+ libghdl.vhdl__nodes_meta__has_configuration_name
-Has_Component_Configuration = libghdl.vhdl__nodes_meta__has_component_configuration
+Has_Component_Configuration =\
+ libghdl.vhdl__nodes_meta__has_component_configuration
-Has_Configuration_Specification = (
+Has_Configuration_Specification =\
libghdl.vhdl__nodes_meta__has_configuration_specification
-)
-Has_Default_Binding_Indication = (
+Has_Default_Binding_Indication =\
libghdl.vhdl__nodes_meta__has_default_binding_indication
-)
-Has_Default_Configuration_Declaration = (
+Has_Default_Configuration_Declaration =\
libghdl.vhdl__nodes_meta__has_default_configuration_declaration
-)
-Has_Expression = libghdl.vhdl__nodes_meta__has_expression
+Has_Expression =\
+ libghdl.vhdl__nodes_meta__has_expression
-Has_Conditional_Expression_Chain = (
+Has_Conditional_Expression_Chain =\
libghdl.vhdl__nodes_meta__has_conditional_expression_chain
-)
-Has_Allocator_Designated_Type = libghdl.vhdl__nodes_meta__has_allocator_designated_type
+Has_Allocator_Designated_Type =\
+ libghdl.vhdl__nodes_meta__has_allocator_designated_type
-Has_Selected_Waveform_Chain = libghdl.vhdl__nodes_meta__has_selected_waveform_chain
+Has_Selected_Waveform_Chain =\
+ libghdl.vhdl__nodes_meta__has_selected_waveform_chain
-Has_Conditional_Waveform_Chain = (
+Has_Conditional_Waveform_Chain =\
libghdl.vhdl__nodes_meta__has_conditional_waveform_chain
-)
-Has_Guard_Expression = libghdl.vhdl__nodes_meta__has_guard_expression
+Has_Guard_Expression =\
+ libghdl.vhdl__nodes_meta__has_guard_expression
-Has_Guard_Decl = libghdl.vhdl__nodes_meta__has_guard_decl
+Has_Guard_Decl =\
+ libghdl.vhdl__nodes_meta__has_guard_decl
-Has_Guard_Sensitivity_List = libghdl.vhdl__nodes_meta__has_guard_sensitivity_list
+Has_Guard_Sensitivity_List =\
+ libghdl.vhdl__nodes_meta__has_guard_sensitivity_list
-Has_Signal_Attribute_Chain = libghdl.vhdl__nodes_meta__has_signal_attribute_chain
+Has_Signal_Attribute_Chain =\
+ libghdl.vhdl__nodes_meta__has_signal_attribute_chain
-Has_Block_Block_Configuration = libghdl.vhdl__nodes_meta__has_block_block_configuration
+Has_Block_Block_Configuration =\
+ libghdl.vhdl__nodes_meta__has_block_block_configuration
-Has_Package_Header = libghdl.vhdl__nodes_meta__has_package_header
+Has_Package_Header =\
+ libghdl.vhdl__nodes_meta__has_package_header
-Has_Block_Header = libghdl.vhdl__nodes_meta__has_block_header
+Has_Block_Header =\
+ libghdl.vhdl__nodes_meta__has_block_header
-Has_Uninstantiated_Package_Name = (
+Has_Uninstantiated_Package_Name =\
libghdl.vhdl__nodes_meta__has_uninstantiated_package_name
-)
-Has_Uninstantiated_Package_Decl = (
+Has_Uninstantiated_Package_Decl =\
libghdl.vhdl__nodes_meta__has_uninstantiated_package_decl
-)
-Has_Instance_Source_File = libghdl.vhdl__nodes_meta__has_instance_source_file
+Has_Instance_Source_File =\
+ libghdl.vhdl__nodes_meta__has_instance_source_file
-Has_Generate_Block_Configuration = (
+Has_Generate_Block_Configuration =\
libghdl.vhdl__nodes_meta__has_generate_block_configuration
-)
-Has_Generate_Statement_Body = libghdl.vhdl__nodes_meta__has_generate_statement_body
+Has_Generate_Statement_Body =\
+ libghdl.vhdl__nodes_meta__has_generate_statement_body
-Has_Alternative_Label = libghdl.vhdl__nodes_meta__has_alternative_label
+Has_Alternative_Label =\
+ libghdl.vhdl__nodes_meta__has_alternative_label
-Has_Generate_Else_Clause = libghdl.vhdl__nodes_meta__has_generate_else_clause
+Has_Generate_Else_Clause =\
+ libghdl.vhdl__nodes_meta__has_generate_else_clause
-Has_Condition = libghdl.vhdl__nodes_meta__has_condition
+Has_Condition =\
+ libghdl.vhdl__nodes_meta__has_condition
-Has_Else_Clause = libghdl.vhdl__nodes_meta__has_else_clause
+Has_Else_Clause =\
+ libghdl.vhdl__nodes_meta__has_else_clause
-Has_Parameter_Specification = libghdl.vhdl__nodes_meta__has_parameter_specification
+Has_Parameter_Specification =\
+ libghdl.vhdl__nodes_meta__has_parameter_specification
-Has_Parent = libghdl.vhdl__nodes_meta__has_parent
+Has_Parent =\
+ libghdl.vhdl__nodes_meta__has_parent
-Has_Loop_Label = libghdl.vhdl__nodes_meta__has_loop_label
+Has_Loop_Label =\
+ libghdl.vhdl__nodes_meta__has_loop_label
-Has_Exit_Flag = libghdl.vhdl__nodes_meta__has_exit_flag
+Has_Exit_Flag =\
+ libghdl.vhdl__nodes_meta__has_exit_flag
-Has_Next_Flag = libghdl.vhdl__nodes_meta__has_next_flag
+Has_Next_Flag =\
+ libghdl.vhdl__nodes_meta__has_next_flag
-Has_Component_Name = libghdl.vhdl__nodes_meta__has_component_name
+Has_Component_Name =\
+ libghdl.vhdl__nodes_meta__has_component_name
-Has_Instantiation_List = libghdl.vhdl__nodes_meta__has_instantiation_list
+Has_Instantiation_List =\
+ libghdl.vhdl__nodes_meta__has_instantiation_list
-Has_Entity_Aspect = libghdl.vhdl__nodes_meta__has_entity_aspect
+Has_Entity_Aspect =\
+ libghdl.vhdl__nodes_meta__has_entity_aspect
-Has_Default_Entity_Aspect = libghdl.vhdl__nodes_meta__has_default_entity_aspect
+Has_Default_Entity_Aspect =\
+ libghdl.vhdl__nodes_meta__has_default_entity_aspect
-Has_Binding_Indication = libghdl.vhdl__nodes_meta__has_binding_indication
+Has_Binding_Indication =\
+ libghdl.vhdl__nodes_meta__has_binding_indication
-Has_Named_Entity = libghdl.vhdl__nodes_meta__has_named_entity
+Has_Named_Entity =\
+ libghdl.vhdl__nodes_meta__has_named_entity
-Has_Alias_Declaration = libghdl.vhdl__nodes_meta__has_alias_declaration
+Has_Alias_Declaration =\
+ libghdl.vhdl__nodes_meta__has_alias_declaration
-Has_Referenced_Name = libghdl.vhdl__nodes_meta__has_referenced_name
+Has_Referenced_Name =\
+ libghdl.vhdl__nodes_meta__has_referenced_name
-Has_Expr_Staticness = libghdl.vhdl__nodes_meta__has_expr_staticness
+Has_Expr_Staticness =\
+ libghdl.vhdl__nodes_meta__has_expr_staticness
-Has_Scalar_Size = libghdl.vhdl__nodes_meta__has_scalar_size
+Has_Scalar_Size =\
+ libghdl.vhdl__nodes_meta__has_scalar_size
-Has_Error_Origin = libghdl.vhdl__nodes_meta__has_error_origin
+Has_Error_Origin =\
+ libghdl.vhdl__nodes_meta__has_error_origin
-Has_Operand = libghdl.vhdl__nodes_meta__has_operand
+Has_Operand =\
+ libghdl.vhdl__nodes_meta__has_operand
-Has_Left = libghdl.vhdl__nodes_meta__has_left
+Has_Left =\
+ libghdl.vhdl__nodes_meta__has_left
-Has_Right = libghdl.vhdl__nodes_meta__has_right
+Has_Right =\
+ libghdl.vhdl__nodes_meta__has_right
-Has_Unit_Name = libghdl.vhdl__nodes_meta__has_unit_name
+Has_Unit_Name =\
+ libghdl.vhdl__nodes_meta__has_unit_name
-Has_Name = libghdl.vhdl__nodes_meta__has_name
+Has_Name =\
+ libghdl.vhdl__nodes_meta__has_name
-Has_Group_Template_Name = libghdl.vhdl__nodes_meta__has_group_template_name
+Has_Group_Template_Name =\
+ libghdl.vhdl__nodes_meta__has_group_template_name
-Has_Name_Staticness = libghdl.vhdl__nodes_meta__has_name_staticness
+Has_Name_Staticness =\
+ libghdl.vhdl__nodes_meta__has_name_staticness
-Has_Prefix = libghdl.vhdl__nodes_meta__has_prefix
+Has_Prefix =\
+ libghdl.vhdl__nodes_meta__has_prefix
-Has_Signature_Prefix = libghdl.vhdl__nodes_meta__has_signature_prefix
+Has_Signature_Prefix =\
+ libghdl.vhdl__nodes_meta__has_signature_prefix
-Has_External_Pathname = libghdl.vhdl__nodes_meta__has_external_pathname
+Has_External_Pathname =\
+ libghdl.vhdl__nodes_meta__has_external_pathname
-Has_Pathname_Suffix = libghdl.vhdl__nodes_meta__has_pathname_suffix
+Has_Pathname_Suffix =\
+ libghdl.vhdl__nodes_meta__has_pathname_suffix
-Has_Pathname_Expression = libghdl.vhdl__nodes_meta__has_pathname_expression
+Has_Pathname_Expression =\
+ libghdl.vhdl__nodes_meta__has_pathname_expression
-Has_In_Formal_Flag = libghdl.vhdl__nodes_meta__has_in_formal_flag
+Has_In_Formal_Flag =\
+ libghdl.vhdl__nodes_meta__has_in_formal_flag
-Has_Slice_Subtype = libghdl.vhdl__nodes_meta__has_slice_subtype
+Has_Slice_Subtype =\
+ libghdl.vhdl__nodes_meta__has_slice_subtype
-Has_Suffix = libghdl.vhdl__nodes_meta__has_suffix
+Has_Suffix =\
+ libghdl.vhdl__nodes_meta__has_suffix
-Has_Index_Subtype = libghdl.vhdl__nodes_meta__has_index_subtype
+Has_Index_Subtype =\
+ libghdl.vhdl__nodes_meta__has_index_subtype
-Has_Parameter = libghdl.vhdl__nodes_meta__has_parameter
+Has_Parameter =\
+ libghdl.vhdl__nodes_meta__has_parameter
-Has_Parameter_2 = libghdl.vhdl__nodes_meta__has_parameter_2
+Has_Parameter_2 =\
+ libghdl.vhdl__nodes_meta__has_parameter_2
-Has_Parameter_3 = libghdl.vhdl__nodes_meta__has_parameter_3
+Has_Parameter_3 =\
+ libghdl.vhdl__nodes_meta__has_parameter_3
-Has_Parameter_4 = libghdl.vhdl__nodes_meta__has_parameter_4
+Has_Parameter_4 =\
+ libghdl.vhdl__nodes_meta__has_parameter_4
-Has_Attr_Chain = libghdl.vhdl__nodes_meta__has_attr_chain
+Has_Attr_Chain =\
+ libghdl.vhdl__nodes_meta__has_attr_chain
-Has_Signal_Attribute_Declaration = (
+Has_Signal_Attribute_Declaration =\
libghdl.vhdl__nodes_meta__has_signal_attribute_declaration
-)
-Has_Actual_Type = libghdl.vhdl__nodes_meta__has_actual_type
+Has_Actual_Type =\
+ libghdl.vhdl__nodes_meta__has_actual_type
-Has_Actual_Type_Definition = libghdl.vhdl__nodes_meta__has_actual_type_definition
+Has_Actual_Type_Definition =\
+ libghdl.vhdl__nodes_meta__has_actual_type_definition
-Has_Association_Chain = libghdl.vhdl__nodes_meta__has_association_chain
+Has_Association_Chain =\
+ libghdl.vhdl__nodes_meta__has_association_chain
-Has_Individual_Association_Chain = (
+Has_Individual_Association_Chain =\
libghdl.vhdl__nodes_meta__has_individual_association_chain
-)
-Has_Subprogram_Association_Chain = (
+Has_Subprogram_Association_Chain =\
libghdl.vhdl__nodes_meta__has_subprogram_association_chain
-)
-Has_Aggregate_Info = libghdl.vhdl__nodes_meta__has_aggregate_info
+Has_Aggregate_Info =\
+ libghdl.vhdl__nodes_meta__has_aggregate_info
-Has_Sub_Aggregate_Info = libghdl.vhdl__nodes_meta__has_sub_aggregate_info
+Has_Sub_Aggregate_Info =\
+ libghdl.vhdl__nodes_meta__has_sub_aggregate_info
-Has_Aggr_Dynamic_Flag = libghdl.vhdl__nodes_meta__has_aggr_dynamic_flag
+Has_Aggr_Dynamic_Flag =\
+ libghdl.vhdl__nodes_meta__has_aggr_dynamic_flag
-Has_Aggr_Min_Length = libghdl.vhdl__nodes_meta__has_aggr_min_length
+Has_Aggr_Min_Length =\
+ libghdl.vhdl__nodes_meta__has_aggr_min_length
-Has_Aggr_Low_Limit = libghdl.vhdl__nodes_meta__has_aggr_low_limit
+Has_Aggr_Low_Limit =\
+ libghdl.vhdl__nodes_meta__has_aggr_low_limit
-Has_Aggr_High_Limit = libghdl.vhdl__nodes_meta__has_aggr_high_limit
+Has_Aggr_High_Limit =\
+ libghdl.vhdl__nodes_meta__has_aggr_high_limit
-Has_Aggr_Others_Flag = libghdl.vhdl__nodes_meta__has_aggr_others_flag
+Has_Aggr_Others_Flag =\
+ libghdl.vhdl__nodes_meta__has_aggr_others_flag
-Has_Aggr_Named_Flag = libghdl.vhdl__nodes_meta__has_aggr_named_flag
+Has_Aggr_Named_Flag =\
+ libghdl.vhdl__nodes_meta__has_aggr_named_flag
-Has_Aggregate_Expand_Flag = libghdl.vhdl__nodes_meta__has_aggregate_expand_flag
+Has_Aggregate_Expand_Flag =\
+ libghdl.vhdl__nodes_meta__has_aggregate_expand_flag
-Has_Association_Choices_Chain = libghdl.vhdl__nodes_meta__has_association_choices_chain
+Has_Association_Choices_Chain =\
+ libghdl.vhdl__nodes_meta__has_association_choices_chain
-Has_Case_Statement_Alternative_Chain = (
+Has_Case_Statement_Alternative_Chain =\
libghdl.vhdl__nodes_meta__has_case_statement_alternative_chain
-)
-Has_Choice_Staticness = libghdl.vhdl__nodes_meta__has_choice_staticness
+Has_Choice_Staticness =\
+ libghdl.vhdl__nodes_meta__has_choice_staticness
-Has_Procedure_Call = libghdl.vhdl__nodes_meta__has_procedure_call
+Has_Procedure_Call =\
+ libghdl.vhdl__nodes_meta__has_procedure_call
-Has_Implementation = libghdl.vhdl__nodes_meta__has_implementation
+Has_Implementation =\
+ libghdl.vhdl__nodes_meta__has_implementation
-Has_Parameter_Association_Chain = (
+Has_Parameter_Association_Chain =\
libghdl.vhdl__nodes_meta__has_parameter_association_chain
-)
-Has_Method_Object = libghdl.vhdl__nodes_meta__has_method_object
+Has_Method_Object =\
+ libghdl.vhdl__nodes_meta__has_method_object
-Has_Subtype_Type_Mark = libghdl.vhdl__nodes_meta__has_subtype_type_mark
+Has_Subtype_Type_Mark =\
+ libghdl.vhdl__nodes_meta__has_subtype_type_mark
-Has_Subnature_Nature_Mark = libghdl.vhdl__nodes_meta__has_subnature_nature_mark
+Has_Subnature_Nature_Mark =\
+ libghdl.vhdl__nodes_meta__has_subnature_nature_mark
-Has_Type_Conversion_Subtype = libghdl.vhdl__nodes_meta__has_type_conversion_subtype
+Has_Type_Conversion_Subtype =\
+ libghdl.vhdl__nodes_meta__has_type_conversion_subtype
-Has_Type_Mark = libghdl.vhdl__nodes_meta__has_type_mark
+Has_Type_Mark =\
+ libghdl.vhdl__nodes_meta__has_type_mark
-Has_File_Type_Mark = libghdl.vhdl__nodes_meta__has_file_type_mark
+Has_File_Type_Mark =\
+ libghdl.vhdl__nodes_meta__has_file_type_mark
-Has_Return_Type_Mark = libghdl.vhdl__nodes_meta__has_return_type_mark
+Has_Return_Type_Mark =\
+ libghdl.vhdl__nodes_meta__has_return_type_mark
-Has_Has_Disconnect_Flag = libghdl.vhdl__nodes_meta__has_has_disconnect_flag
+Has_Has_Disconnect_Flag =\
+ libghdl.vhdl__nodes_meta__has_has_disconnect_flag
-Has_Has_Active_Flag = libghdl.vhdl__nodes_meta__has_has_active_flag
+Has_Has_Active_Flag =\
+ libghdl.vhdl__nodes_meta__has_has_active_flag
-Has_Is_Within_Flag = libghdl.vhdl__nodes_meta__has_is_within_flag
+Has_Is_Within_Flag =\
+ libghdl.vhdl__nodes_meta__has_is_within_flag
-Has_Type_Marks_List = libghdl.vhdl__nodes_meta__has_type_marks_list
+Has_Type_Marks_List =\
+ libghdl.vhdl__nodes_meta__has_type_marks_list
-Has_Implicit_Alias_Flag = libghdl.vhdl__nodes_meta__has_implicit_alias_flag
+Has_Implicit_Alias_Flag =\
+ libghdl.vhdl__nodes_meta__has_implicit_alias_flag
-Has_Alias_Signature = libghdl.vhdl__nodes_meta__has_alias_signature
+Has_Alias_Signature =\
+ libghdl.vhdl__nodes_meta__has_alias_signature
-Has_Attribute_Signature = libghdl.vhdl__nodes_meta__has_attribute_signature
+Has_Attribute_Signature =\
+ libghdl.vhdl__nodes_meta__has_attribute_signature
-Has_Overload_List = libghdl.vhdl__nodes_meta__has_overload_list
+Has_Overload_List =\
+ libghdl.vhdl__nodes_meta__has_overload_list
-Has_Simple_Name_Identifier = libghdl.vhdl__nodes_meta__has_simple_name_identifier
+Has_Simple_Name_Identifier =\
+ libghdl.vhdl__nodes_meta__has_simple_name_identifier
-Has_Simple_Name_Subtype = libghdl.vhdl__nodes_meta__has_simple_name_subtype
+Has_Simple_Name_Subtype =\
+ libghdl.vhdl__nodes_meta__has_simple_name_subtype
-Has_Protected_Type_Body = libghdl.vhdl__nodes_meta__has_protected_type_body
+Has_Protected_Type_Body =\
+ libghdl.vhdl__nodes_meta__has_protected_type_body
-Has_Protected_Type_Declaration = (
+Has_Protected_Type_Declaration =\
libghdl.vhdl__nodes_meta__has_protected_type_declaration
-)
-Has_Use_Flag = libghdl.vhdl__nodes_meta__has_use_flag
+Has_Use_Flag =\
+ libghdl.vhdl__nodes_meta__has_use_flag
-Has_End_Has_Reserved_Id = libghdl.vhdl__nodes_meta__has_end_has_reserved_id
+Has_End_Has_Reserved_Id =\
+ libghdl.vhdl__nodes_meta__has_end_has_reserved_id
-Has_End_Has_Identifier = libghdl.vhdl__nodes_meta__has_end_has_identifier
+Has_End_Has_Identifier =\
+ libghdl.vhdl__nodes_meta__has_end_has_identifier
-Has_End_Has_Postponed = libghdl.vhdl__nodes_meta__has_end_has_postponed
+Has_End_Has_Postponed =\
+ libghdl.vhdl__nodes_meta__has_end_has_postponed
-Has_Has_Label = libghdl.vhdl__nodes_meta__has_has_label
+Has_Has_Label =\
+ libghdl.vhdl__nodes_meta__has_has_label
-Has_Has_Begin = libghdl.vhdl__nodes_meta__has_has_begin
+Has_Has_Begin =\
+ libghdl.vhdl__nodes_meta__has_has_begin
-Has_Has_End = libghdl.vhdl__nodes_meta__has_has_end
+Has_Has_End =\
+ libghdl.vhdl__nodes_meta__has_has_end
-Has_Has_Is = libghdl.vhdl__nodes_meta__has_has_is
+Has_Has_Is =\
+ libghdl.vhdl__nodes_meta__has_has_is
-Has_Has_Pure = libghdl.vhdl__nodes_meta__has_has_pure
+Has_Has_Pure =\
+ libghdl.vhdl__nodes_meta__has_has_pure
-Has_Has_Body = libghdl.vhdl__nodes_meta__has_has_body
+Has_Has_Body =\
+ libghdl.vhdl__nodes_meta__has_has_body
-Has_Has_Parameter = libghdl.vhdl__nodes_meta__has_has_parameter
+Has_Has_Parameter =\
+ libghdl.vhdl__nodes_meta__has_has_parameter
-Has_Has_Component = libghdl.vhdl__nodes_meta__has_has_component
+Has_Has_Component =\
+ libghdl.vhdl__nodes_meta__has_has_component
-Has_Has_Identifier_List = libghdl.vhdl__nodes_meta__has_has_identifier_list
+Has_Has_Identifier_List =\
+ libghdl.vhdl__nodes_meta__has_has_identifier_list
-Has_Has_Mode = libghdl.vhdl__nodes_meta__has_has_mode
+Has_Has_Mode =\
+ libghdl.vhdl__nodes_meta__has_has_mode
-Has_Has_Class = libghdl.vhdl__nodes_meta__has_has_class
+Has_Has_Class =\
+ libghdl.vhdl__nodes_meta__has_has_class
-Has_Has_Delay_Mechanism = libghdl.vhdl__nodes_meta__has_has_delay_mechanism
+Has_Has_Delay_Mechanism =\
+ libghdl.vhdl__nodes_meta__has_has_delay_mechanism
-Has_Suspend_Flag = libghdl.vhdl__nodes_meta__has_suspend_flag
+Has_Suspend_Flag =\
+ libghdl.vhdl__nodes_meta__has_suspend_flag
-Has_Is_Ref = libghdl.vhdl__nodes_meta__has_is_ref
+Has_Is_Ref =\
+ libghdl.vhdl__nodes_meta__has_is_ref
-Has_Is_Forward_Ref = libghdl.vhdl__nodes_meta__has_is_forward_ref
+Has_Is_Forward_Ref =\
+ libghdl.vhdl__nodes_meta__has_is_forward_ref
-Has_Psl_Property = libghdl.vhdl__nodes_meta__has_psl_property
+Has_Psl_Property =\
+ libghdl.vhdl__nodes_meta__has_psl_property
-Has_Psl_Sequence = libghdl.vhdl__nodes_meta__has_psl_sequence
+Has_Psl_Sequence =\
+ libghdl.vhdl__nodes_meta__has_psl_sequence
-Has_Psl_Declaration = libghdl.vhdl__nodes_meta__has_psl_declaration
+Has_Psl_Declaration =\
+ libghdl.vhdl__nodes_meta__has_psl_declaration
-Has_Psl_Expression = libghdl.vhdl__nodes_meta__has_psl_expression
+Has_Psl_Expression =\
+ libghdl.vhdl__nodes_meta__has_psl_expression
-Has_Psl_Boolean = libghdl.vhdl__nodes_meta__has_psl_boolean
+Has_Psl_Boolean =\
+ libghdl.vhdl__nodes_meta__has_psl_boolean
-Has_PSL_Clock = libghdl.vhdl__nodes_meta__has_psl_clock
+Has_PSL_Clock =\
+ libghdl.vhdl__nodes_meta__has_psl_clock
-Has_PSL_NFA = libghdl.vhdl__nodes_meta__has_psl_nfa
+Has_PSL_NFA =\
+ libghdl.vhdl__nodes_meta__has_psl_nfa
-Has_PSL_Nbr_States = libghdl.vhdl__nodes_meta__has_psl_nbr_states
+Has_PSL_Nbr_States =\
+ libghdl.vhdl__nodes_meta__has_psl_nbr_states
-Has_PSL_Clock_Sensitivity = libghdl.vhdl__nodes_meta__has_psl_clock_sensitivity
+Has_PSL_Clock_Sensitivity =\
+ libghdl.vhdl__nodes_meta__has_psl_clock_sensitivity
-Has_PSL_EOS_Flag = libghdl.vhdl__nodes_meta__has_psl_eos_flag
+Has_PSL_EOS_Flag =\
+ libghdl.vhdl__nodes_meta__has_psl_eos_flag
-Has_Count_Expression = libghdl.vhdl__nodes_meta__has_count_expression
+Has_Count_Expression =\
+ libghdl.vhdl__nodes_meta__has_count_expression
-Has_Clock_Expression = libghdl.vhdl__nodes_meta__has_clock_expression
+Has_Clock_Expression =\
+ libghdl.vhdl__nodes_meta__has_clock_expression
-Has_Default_Clock = libghdl.vhdl__nodes_meta__has_default_clock
+Has_Default_Clock =\
+ libghdl.vhdl__nodes_meta__has_default_clock
diff --git a/src/vhdl/vhdl-elocations.adb b/src/vhdl/vhdl-elocations.adb
index 09730e936..ecf422213 100644
--- a/src/vhdl/vhdl-elocations.adb
+++ b/src/vhdl/vhdl-elocations.adb
@@ -284,6 +284,8 @@ package body Vhdl.Elocations is
| Iir_Kind_Psl_Declaration
| Iir_Kind_Psl_Endpoint_Declaration
| Iir_Kind_Enumeration_Literal
+ | Iir_Kind_Function_Instantiation_Declaration
+ | Iir_Kind_Procedure_Instantiation_Declaration
| Iir_Kind_Terminal_Declaration
| Iir_Kind_Free_Quantity_Declaration
| Iir_Kind_Spectrum_Quantity_Declaration
diff --git a/src/vhdl/vhdl-elocations.ads b/src/vhdl/vhdl-elocations.ads
index a4eefba2f..32e13b3d5 100644
--- a/src/vhdl/vhdl-elocations.ads
+++ b/src/vhdl/vhdl-elocations.ads
@@ -264,6 +264,9 @@ package Vhdl.Elocations is
--
-- Get/Set_Is_Location (Field4)
+ -- Iir_Kind_Function_Instantiation_Declaration (None)
+ -- Iir_Kind_Procedure_Instantiation_Declaration (None)
+
-- Iir_Kind_Interface_Function_Declaration (None)
-- Iir_Kind_Interface_Procedure_Declaration (None)
diff --git a/src/vhdl/vhdl-errors.adb b/src/vhdl/vhdl-errors.adb
index 52ab0815d..7f4fde1e7 100644
--- a/src/vhdl/vhdl-errors.adb
+++ b/src/vhdl/vhdl-errors.adb
@@ -512,6 +512,10 @@ package body Vhdl.Errors is
return Disp_Identifier (Node, "procedure");
when Iir_Kind_Function_Declaration =>
return Disp_Identifier (Node, "function");
+ when Iir_Kind_Function_Instantiation_Declaration =>
+ return Disp_Identifier (Node, "function instantiation");
+ when Iir_Kind_Procedure_Instantiation_Declaration =>
+ return Disp_Identifier (Node, "procedure instantiation");
when Iir_Kind_Interface_Procedure_Declaration =>
return Disp_Identifier (Node, "interface procedure");
when Iir_Kind_Interface_Function_Declaration =>
diff --git a/src/vhdl/vhdl-nodes.adb b/src/vhdl/vhdl-nodes.adb
index ea5652c99..6c05149a7 100644
--- a/src/vhdl/vhdl-nodes.adb
+++ b/src/vhdl/vhdl-nodes.adb
@@ -1265,6 +1265,8 @@ package body Vhdl.Nodes is
| Iir_Kind_Procedure_Declaration
| Iir_Kind_Function_Body
| Iir_Kind_Procedure_Body
+ | Iir_Kind_Function_Instantiation_Declaration
+ | Iir_Kind_Procedure_Instantiation_Declaration
| Iir_Kind_Spectrum_Quantity_Declaration
| Iir_Kind_Across_Quantity_Declaration
| Iir_Kind_Through_Quantity_Declaration
@@ -3266,6 +3268,22 @@ package body Vhdl.Nodes is
Set_Field7 (D, Iir_Predefined_Functions'Pos (Def));
end Set_Implicit_Definition;
+ function Get_Uninstantiated_Subprogram_Name (N : Iir) return Iir is
+ begin
+ pragma Assert (N /= Null_Iir);
+ pragma Assert (Has_Uninstantiated_Subprogram_Name (Get_Kind (N)),
+ "no field Uninstantiated_Subprogram_Name");
+ return Get_Field6 (N);
+ end Get_Uninstantiated_Subprogram_Name;
+
+ procedure Set_Uninstantiated_Subprogram_Name (N : Iir; Name : Iir) is
+ begin
+ pragma Assert (N /= Null_Iir);
+ pragma Assert (Has_Uninstantiated_Subprogram_Name (Get_Kind (N)),
+ "no field Uninstantiated_Subprogram_Name");
+ Set_Field6 (N, Name);
+ end Set_Uninstantiated_Subprogram_Name;
+
function Get_Default_Value (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 f98ff93a0..16181a3af 100644
--- a/src/vhdl/vhdl-nodes.ads
+++ b/src/vhdl/vhdl-nodes.ads
@@ -1662,6 +1662,30 @@ package Vhdl.Nodes is
-- Only for Iir_Kind_Procedure_Body:
-- Get/Set_Suspend_Flag (Flag11)
+ -- Iir_Kind_Function_Instantiation_Declaration (Medium)
+ -- Iir_Kind_Procedure_Instantiation_Declaration (Medium)
+ --
+ -- Get/Set_Parent (Field0)
+ --
+ -- Only for Iir_Kind_Function_Instantiation_Declaration:
+ -- Get/Set_Return_Type (Field1)
+ --
+ -- Only for Iir_Kind_Function_Instantiation_Declaration:
+ -- Get/Set_Type (Alias Field1)
+ --
+ -- Get/Set_Chain (Field2)
+ --
+ -- Get/Set_Identifier (Field3)
+ --
+ -- Get/Set_Subprogram_Hash (Field4)
+ --
+ -- Get/Set_Interface_Declaration_Chain (Field5)
+ --
+ -- A signature or a simple name.
+ -- Get/Set_Uninstantiated_Subprogram_Name (Field6)
+ --
+ -- Get/Set_Generic_Map_Aspect_Chain (Field8)
+
-- Iir_Kind_Interface_Function_Declaration (Medium)
-- Iir_Kind_Interface_Procedure_Declaration (Medium)
--
@@ -4897,6 +4921,8 @@ package Vhdl.Nodes is
Iir_Kind_Procedure_Declaration, -- Subprg, Proc
Iir_Kind_Function_Body,
Iir_Kind_Procedure_Body,
+ Iir_Kind_Function_Instantiation_Declaration,
+ Iir_Kind_Procedure_Instantiation_Declaration,
Iir_Kind_Terminal_Declaration,
@@ -7907,6 +7933,10 @@ package Vhdl.Nodes is
function Get_Implicit_Definition (D : Iir) return Iir_Predefined_Functions;
procedure Set_Implicit_Definition (D : Iir; Def : Iir_Predefined_Functions);
+ -- Field: Field6
+ function Get_Uninstantiated_Subprogram_Name (N : Iir) return Iir;
+ procedure Set_Uninstantiated_Subprogram_Name (N : Iir; Name : Iir);
+
-- Get the default value of an object declaration.
-- Null_iir if no default value.
-- Note that this node can be shared between declarations if they are
diff --git a/src/vhdl/vhdl-nodes_meta.adb b/src/vhdl/vhdl-nodes_meta.adb
index 020b1c6a8..d3627db87 100644
--- a/src/vhdl/vhdl-nodes_meta.adb
+++ b/src/vhdl/vhdl-nodes_meta.adb
@@ -136,6 +136,7 @@ package body Vhdl.Nodes_Meta is
Field_Impure_Depth => Type_Iir_Int32,
Field_Return_Type => Type_Iir,
Field_Implicit_Definition => Type_Iir_Predefined_Functions,
+ Field_Uninstantiated_Subprogram_Name => Type_Iir,
Field_Default_Value => Type_Iir,
Field_Deferred_Declaration => Type_Iir,
Field_Deferred_Declaration_Flag => Type_Boolean,
@@ -629,6 +630,8 @@ package body Vhdl.Nodes_Meta is
return "return_type";
when Field_Implicit_Definition =>
return "implicit_definition";
+ when Field_Uninstantiated_Subprogram_Name =>
+ return "uninstantiated_subprogram_name";
when Field_Default_Value =>
return "default_value";
when Field_Deferred_Declaration =>
@@ -1357,6 +1360,10 @@ package body Vhdl.Nodes_Meta is
return "function_body";
when Iir_Kind_Procedure_Body =>
return "procedure_body";
+ when Iir_Kind_Function_Instantiation_Declaration =>
+ return "function_instantiation_declaration";
+ when Iir_Kind_Procedure_Instantiation_Declaration =>
+ return "procedure_instantiation_declaration";
when Iir_Kind_Terminal_Declaration =>
return "terminal_declaration";
when Iir_Kind_Object_Alias_Declaration =>
@@ -1999,6 +2006,8 @@ package body Vhdl.Nodes_Meta is
return Attr_Ref;
when Field_Implicit_Definition =>
return Attr_None;
+ when Field_Uninstantiated_Subprogram_Name =>
+ return Attr_None;
when Field_Default_Value =>
return Attr_Maybe_Ref;
when Field_Deferred_Declaration =>
@@ -3467,6 +3476,23 @@ package body Vhdl.Nodes_Meta is
Field_Sequential_Statement_Chain,
Field_Subprogram_Specification,
Field_Callees_List,
+ -- Iir_Kind_Function_Instantiation_Declaration
+ Field_Identifier,
+ Field_Subprogram_Hash,
+ Field_Parent,
+ Field_Return_Type,
+ Field_Chain,
+ Field_Interface_Declaration_Chain,
+ Field_Uninstantiated_Subprogram_Name,
+ Field_Generic_Map_Aspect_Chain,
+ -- Iir_Kind_Procedure_Instantiation_Declaration
+ Field_Identifier,
+ Field_Subprogram_Hash,
+ Field_Parent,
+ Field_Chain,
+ Field_Interface_Declaration_Chain,
+ Field_Uninstantiated_Subprogram_Name,
+ Field_Generic_Map_Aspect_Chain,
-- Iir_Kind_Terminal_Declaration
Field_Identifier,
Field_Has_Identifier_List,
@@ -5279,207 +5305,209 @@ package body Vhdl.Nodes_Meta is
Iir_Kind_Procedure_Declaration => 831,
Iir_Kind_Function_Body => 841,
Iir_Kind_Procedure_Body => 852,
- Iir_Kind_Terminal_Declaration => 861,
- Iir_Kind_Object_Alias_Declaration => 873,
- Iir_Kind_Free_Quantity_Declaration => 885,
- Iir_Kind_Spectrum_Quantity_Declaration => 898,
- Iir_Kind_Noise_Quantity_Declaration => 910,
- Iir_Kind_Across_Quantity_Declaration => 926,
- Iir_Kind_Through_Quantity_Declaration => 942,
- Iir_Kind_File_Declaration => 957,
- Iir_Kind_Guard_Signal_Declaration => 971,
- Iir_Kind_Signal_Declaration => 988,
- Iir_Kind_Variable_Declaration => 1001,
- Iir_Kind_Constant_Declaration => 1015,
- Iir_Kind_Iterator_Declaration => 1027,
- Iir_Kind_Interface_Constant_Declaration => 1044,
- Iir_Kind_Interface_Variable_Declaration => 1060,
- Iir_Kind_Interface_Signal_Declaration => 1081,
- Iir_Kind_Interface_File_Declaration => 1097,
- Iir_Kind_Interface_Quantity_Declaration => 1113,
- Iir_Kind_Interface_Terminal_Declaration => 1125,
- Iir_Kind_Interface_Type_Declaration => 1136,
- Iir_Kind_Interface_Package_Declaration => 1149,
- Iir_Kind_Interface_Function_Declaration => 1167,
- Iir_Kind_Interface_Procedure_Declaration => 1181,
- Iir_Kind_Anonymous_Signal_Declaration => 1190,
- Iir_Kind_Signal_Attribute_Declaration => 1193,
- Iir_Kind_Identity_Operator => 1197,
- Iir_Kind_Negation_Operator => 1201,
- Iir_Kind_Absolute_Operator => 1205,
- Iir_Kind_Not_Operator => 1209,
- Iir_Kind_Implicit_Condition_Operator => 1213,
- Iir_Kind_Condition_Operator => 1217,
- Iir_Kind_Reduction_And_Operator => 1221,
- Iir_Kind_Reduction_Or_Operator => 1225,
- Iir_Kind_Reduction_Nand_Operator => 1229,
- Iir_Kind_Reduction_Nor_Operator => 1233,
- Iir_Kind_Reduction_Xor_Operator => 1237,
- Iir_Kind_Reduction_Xnor_Operator => 1241,
- Iir_Kind_And_Operator => 1246,
- Iir_Kind_Or_Operator => 1251,
- Iir_Kind_Nand_Operator => 1256,
- Iir_Kind_Nor_Operator => 1261,
- Iir_Kind_Xor_Operator => 1266,
- Iir_Kind_Xnor_Operator => 1271,
- Iir_Kind_Equality_Operator => 1276,
- Iir_Kind_Inequality_Operator => 1281,
- Iir_Kind_Less_Than_Operator => 1286,
- Iir_Kind_Less_Than_Or_Equal_Operator => 1291,
- Iir_Kind_Greater_Than_Operator => 1296,
- Iir_Kind_Greater_Than_Or_Equal_Operator => 1301,
- Iir_Kind_Match_Equality_Operator => 1306,
- Iir_Kind_Match_Inequality_Operator => 1311,
- Iir_Kind_Match_Less_Than_Operator => 1316,
- Iir_Kind_Match_Less_Than_Or_Equal_Operator => 1321,
- Iir_Kind_Match_Greater_Than_Operator => 1326,
- Iir_Kind_Match_Greater_Than_Or_Equal_Operator => 1331,
- Iir_Kind_Sll_Operator => 1336,
- Iir_Kind_Sla_Operator => 1341,
- Iir_Kind_Srl_Operator => 1346,
- Iir_Kind_Sra_Operator => 1351,
- Iir_Kind_Rol_Operator => 1356,
- Iir_Kind_Ror_Operator => 1361,
- Iir_Kind_Addition_Operator => 1366,
- Iir_Kind_Substraction_Operator => 1371,
- Iir_Kind_Concatenation_Operator => 1376,
- Iir_Kind_Multiplication_Operator => 1381,
- Iir_Kind_Division_Operator => 1386,
- Iir_Kind_Modulus_Operator => 1391,
- Iir_Kind_Remainder_Operator => 1396,
- Iir_Kind_Exponentiation_Operator => 1401,
- Iir_Kind_Function_Call => 1409,
- Iir_Kind_Aggregate => 1416,
- Iir_Kind_Parenthesis_Expression => 1419,
- Iir_Kind_Qualified_Expression => 1423,
- Iir_Kind_Type_Conversion => 1428,
- Iir_Kind_Allocator_By_Expression => 1433,
- Iir_Kind_Allocator_By_Subtype => 1439,
- Iir_Kind_Selected_Element => 1447,
- Iir_Kind_Dereference => 1452,
- Iir_Kind_Implicit_Dereference => 1457,
- Iir_Kind_Slice_Name => 1464,
- Iir_Kind_Indexed_Name => 1470,
- Iir_Kind_Psl_Prev => 1476,
- Iir_Kind_Psl_Stable => 1481,
- Iir_Kind_Psl_Rose => 1486,
- Iir_Kind_Psl_Fell => 1491,
- Iir_Kind_Psl_Expression => 1493,
- Iir_Kind_Sensitized_Process_Statement => 1514,
- Iir_Kind_Process_Statement => 1534,
- Iir_Kind_Concurrent_Simple_Signal_Assignment => 1547,
- Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1560,
- Iir_Kind_Concurrent_Selected_Signal_Assignment => 1574,
- Iir_Kind_Concurrent_Assertion_Statement => 1582,
- Iir_Kind_Concurrent_Procedure_Call_Statement => 1589,
- Iir_Kind_Concurrent_Break_Statement => 1597,
- Iir_Kind_Psl_Assert_Directive => 1610,
- Iir_Kind_Psl_Assume_Directive => 1621,
- Iir_Kind_Psl_Cover_Directive => 1633,
- Iir_Kind_Psl_Restrict_Directive => 1644,
- Iir_Kind_Block_Statement => 1658,
- Iir_Kind_If_Generate_Statement => 1669,
- Iir_Kind_Case_Generate_Statement => 1678,
- Iir_Kind_For_Generate_Statement => 1687,
- Iir_Kind_Component_Instantiation_Statement => 1698,
- Iir_Kind_Psl_Default_Clock => 1702,
- Iir_Kind_Generate_Statement_Body => 1713,
- Iir_Kind_If_Generate_Else_Clause => 1719,
- Iir_Kind_Simple_Simultaneous_Statement => 1726,
- Iir_Kind_Simultaneous_Null_Statement => 1730,
- Iir_Kind_Simultaneous_Procedural_Statement => 1741,
- Iir_Kind_Simultaneous_Case_Statement => 1750,
- Iir_Kind_Simultaneous_If_Statement => 1759,
- Iir_Kind_Simultaneous_Elsif => 1765,
- Iir_Kind_Simple_Signal_Assignment_Statement => 1776,
- Iir_Kind_Conditional_Signal_Assignment_Statement => 1787,
- Iir_Kind_Selected_Waveform_Assignment_Statement => 1799,
- Iir_Kind_Signal_Force_Assignment_Statement => 1809,
- Iir_Kind_Signal_Release_Assignment_Statement => 1818,
- Iir_Kind_Null_Statement => 1822,
- Iir_Kind_Assertion_Statement => 1829,
- Iir_Kind_Report_Statement => 1835,
- Iir_Kind_Wait_Statement => 1843,
- Iir_Kind_Variable_Assignment_Statement => 1850,
- Iir_Kind_Conditional_Variable_Assignment_Statement => 1857,
- Iir_Kind_Return_Statement => 1863,
- Iir_Kind_For_Loop_Statement => 1874,
- Iir_Kind_While_Loop_Statement => 1885,
- Iir_Kind_Next_Statement => 1892,
- Iir_Kind_Exit_Statement => 1899,
- Iir_Kind_Case_Statement => 1907,
- Iir_Kind_Procedure_Call_Statement => 1913,
- Iir_Kind_Break_Statement => 1920,
- Iir_Kind_If_Statement => 1930,
- Iir_Kind_Elsif => 1936,
- Iir_Kind_Character_Literal => 1944,
- Iir_Kind_Simple_Name => 1952,
- Iir_Kind_Selected_Name => 1961,
- Iir_Kind_Operator_Symbol => 1967,
- Iir_Kind_Reference_Name => 1972,
- Iir_Kind_External_Constant_Name => 1981,
- Iir_Kind_External_Signal_Name => 1990,
- Iir_Kind_External_Variable_Name => 2000,
- Iir_Kind_Selected_By_All_Name => 2006,
- Iir_Kind_Parenthesis_Name => 2011,
- Iir_Kind_Package_Pathname => 2015,
- Iir_Kind_Absolute_Pathname => 2016,
- Iir_Kind_Relative_Pathname => 2017,
- Iir_Kind_Pathname_Element => 2022,
- Iir_Kind_Base_Attribute => 2024,
- Iir_Kind_Subtype_Attribute => 2029,
- Iir_Kind_Element_Attribute => 2034,
- Iir_Kind_Across_Attribute => 2039,
- Iir_Kind_Through_Attribute => 2044,
- Iir_Kind_Nature_Reference_Attribute => 2048,
- Iir_Kind_Left_Type_Attribute => 2053,
- Iir_Kind_Right_Type_Attribute => 2058,
- Iir_Kind_High_Type_Attribute => 2063,
- Iir_Kind_Low_Type_Attribute => 2068,
- Iir_Kind_Ascending_Type_Attribute => 2073,
- Iir_Kind_Image_Attribute => 2079,
- Iir_Kind_Value_Attribute => 2085,
- Iir_Kind_Pos_Attribute => 2091,
- Iir_Kind_Val_Attribute => 2097,
- Iir_Kind_Succ_Attribute => 2103,
- Iir_Kind_Pred_Attribute => 2109,
- Iir_Kind_Leftof_Attribute => 2115,
- Iir_Kind_Rightof_Attribute => 2121,
- Iir_Kind_Signal_Slew_Attribute => 2129,
- Iir_Kind_Quantity_Slew_Attribute => 2137,
- Iir_Kind_Ramp_Attribute => 2145,
- Iir_Kind_Zoh_Attribute => 2153,
- Iir_Kind_Ltf_Attribute => 2161,
- Iir_Kind_Ztf_Attribute => 2171,
- Iir_Kind_Dot_Attribute => 2178,
- Iir_Kind_Integ_Attribute => 2185,
- Iir_Kind_Above_Attribute => 2193,
- Iir_Kind_Quantity_Delayed_Attribute => 2201,
- Iir_Kind_Delayed_Attribute => 2210,
- Iir_Kind_Stable_Attribute => 2219,
- Iir_Kind_Quiet_Attribute => 2228,
- Iir_Kind_Transaction_Attribute => 2237,
- Iir_Kind_Event_Attribute => 2241,
- Iir_Kind_Active_Attribute => 2245,
- Iir_Kind_Last_Event_Attribute => 2249,
- Iir_Kind_Last_Active_Attribute => 2253,
- Iir_Kind_Last_Value_Attribute => 2257,
- Iir_Kind_Driving_Attribute => 2261,
- Iir_Kind_Driving_Value_Attribute => 2265,
- Iir_Kind_Behavior_Attribute => 2265,
- Iir_Kind_Structure_Attribute => 2265,
- Iir_Kind_Simple_Name_Attribute => 2272,
- Iir_Kind_Instance_Name_Attribute => 2277,
- Iir_Kind_Path_Name_Attribute => 2282,
- Iir_Kind_Left_Array_Attribute => 2289,
- Iir_Kind_Right_Array_Attribute => 2296,
- Iir_Kind_High_Array_Attribute => 2303,
- Iir_Kind_Low_Array_Attribute => 2310,
- Iir_Kind_Length_Array_Attribute => 2317,
- Iir_Kind_Ascending_Array_Attribute => 2324,
- Iir_Kind_Range_Array_Attribute => 2331,
- Iir_Kind_Reverse_Range_Array_Attribute => 2338,
- Iir_Kind_Attribute_Name => 2347
+ Iir_Kind_Function_Instantiation_Declaration => 860,
+ Iir_Kind_Procedure_Instantiation_Declaration => 867,
+ Iir_Kind_Terminal_Declaration => 876,
+ Iir_Kind_Object_Alias_Declaration => 888,
+ Iir_Kind_Free_Quantity_Declaration => 900,
+ Iir_Kind_Spectrum_Quantity_Declaration => 913,
+ Iir_Kind_Noise_Quantity_Declaration => 925,
+ Iir_Kind_Across_Quantity_Declaration => 941,
+ Iir_Kind_Through_Quantity_Declaration => 957,
+ Iir_Kind_File_Declaration => 972,
+ Iir_Kind_Guard_Signal_Declaration => 986,
+ Iir_Kind_Signal_Declaration => 1003,
+ Iir_Kind_Variable_Declaration => 1016,
+ Iir_Kind_Constant_Declaration => 1030,
+ Iir_Kind_Iterator_Declaration => 1042,
+ Iir_Kind_Interface_Constant_Declaration => 1059,
+ Iir_Kind_Interface_Variable_Declaration => 1075,
+ Iir_Kind_Interface_Signal_Declaration => 1096,
+ Iir_Kind_Interface_File_Declaration => 1112,
+ Iir_Kind_Interface_Quantity_Declaration => 1128,
+ Iir_Kind_Interface_Terminal_Declaration => 1140,
+ Iir_Kind_Interface_Type_Declaration => 1151,
+ Iir_Kind_Interface_Package_Declaration => 1164,
+ Iir_Kind_Interface_Function_Declaration => 1182,
+ Iir_Kind_Interface_Procedure_Declaration => 1196,
+ Iir_Kind_Anonymous_Signal_Declaration => 1205,
+ Iir_Kind_Signal_Attribute_Declaration => 1208,
+ Iir_Kind_Identity_Operator => 1212,
+ Iir_Kind_Negation_Operator => 1216,
+ Iir_Kind_Absolute_Operator => 1220,
+ Iir_Kind_Not_Operator => 1224,
+ Iir_Kind_Implicit_Condition_Operator => 1228,
+ Iir_Kind_Condition_Operator => 1232,
+ Iir_Kind_Reduction_And_Operator => 1236,
+ Iir_Kind_Reduction_Or_Operator => 1240,
+ Iir_Kind_Reduction_Nand_Operator => 1244,
+ Iir_Kind_Reduction_Nor_Operator => 1248,
+ Iir_Kind_Reduction_Xor_Operator => 1252,
+ Iir_Kind_Reduction_Xnor_Operator => 1256,
+ Iir_Kind_And_Operator => 1261,
+ Iir_Kind_Or_Operator => 1266,
+ Iir_Kind_Nand_Operator => 1271,
+ Iir_Kind_Nor_Operator => 1276,
+ Iir_Kind_Xor_Operator => 1281,
+ Iir_Kind_Xnor_Operator => 1286,
+ Iir_Kind_Equality_Operator => 1291,
+ Iir_Kind_Inequality_Operator => 1296,
+ Iir_Kind_Less_Than_Operator => 1301,
+ Iir_Kind_Less_Than_Or_Equal_Operator => 1306,
+ Iir_Kind_Greater_Than_Operator => 1311,
+ Iir_Kind_Greater_Than_Or_Equal_Operator => 1316,
+ Iir_Kind_Match_Equality_Operator => 1321,
+ Iir_Kind_Match_Inequality_Operator => 1326,
+ Iir_Kind_Match_Less_Than_Operator => 1331,
+ Iir_Kind_Match_Less_Than_Or_Equal_Operator => 1336,
+ Iir_Kind_Match_Greater_Than_Operator => 1341,
+ Iir_Kind_Match_Greater_Than_Or_Equal_Operator => 1346,
+ Iir_Kind_Sll_Operator => 1351,
+ Iir_Kind_Sla_Operator => 1356,
+ Iir_Kind_Srl_Operator => 1361,
+ Iir_Kind_Sra_Operator => 1366,
+ Iir_Kind_Rol_Operator => 1371,
+ Iir_Kind_Ror_Operator => 1376,
+ Iir_Kind_Addition_Operator => 1381,
+ Iir_Kind_Substraction_Operator => 1386,
+ Iir_Kind_Concatenation_Operator => 1391,
+ Iir_Kind_Multiplication_Operator => 1396,
+ Iir_Kind_Division_Operator => 1401,
+ Iir_Kind_Modulus_Operator => 1406,
+ Iir_Kind_Remainder_Operator => 1411,
+ Iir_Kind_Exponentiation_Operator => 1416,
+ Iir_Kind_Function_Call => 1424,
+ Iir_Kind_Aggregate => 1431,
+ Iir_Kind_Parenthesis_Expression => 1434,
+ Iir_Kind_Qualified_Expression => 1438,
+ Iir_Kind_Type_Conversion => 1443,
+ Iir_Kind_Allocator_By_Expression => 1448,
+ Iir_Kind_Allocator_By_Subtype => 1454,
+ Iir_Kind_Selected_Element => 1462,
+ Iir_Kind_Dereference => 1467,
+ Iir_Kind_Implicit_Dereference => 1472,
+ Iir_Kind_Slice_Name => 1479,
+ Iir_Kind_Indexed_Name => 1485,
+ Iir_Kind_Psl_Prev => 1491,
+ Iir_Kind_Psl_Stable => 1496,
+ Iir_Kind_Psl_Rose => 1501,
+ Iir_Kind_Psl_Fell => 1506,
+ Iir_Kind_Psl_Expression => 1508,
+ Iir_Kind_Sensitized_Process_Statement => 1529,
+ Iir_Kind_Process_Statement => 1549,
+ Iir_Kind_Concurrent_Simple_Signal_Assignment => 1562,
+ Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1575,
+ Iir_Kind_Concurrent_Selected_Signal_Assignment => 1589,
+ Iir_Kind_Concurrent_Assertion_Statement => 1597,
+ Iir_Kind_Concurrent_Procedure_Call_Statement => 1604,
+ Iir_Kind_Concurrent_Break_Statement => 1612,
+ Iir_Kind_Psl_Assert_Directive => 1625,
+ Iir_Kind_Psl_Assume_Directive => 1636,
+ Iir_Kind_Psl_Cover_Directive => 1648,
+ Iir_Kind_Psl_Restrict_Directive => 1659,
+ Iir_Kind_Block_Statement => 1673,
+ Iir_Kind_If_Generate_Statement => 1684,
+ Iir_Kind_Case_Generate_Statement => 1693,
+ Iir_Kind_For_Generate_Statement => 1702,
+ Iir_Kind_Component_Instantiation_Statement => 1713,
+ Iir_Kind_Psl_Default_Clock => 1717,
+ Iir_Kind_Generate_Statement_Body => 1728,
+ Iir_Kind_If_Generate_Else_Clause => 1734,
+ Iir_Kind_Simple_Simultaneous_Statement => 1741,
+ Iir_Kind_Simultaneous_Null_Statement => 1745,
+ Iir_Kind_Simultaneous_Procedural_Statement => 1756,
+ Iir_Kind_Simultaneous_Case_Statement => 1765,
+ Iir_Kind_Simultaneous_If_Statement => 1774,
+ Iir_Kind_Simultaneous_Elsif => 1780,
+ Iir_Kind_Simple_Signal_Assignment_Statement => 1791,
+ Iir_Kind_Conditional_Signal_Assignment_Statement => 1802,
+ Iir_Kind_Selected_Waveform_Assignment_Statement => 1814,
+ Iir_Kind_Signal_Force_Assignment_Statement => 1824,
+ Iir_Kind_Signal_Release_Assignment_Statement => 1833,
+ Iir_Kind_Null_Statement => 1837,
+ Iir_Kind_Assertion_Statement => 1844,
+ Iir_Kind_Report_Statement => 1850,
+ Iir_Kind_Wait_Statement => 1858,
+ Iir_Kind_Variable_Assignment_Statement => 1865,
+ Iir_Kind_Conditional_Variable_Assignment_Statement => 1872,
+ Iir_Kind_Return_Statement => 1878,
+ Iir_Kind_For_Loop_Statement => 1889,
+ Iir_Kind_While_Loop_Statement => 1900,
+ Iir_Kind_Next_Statement => 1907,
+ Iir_Kind_Exit_Statement => 1914,
+ Iir_Kind_Case_Statement => 1922,
+ Iir_Kind_Procedure_Call_Statement => 1928,
+ Iir_Kind_Break_Statement => 1935,
+ Iir_Kind_If_Statement => 1945,
+ Iir_Kind_Elsif => 1951,
+ Iir_Kind_Character_Literal => 1959,
+ Iir_Kind_Simple_Name => 1967,
+ Iir_Kind_Selected_Name => 1976,
+ Iir_Kind_Operator_Symbol => 1982,
+ Iir_Kind_Reference_Name => 1987,
+ Iir_Kind_External_Constant_Name => 1996,
+ Iir_Kind_External_Signal_Name => 2005,
+ Iir_Kind_External_Variable_Name => 2015,
+ Iir_Kind_Selected_By_All_Name => 2021,
+ Iir_Kind_Parenthesis_Name => 2026,
+ Iir_Kind_Package_Pathname => 2030,
+ Iir_Kind_Absolute_Pathname => 2031,
+ Iir_Kind_Relative_Pathname => 2032,
+ Iir_Kind_Pathname_Element => 2037,
+ Iir_Kind_Base_Attribute => 2039,
+ Iir_Kind_Subtype_Attribute => 2044,
+ Iir_Kind_Element_Attribute => 2049,
+ Iir_Kind_Across_Attribute => 2054,
+ Iir_Kind_Through_Attribute => 2059,
+ Iir_Kind_Nature_Reference_Attribute => 2063,
+ Iir_Kind_Left_Type_Attribute => 2068,
+ Iir_Kind_Right_Type_Attribute => 2073,
+ Iir_Kind_High_Type_Attribute => 2078,
+ Iir_Kind_Low_Type_Attribute => 2083,
+ Iir_Kind_Ascending_Type_Attribute => 2088,
+ Iir_Kind_Image_Attribute => 2094,
+ Iir_Kind_Value_Attribute => 2100,
+ Iir_Kind_Pos_Attribute => 2106,
+ Iir_Kind_Val_Attribute => 2112,
+ Iir_Kind_Succ_Attribute => 2118,
+ Iir_Kind_Pred_Attribute => 2124,
+ Iir_Kind_Leftof_Attribute => 2130,
+ Iir_Kind_Rightof_Attribute => 2136,
+ Iir_Kind_Signal_Slew_Attribute => 2144,
+ Iir_Kind_Quantity_Slew_Attribute => 2152,
+ Iir_Kind_Ramp_Attribute => 2160,
+ Iir_Kind_Zoh_Attribute => 2168,
+ Iir_Kind_Ltf_Attribute => 2176,
+ Iir_Kind_Ztf_Attribute => 2186,
+ Iir_Kind_Dot_Attribute => 2193,
+ Iir_Kind_Integ_Attribute => 2200,
+ Iir_Kind_Above_Attribute => 2208,
+ Iir_Kind_Quantity_Delayed_Attribute => 2216,
+ Iir_Kind_Delayed_Attribute => 2225,
+ Iir_Kind_Stable_Attribute => 2234,
+ Iir_Kind_Quiet_Attribute => 2243,
+ Iir_Kind_Transaction_Attribute => 2252,
+ Iir_Kind_Event_Attribute => 2256,
+ Iir_Kind_Active_Attribute => 2260,
+ Iir_Kind_Last_Event_Attribute => 2264,
+ Iir_Kind_Last_Active_Attribute => 2268,
+ Iir_Kind_Last_Value_Attribute => 2272,
+ Iir_Kind_Driving_Attribute => 2276,
+ Iir_Kind_Driving_Value_Attribute => 2280,
+ Iir_Kind_Behavior_Attribute => 2280,
+ Iir_Kind_Structure_Attribute => 2280,
+ Iir_Kind_Simple_Name_Attribute => 2287,
+ Iir_Kind_Instance_Name_Attribute => 2292,
+ Iir_Kind_Path_Name_Attribute => 2297,
+ Iir_Kind_Left_Array_Attribute => 2304,
+ Iir_Kind_Right_Array_Attribute => 2311,
+ Iir_Kind_High_Array_Attribute => 2318,
+ Iir_Kind_Low_Array_Attribute => 2325,
+ Iir_Kind_Length_Array_Attribute => 2332,
+ Iir_Kind_Ascending_Array_Attribute => 2339,
+ Iir_Kind_Range_Array_Attribute => 2346,
+ Iir_Kind_Reverse_Range_Array_Attribute => 2353,
+ Iir_Kind_Attribute_Name => 2362
);
function Get_Fields_First (K : Iir_Kind) return Fields_Index is
@@ -6060,6 +6088,8 @@ package body Vhdl.Nodes_Meta is
return Get_Subprogram_Body (N);
when Field_Return_Type =>
return Get_Return_Type (N);
+ when Field_Uninstantiated_Subprogram_Name =>
+ return Get_Uninstantiated_Subprogram_Name (N);
when Field_Default_Value =>
return Get_Default_Value (N);
when Field_Deferred_Declaration =>
@@ -6516,6 +6546,8 @@ package body Vhdl.Nodes_Meta is
Set_Subprogram_Body (N, V);
when Field_Return_Type =>
Set_Return_Type (N, V);
+ when Field_Uninstantiated_Subprogram_Name =>
+ Set_Uninstantiated_Subprogram_Name (N, V);
when Field_Default_Value =>
Set_Default_Value (N, V);
when Field_Deferred_Declaration =>
@@ -8402,6 +8434,8 @@ package body Vhdl.Nodes_Meta is
| Iir_Kind_Procedure_Declaration
| Iir_Kind_Function_Body
| Iir_Kind_Procedure_Body
+ | Iir_Kind_Function_Instantiation_Declaration
+ | Iir_Kind_Procedure_Instantiation_Declaration
| Iir_Kind_Terminal_Declaration
| Iir_Kind_Object_Alias_Declaration
| Iir_Kind_Free_Quantity_Declaration
@@ -8530,6 +8564,7 @@ package body Vhdl.Nodes_Meta is
| Iir_Kind_Psl_Endpoint_Declaration
| Iir_Kind_Enumeration_Literal
| Iir_Kind_Function_Declaration
+ | Iir_Kind_Function_Instantiation_Declaration
| Iir_Kind_Object_Alias_Declaration
| Iir_Kind_Free_Quantity_Declaration
| Iir_Kind_Spectrum_Quantity_Declaration
@@ -8889,6 +8924,8 @@ package body Vhdl.Nodes_Meta is
case K is
when Iir_Kind_Function_Declaration
| Iir_Kind_Procedure_Declaration
+ | Iir_Kind_Function_Instantiation_Declaration
+ | Iir_Kind_Procedure_Instantiation_Declaration
| Iir_Kind_Interface_Function_Declaration
| Iir_Kind_Interface_Procedure_Declaration =>
return True;
@@ -8978,6 +9015,8 @@ package body Vhdl.Nodes_Meta is
when Iir_Kind_Enumeration_Literal
| Iir_Kind_Function_Declaration
| Iir_Kind_Procedure_Declaration
+ | Iir_Kind_Function_Instantiation_Declaration
+ | Iir_Kind_Procedure_Instantiation_Declaration
| Iir_Kind_Interface_Function_Declaration
| Iir_Kind_Interface_Procedure_Declaration =>
return True;
@@ -9002,6 +9041,7 @@ package body Vhdl.Nodes_Meta is
case K is
when Iir_Kind_Enumeration_Literal
| Iir_Kind_Function_Declaration
+ | Iir_Kind_Function_Instantiation_Declaration
| Iir_Kind_Interface_Function_Declaration =>
return True;
when others =>
@@ -9020,6 +9060,18 @@ package body Vhdl.Nodes_Meta is
end case;
end Has_Implicit_Definition;
+ function Has_Uninstantiated_Subprogram_Name (K : Iir_Kind)
+ return Boolean is
+ begin
+ case K is
+ when Iir_Kind_Function_Instantiation_Declaration
+ | Iir_Kind_Procedure_Instantiation_Declaration =>
+ return True;
+ when others =>
+ return False;
+ end case;
+ end Has_Uninstantiated_Subprogram_Name;
+
function Has_Default_Value (K : Iir_Kind) return Boolean is
begin
case K is
@@ -9274,6 +9326,8 @@ package body Vhdl.Nodes_Meta is
| Iir_Kind_Enumeration_Literal
| Iir_Kind_Function_Declaration
| Iir_Kind_Procedure_Declaration
+ | Iir_Kind_Function_Instantiation_Declaration
+ | Iir_Kind_Procedure_Instantiation_Declaration
| Iir_Kind_Terminal_Declaration
| Iir_Kind_Object_Alias_Declaration
| Iir_Kind_Free_Quantity_Declaration
@@ -10455,6 +10509,8 @@ package body Vhdl.Nodes_Meta is
| Iir_Kind_Binding_Indication
| Iir_Kind_Package_Instantiation_Declaration
| Iir_Kind_Package_Header
+ | Iir_Kind_Function_Instantiation_Declaration
+ | Iir_Kind_Procedure_Instantiation_Declaration
| Iir_Kind_Interface_Package_Declaration
| Iir_Kind_Component_Instantiation_Statement =>
return True;
@@ -10768,6 +10824,8 @@ package body Vhdl.Nodes_Meta is
| Iir_Kind_Procedure_Declaration
| Iir_Kind_Function_Body
| Iir_Kind_Procedure_Body
+ | Iir_Kind_Function_Instantiation_Declaration
+ | Iir_Kind_Procedure_Instantiation_Declaration
| Iir_Kind_Terminal_Declaration
| Iir_Kind_Object_Alias_Declaration
| Iir_Kind_Free_Quantity_Declaration
diff --git a/src/vhdl/vhdl-nodes_meta.ads b/src/vhdl/vhdl-nodes_meta.ads
index b2547ef20..c71c85928 100644
--- a/src/vhdl/vhdl-nodes_meta.ads
+++ b/src/vhdl/vhdl-nodes_meta.ads
@@ -180,6 +180,7 @@ package Vhdl.Nodes_Meta is
Field_Impure_Depth,
Field_Return_Type,
Field_Implicit_Definition,
+ Field_Uninstantiated_Subprogram_Name,
Field_Default_Value,
Field_Deferred_Declaration,
Field_Deferred_Declaration_Flag,
@@ -759,6 +760,8 @@ package Vhdl.Nodes_Meta is
function Has_Impure_Depth (K : Iir_Kind) return Boolean;
function Has_Return_Type (K : Iir_Kind) return Boolean;
function Has_Implicit_Definition (K : Iir_Kind) return Boolean;
+ function Has_Uninstantiated_Subprogram_Name (K : Iir_Kind)
+ return Boolean;
function Has_Default_Value (K : Iir_Kind) return Boolean;
function Has_Deferred_Declaration (K : Iir_Kind) return Boolean;
function Has_Deferred_Declaration_Flag (K : Iir_Kind) return Boolean;
diff --git a/src/vhdl/vhdl-parse.adb b/src/vhdl/vhdl-parse.adb
index 7ac389a13..885604414 100644
--- a/src/vhdl/vhdl-parse.adb
+++ b/src/vhdl/vhdl-parse.adb
@@ -79,6 +79,7 @@ package body Vhdl.Parse is
First_Cond : Iir) return Iir;
function Parse_Simultaneous_Case_Statement
(Label : Name_Id; Loc : Location_Type; Expr : Iir) return Iir;
+ function Parse_Generic_Map_Aspect return Iir;
-- Maximum number of nested parenthesis, before generating an error.
Max_Parenthesis_Depth : constant Natural := 1000;
@@ -1997,10 +1998,20 @@ package body Vhdl.Parse is
end if;
end Parse_Subprogram_Designator;
+ -- Emit an error message is function declaration SUBPRG has no return
+ -- type mark.
+ procedure Check_Function_Specification (Subprg : Iir) is
+ begin
+ if Get_Return_Type_Mark (Subprg) = Null_Iir then
+ Error_Msg_Parse ("'return' expected");
+ Set_Return_Type_Mark (Subprg, Create_Error_Node);
+ end if;
+ end Check_Function_Specification;
+
-- Precond: '(' or return or any
-- Postcond: next token
procedure Parse_Subprogram_Parameters_And_Return
- (Subprg : Iir; Is_Func : Boolean)
+ (Subprg : Iir; Is_Func : Boolean; Required : Boolean)
is
Old : Iir;
pragma Unreferenced (Old);
@@ -2049,9 +2060,8 @@ package body Vhdl.Parse is
(Subprg, Parse_Type_Mark (Check_Paren => True));
end if;
else
- if Is_Func then
- Error_Msg_Parse ("'return' expected");
- Set_Return_Type_Mark (Subprg, Create_Error_Node);
+ if Is_Func and Required then
+ Check_Function_Specification (Subprg);
end if;
end if;
end Parse_Subprogram_Parameters_And_Return;
@@ -2128,7 +2138,7 @@ package body Vhdl.Parse is
Parse_Subprogram_Designator (Subprg);
Parse_Subprogram_Parameters_And_Return
- (Subprg, Kind = Iir_Kind_Interface_Function_Declaration);
+ (Subprg, Kind = Iir_Kind_Interface_Function_Declaration, True);
-- TODO: interface_subprogram_default
@@ -5326,6 +5336,7 @@ package body Vhdl.Parse is
| Tok_Impure =>
Decl := Parse_Subprogram_Declaration;
if Decl /= Null_Iir
+ and then Get_Kind (Decl) in Iir_Kinds_Subprogram_Declaration
and then Get_Subprogram_Body (Decl) /= Null_Iir
then
if Get_Kind (Parent) = Iir_Kind_Package_Declaration then
@@ -8022,6 +8033,141 @@ package body Vhdl.Parse is
end loop;
end Parse_Sequential_Statements;
+ procedure Parse_Subprogram_Body (Subprg : Iir; Is_Loc : Location_Type)
+ is
+ Kind : constant Iir_Kind := Get_Kind (Subprg);
+ Subprg_Body : Iir;
+ Begin_Loc, End_Loc : Location_Type;
+ begin
+ -- The body.
+ Set_Has_Body (Subprg, True);
+ if Kind = Iir_Kind_Function_Declaration then
+ Subprg_Body := Create_Iir (Iir_Kind_Function_Body);
+ else
+ Subprg_Body := Create_Iir (Iir_Kind_Procedure_Body);
+ end if;
+ Location_Copy (Subprg_Body, Subprg);
+
+ Set_Subprogram_Body (Subprg, Subprg_Body);
+ Set_Subprogram_Specification (Subprg_Body, Subprg);
+ Set_Chain (Subprg, Subprg_Body);
+
+ Parse_Declarative_Part (Subprg_Body, Subprg_Body);
+
+ -- Skip 'begin'.
+ Begin_Loc := Get_Token_Location;
+ Expect_Scan (Tok_Begin);
+
+ Set_Sequential_Statement_Chain
+ (Subprg_Body, Parse_Sequential_Statements (Subprg_Body));
+
+ -- Skip 'end'.
+ End_Loc := Get_Token_Location;
+ Expect_Scan (Tok_End);
+
+ if Flag_Elocations then
+ Create_Elocations (Subprg_Body);
+ Set_Is_Location (Subprg_Body, Is_Loc);
+ Set_Begin_Location (Subprg_Body, Begin_Loc);
+ Set_End_Location (Subprg_Body, End_Loc);
+ end if;
+
+ case Current_Token is
+ when Tok_Function =>
+ if Flags.Vhdl_Std = Vhdl_87 then
+ Error_Msg_Parse ("'function' not allowed here by vhdl 87");
+ end if;
+ if Kind = Iir_Kind_Procedure_Declaration then
+ Error_Msg_Parse ("'procedure' expected instead of 'function'");
+ end if;
+ Set_End_Has_Reserved_Id (Subprg_Body, True);
+
+ -- Skip 'function'.
+ Scan;
+
+ when Tok_Procedure =>
+ if Flags.Vhdl_Std = Vhdl_87 then
+ Error_Msg_Parse ("'procedure' not allowed here by vhdl 87");
+ end if;
+ if Kind = Iir_Kind_Function_Declaration then
+ Error_Msg_Parse ("'function' expected instead of 'procedure'");
+ end if;
+ Set_End_Has_Reserved_Id (Subprg_Body, True);
+
+ -- Skip 'procedure'
+ Scan;
+
+ when others =>
+ null;
+ end case;
+ case Current_Token is
+ when Tok_Identifier =>
+ Check_End_Name (Get_Identifier (Subprg), Subprg_Body);
+ when Tok_String =>
+ if Scan_To_Operator_Name (Get_Token_Location)
+ /= Get_Identifier (Subprg)
+ then
+ Error_Msg_Parse ("misspelling, %i expected", +Subprg);
+ end if;
+ Set_End_Has_Identifier (Subprg_Body, True);
+
+ -- Skip string.
+ Scan;
+
+ when others =>
+ null;
+ end case;
+ Scan_Semi_Colon_Declaration ("subprogram body");
+ end Parse_Subprogram_Body;
+
+ -- precond : NEW
+ --
+ -- LRM08 4.4 Subprogram instantiation declarations
+ -- subprogram_instantiation_declaration ::=
+ -- subprogram_kind designator IS
+ -- NEW uninstantiated_subprogram_name [ signature ]
+ -- [ generic_map_aspect ];
+ function Parse_Subprogram_Instantiation (Subprg : Iir) return Iir
+ is
+ Res : Iir;
+ begin
+ case Iir_Kinds_Subprogram_Declaration (Get_Kind (Subprg)) is
+ when Iir_Kind_Function_Declaration =>
+ Res := Create_Iir (Iir_Kind_Function_Instantiation_Declaration);
+ if Get_Has_Pure (Subprg) then
+ Error_Msg_Parse
+ (+Subprg, "pure/impure not allowed for instantiations");
+ end if;
+ if Get_Return_Type_Mark (Subprg) /= Null_Iir then
+ Error_Msg_Parse
+ (+Subprg, "return type not allowed for instantiations");
+ end if;
+ when Iir_Kind_Procedure_Declaration =>
+ Res := Create_Iir (Iir_Kind_Procedure_Instantiation_Declaration);
+ end case;
+ Location_Copy (Res, Subprg);
+ Set_Identifier (Res, Get_Identifier (Subprg));
+
+ if Get_Interface_Declaration_Chain (Subprg) /= Null_Iir then
+ Error_Msg_Parse
+ (+Subprg, "interfaces not allowed for instantiations");
+ end if;
+
+ -- Skip 'new'.
+ Scan;
+
+ Set_Uninstantiated_Subprogram_Name (Res, Parse_Signature_Name);
+
+ if Current_Token = Tok_Generic then
+ Set_Generic_Map_Aspect_Chain (Res, Parse_Generic_Map_Aspect);
+ end if;
+
+ -- Skip ';'.
+ Expect_Scan (Tok_Semi_Colon);
+
+ return Res;
+ end Parse_Subprogram_Instantiation;
+
-- precond : PROCEDURE, FUNCTION, PURE or IMPURE.
-- postcond: next token.
--
@@ -8050,9 +8196,9 @@ package body Vhdl.Parse is
function Parse_Subprogram_Declaration return Iir
is
Kind : Iir_Kind;
- Subprg: Iir;
- Subprg_Body : Iir;
- Start_Loc, Is_Loc, Begin_Loc, End_Loc : Location_Type;
+ Subprg : Iir;
+ Gen : Iir;
+ Start_Loc, Is_Loc : Location_Type;
begin
-- Create the node.
Start_Loc := Get_Token_Location;
@@ -8102,8 +8248,16 @@ package body Vhdl.Parse is
-- Designator.
Parse_Subprogram_Designator (Subprg);
+ if Current_Token = Tok_Generic then
+ -- Eat 'generic'
+ Scan;
+
+ Gen := Parse_Interface_List (Generic_Interface_List, Subprg);
+ Set_Generic_Chain (Subprg, Gen);
+ end if;
+
Parse_Subprogram_Parameters_And_Return
- (Subprg, Kind = Iir_Kind_Function_Declaration);
+ (Subprg, Kind = Iir_Kind_Function_Declaration, False);
if Flag_Elocations then
Create_Elocations (Subprg);
@@ -8115,96 +8269,30 @@ package body Vhdl.Parse is
-- Skip 'is'.
Is_Loc := Get_Token_Location;
Scan;
+
+ if Current_Token = Tok_New then
+ return Parse_Subprogram_Instantiation (Subprg);
+ end if;
when Tok_Begin =>
Error_Msg_Parse ("missing 'is' before 'begin'");
Is_Loc := Get_Token_Location;
when others =>
+ if Kind = Iir_Kind_Function_Declaration then
+ Check_Function_Specification (Subprg);
+ end if;
+
-- Skip ';'.
Expect_Scan (Tok_Semi_Colon);
return Subprg;
end case;
- -- The body.
- Set_Has_Body (Subprg, True);
if Kind = Iir_Kind_Function_Declaration then
- Subprg_Body := Create_Iir (Iir_Kind_Function_Body);
- else
- Subprg_Body := Create_Iir (Iir_Kind_Procedure_Body);
- end if;
- Location_Copy (Subprg_Body, Subprg);
-
- Set_Subprogram_Body (Subprg, Subprg_Body);
- Set_Subprogram_Specification (Subprg_Body, Subprg);
- Set_Chain (Subprg, Subprg_Body);
-
- Parse_Declarative_Part (Subprg_Body, Subprg_Body);
-
- -- Skip 'begin'.
- Begin_Loc := Get_Token_Location;
- Expect_Scan (Tok_Begin);
-
- Set_Sequential_Statement_Chain
- (Subprg_Body, Parse_Sequential_Statements (Subprg_Body));
-
- -- Skip 'end'.
- End_Loc := Get_Token_Location;
- Expect_Scan (Tok_End);
-
- if Flag_Elocations then
- Create_Elocations (Subprg_Body);
- Set_Is_Location (Subprg_Body, Is_Loc);
- Set_Begin_Location (Subprg_Body, Begin_Loc);
- Set_End_Location (Subprg_Body, End_Loc);
+ Check_Function_Specification (Subprg);
end if;
- case Current_Token is
- when Tok_Function =>
- if Flags.Vhdl_Std = Vhdl_87 then
- Error_Msg_Parse ("'function' not allowed here by vhdl 87");
- end if;
- if Kind = Iir_Kind_Procedure_Declaration then
- Error_Msg_Parse ("'procedure' expected instead of 'function'");
- end if;
- Set_End_Has_Reserved_Id (Subprg_Body, True);
-
- -- Skip 'function'.
- Scan;
-
- when Tok_Procedure =>
- if Flags.Vhdl_Std = Vhdl_87 then
- Error_Msg_Parse ("'procedure' not allowed here by vhdl 87");
- end if;
- if Kind = Iir_Kind_Function_Declaration then
- Error_Msg_Parse ("'function' expected instead of 'procedure'");
- end if;
- Set_End_Has_Reserved_Id (Subprg_Body, True);
-
- -- Skip 'procedure'
- Scan;
-
- when others =>
- null;
- end case;
- case Current_Token is
- when Tok_Identifier =>
- Check_End_Name (Get_Identifier (Subprg), Subprg_Body);
- when Tok_String =>
- if Scan_To_Operator_Name (Get_Token_Location)
- /= Get_Identifier (Subprg)
- then
- Error_Msg_Parse ("misspelling, %i expected", +Subprg);
- end if;
- Set_End_Has_Identifier (Subprg_Body, True);
-
- -- Skip string.
- Scan;
-
- when others =>
- null;
- end case;
- Scan_Semi_Colon_Declaration ("subprogram body");
-
+ -- The body.
+ Parse_Subprogram_Body (Subprg, Is_Loc);
return Subprg;
end Parse_Subprogram_Declaration;
diff --git a/src/vhdl/vhdl-utils.adb b/src/vhdl/vhdl-utils.adb
index 030889fc5..52f2c073e 100644
--- a/src/vhdl/vhdl-utils.adb
+++ b/src/vhdl/vhdl-utils.adb
@@ -308,6 +308,8 @@ package body Vhdl.Utils is
| Iir_Kind_Component_Declaration
| Iir_Kind_Function_Declaration
| Iir_Kind_Procedure_Declaration
+ | Iir_Kind_Function_Instantiation_Declaration
+ | Iir_Kind_Procedure_Instantiation_Declaration
| Iir_Kind_Attribute_Declaration
| Iir_Kind_Nature_Declaration
| Iir_Kind_Subnature_Declaration