1------------------------------------------------------------------------------ 2-- -- 3-- GNAT COMPILER COMPONENTS -- 4-- -- 5-- G E N _ I L . F I E L D S -- 6-- -- 7-- S p e c -- 8-- -- 9-- Copyright (C) 2020-2021, Free Software Foundation, Inc. -- 10-- -- 11-- GNAT is free software; you can redistribute it and/or modify it under -- 12-- terms of the GNU General Public License as published by the Free Soft- -- 13-- ware Foundation; either version 3, or (at your option) any later ver- -- 14-- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- 15-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -- 16-- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -- 17-- for more details. You should have received a copy of the GNU General -- 18-- Public License distributed with GNAT; see file COPYING3. If not, go to -- 19-- http://www.gnu.org/licenses for a complete copy of the license. -- 20-- -- 21-- GNAT was originally developed by the GNAT team at New York University. -- 22-- Extensive contributions were provided by Ada Core Technologies Inc. -- 23-- -- 24------------------------------------------------------------------------------ 25 26package Gen_IL.Fields is 27 28 -- The following is "optional field enumeration" -- i.e. it is Field_Enum 29 -- (declared below) plus the special null value No_Field. See the spec of 30 -- Gen_IL.Gen for how to modify this. (Of course, in Ada we have to define 31 -- this backwards from the above conceptual description.) 32 33 -- Note that there are various subranges of this type declared below, 34 -- which might need to be kept in sync when modifying this. 35 36 -- Be sure to put new fields in the appropriate subrange (Field_Enum, 37 -- Node_Field, Entity_Field -- search for comments below). 38 39 type Opt_Field_Enum is 40 (No_Field, 41 42 -- Start of node fields: 43 44 Nkind, 45 Sloc, 46 In_List, 47 Rewrite_Ins, 48 Comes_From_Source, 49 Analyzed, 50 Error_Posted, 51 Small_Paren_Count, 52 Check_Actuals, 53 Has_Aspects, 54 Is_Ignored_Ghost_Node, 55 Link, 56 57 Abort_Present, 58 Abortable_Part, 59 Abstract_Present, 60 Accept_Handler_Records, 61 Accept_Statement, 62 Access_Definition, 63 Access_To_Subprogram_Definition, 64 Access_Types_To_Process, 65 Actions, 66 Activation_Chain_Entity, 67 Acts_As_Spec, 68 Actual_Designated_Subtype, 69 Address_Warning_Posted, 70 Aggregate_Bounds, 71 Aliased_Present, 72 Alloc_For_BIP_Return, 73 All_Others, 74 All_Present, 75 Alternatives, 76 Ancestor_Part, 77 Atomic_Sync_Required, 78 Array_Aggregate, 79 Aspect_On_Partial_View, 80 Aspect_Rep_Item, 81 Assignment_OK, 82 Attribute_Name, 83 At_End_Proc, 84 Aux_Decls_Node, 85 Backwards_OK, 86 Bad_Is_Detected, 87 Binding_Chars, 88 Body_Required, 89 Body_To_Inline, 90 Box_Present, 91 By_Ref, 92 Char_Literal_Value, 93 Chars, 94 Check_Address_Alignment, 95 Choice_Parameter, 96 Choices, 97 Class_Present, 98 Classifications, 99 Cleanup_Actions, 100 Comes_From_Extended_Return_Statement, 101 Compile_Time_Known_Aggregate, 102 Component_Associations, 103 Component_Clauses, 104 Component_Definition, 105 Component_Items, 106 Component_List, 107 Component_Name, 108 Componentwise_Assignment, 109 Condition, 110 Condition_Actions, 111 Config_Pragmas, 112 Constant_Present, 113 Constraint, 114 Constraints, 115 Context_Installed, 116 Context_Items, 117 Context_Pending, 118 Contract_Test_Cases, 119 Controlling_Argument, 120 Conversion_OK, 121 Convert_To_Return_False, 122 Corresponding_Aspect, 123 Corresponding_Body, 124 Corresponding_Entry_Body, 125 Corresponding_Formal_Spec, 126 Corresponding_Generic_Association, 127 Corresponding_Integer_Value, 128 Corresponding_Spec, 129 Corresponding_Spec_Of_Stub, 130 Corresponding_Stub, 131 Dcheck_Function, 132 Declarations, 133 Default_Expression, 134 Default_Storage_Pool, 135 Default_Name, 136 Default_Subtype_Mark, 137 Defining_Identifier, 138 Defining_Unit_Name, 139 Delay_Alternative, 140 Delay_Statement, 141 Delta_Expression, 142 Digits_Expression, 143 Discr_Check_Funcs_Built, 144 Discrete_Choices, 145 Discrete_Range, 146 Discrete_Subtype_Definition, 147 Discrete_Subtype_Definitions, 148 Discriminant_Specifications, 149 Discriminant_Type, 150 Do_Discriminant_Check, 151 Do_Division_Check, 152 Do_Length_Check, 153 Do_Overflow_Check, 154 Do_Range_Check, 155 Do_Storage_Check, 156 Elaborate_All_Desirable, 157 Elaborate_All_Present, 158 Elaborate_Desirable, 159 Elaborate_Present, 160 Else_Actions, 161 Else_Statements, 162 Elsif_Parts, 163 Enclosing_Variant, 164 End_Label, 165 End_Span, 166 Entity_Or_Associated_Node, 167 Entry_Body_Formal_Part, 168 Entry_Call_Alternative, 169 Entry_Call_Statement, 170 Entry_Direct_Name, 171 Entry_Index, 172 Entry_Index_Specification, 173 Etype, 174 Exception_Choices, 175 Exception_Handlers, 176 Exception_Junk, 177 Exception_Label, 178 Expansion_Delayed, 179 Explicit_Actual_Parameter, 180 Explicit_Generic_Actual_Parameter, 181 Expression, 182 Expression_Copy, 183 Expressions, 184 First_Bit, 185 First_Inlined_Subprogram, 186 First_Name, 187 First_Named_Actual, 188 First_Real_Statement, 189 First_Subtype_Link, 190 Float_Truncate, 191 Formal_Type_Definition, 192 Forwards_OK, 193 From_Aspect_Specification, 194 From_At_End, 195 From_At_Mod, 196 From_Conditional_Expression, 197 From_Default, 198 Generalized_Indexing, 199 Generic_Associations, 200 Generic_Formal_Declarations, 201 Generic_Parent, 202 Generic_Parent_Type, 203 Handled_Statement_Sequence, 204 Handler_List_Entry, 205 Has_Created_Identifier, 206 Has_Dereference_Action, 207 Has_Dynamic_Length_Check, 208 Has_Init_Expression, 209 Has_Local_Raise, 210 Has_No_Elaboration_Code, 211 Has_Pragma_Suppress_All, 212 Has_Private_View, 213 Has_Relative_Deadline_Pragma, 214 Has_Self_Reference, 215 Has_SP_Choice, 216 Has_Storage_Size_Pragma, 217 Has_Target_Names, 218 Has_Wide_Character, 219 Has_Wide_Wide_Character, 220 Header_Size_Added, 221 Hidden_By_Use_Clause, 222 High_Bound, 223 Identifier, 224 Interface_List, 225 Interface_Present, 226 Implicit_With, 227 Import_Interface_Present, 228 In_Present, 229 Includes_Infinities, 230 Incomplete_View, 231 Inherited_Discriminant, 232 Instance_Spec, 233 Intval, 234 Is_Abort_Block, 235 Is_Accessibility_Actual, 236 Is_Analyzed_Pragma, 237 Is_Asynchronous_Call_Block, 238 Is_Boolean_Aspect, 239 Is_Checked, 240 Is_Checked_Ghost_Pragma, 241 Is_Component_Left_Opnd, 242 Is_Component_Right_Opnd, 243 Is_Controlling_Actual, 244 Is_Declaration_Level_Node, 245 Is_Delayed_Aspect, 246 Is_Disabled, 247 Is_Dispatching_Call, 248 Is_Dynamic_Coextension, 249 Is_Effective_Use_Clause, 250 Is_Elaboration_Checks_OK_Node, 251 Is_Elaboration_Code, 252 Is_Elaboration_Warnings_OK_Node, 253 Is_Elsif, 254 Is_Entry_Barrier_Function, 255 Is_Expanded_Build_In_Place_Call, 256 Is_Expanded_Contract, 257 Is_Finalization_Wrapper, 258 Is_Folded_In_Parser, 259 Is_Generic_Contract_Pragma, 260 Is_Homogeneous_Aggregate, 261 Is_Parenthesis_Aggregate, 262 Is_Enum_Array_Aggregate, 263 Is_Ignored, 264 Is_Ignored_Ghost_Pragma, 265 Is_In_Discriminant_Check, 266 Is_Inherited_Pragma, 267 Is_Initialization_Block, 268 Is_Known_Guaranteed_ABE, 269 Is_Machine_Number, 270 Is_Null_Loop, 271 Is_Overloaded, 272 Is_Power_Of_2_For_Shift, 273 Is_Preelaborable_Call, 274 Is_Prefixed_Call, 275 Is_Protected_Subprogram_Body, 276 Is_Qualified_Universal_Literal, 277 Is_Read, 278 Is_Source_Call, 279 Is_SPARK_Mode_On_Node, 280 Is_Static_Coextension, 281 Is_Static_Expression, 282 Is_Subprogram_Descriptor, 283 Is_Task_Allocation_Block, 284 Is_Task_Body_Procedure, 285 Is_Task_Master, 286 Is_Write, 287 Iterator_Filter, 288 Iteration_Scheme, 289 Iterator_Specification, 290 Itype, 291 Key_Expression, 292 Kill_Range_Check, 293 Last_Bit, 294 Last_Name, 295 Library_Unit, 296 Label_Construct, 297 Left_Opnd, 298 Limited_View_Installed, 299 Limited_Present, 300 Literals, 301 Local_Raise_Not_OK, 302 Local_Raise_Statements, 303 Loop_Actions, 304 Loop_Parameter_Specification, 305 Low_Bound, 306 Mod_Clause, 307 More_Ids, 308 Multidefined_Bindings, 309 Must_Be_Byte_Aligned, 310 Must_Not_Freeze, 311 Must_Not_Override, 312 Must_Override, 313 Name, 314 Names, 315 Next_Entity, 316 Next_Exit_Statement, 317 Next_Implicit_With, 318 Next_Named_Actual, 319 Next_Pragma, 320 Next_Rep_Item, 321 Next_Use_Clause, 322 No_Ctrl_Actions, 323 No_Elaboration_Check, 324 No_Entities_Ref_In_Spec, 325 No_Initialization, 326 No_Minimize_Eliminate, 327 No_Side_Effect_Removal, 328 No_Truncation, 329 Null_Excluding_Subtype, 330 Null_Exclusion_Present, 331 Null_Exclusion_In_Return_Present, 332 Null_Present, 333 Null_Record_Present, 334 Null_Statement, 335 Object_Definition, 336 Of_Present, 337 Original_Discriminant, 338 Original_Entity, 339 Others_Discrete_Choices, 340 Out_Present, 341 Parameter_Associations, 342 Parameter_Specifications, 343 Parameter_Type, 344 Parent_Spec, 345 Parent_With, 346 Position, 347 Pragma_Argument_Associations, 348 Pragma_Identifier, 349 Pragmas_After, 350 Pragmas_Before, 351 Pre_Post_Conditions, 352 Prefix, 353 Premature_Use, 354 Present_Expr, 355 Prev_Ids, 356 Prev_Use_Clause, 357 Print_In_Hex, 358 Private_Declarations, 359 Private_Present, 360 Procedure_To_Call, 361 Proper_Body, 362 Protected_Definition, 363 Protected_Present, 364 Raises_Constraint_Error, 365 Range_Constraint, 366 Range_Expression, 367 Real_Range_Specification, 368 Realval, 369 Reason, 370 Record_Extension_Part, 371 Redundant_Use, 372 Renaming_Exception, 373 Result_Definition, 374 Return_Object_Declarations, 375 Return_Statement_Entity, 376 Reverse_Present, 377 Right_Opnd, 378 Rounded_Result, 379 Save_Invocation_Graph_Of_Body, 380 SCIL_Controlling_Tag, 381 SCIL_Entity, 382 SCIL_Tag_Value, 383 SCIL_Target_Prim, 384 Scope, 385 Select_Alternatives, 386 Selector_Name, 387 Selector_Names, 388 Shift_Count_OK, 389 Source_Type, 390 Specification, 391 Split_PPC, 392 Statements, 393 Storage_Pool, 394 Subpool_Handle_Name, 395 Strval, 396 Subtype_Indication, 397 Subtype_Mark, 398 Subtype_Marks, 399 Suppress_Assignment_Checks, 400 Suppress_Loop_Warnings, 401 Synchronized_Present, 402 Tagged_Present, 403 Target, 404 Target_Type, 405 Task_Definition, 406 Task_Present, 407 Then_Actions, 408 Then_Statements, 409 Triggering_Alternative, 410 Triggering_Statement, 411 TSS_Elist, 412 Type_Definition, 413 Uneval_Old_Accept, 414 Uneval_Old_Warn, 415 Unit, 416 Unknown_Discriminants_Present, 417 Unreferenced_In_Spec, 418 Variant_Part, 419 Variants, 420 Visible_Declarations, 421 Uninitialized_Variable, 422 Used_Operations, 423 Was_Attribute_Reference, 424 Was_Default_Init_Box_Association, 425 Was_Expression_Function, 426 Was_Originally_Stub, 427 428 -- End of node fields. 429 430 Between_Node_And_Entity_Fields, 431 432 -- Start of entity fields: 433 434 Ekind, 435 Basic_Convention, 436 Abstract_States, 437 Accept_Address, 438 Access_Disp_Table, 439 Access_Disp_Table_Elab_Flag, 440 Access_Subprogram_Wrapper, 441 Activation_Record_Component, 442 Actual_Subtype, 443 Address_Taken, 444 Alignment, 445 Anonymous_Designated_Type, 446 Anonymous_Masters, 447 Anonymous_Object, 448 Associated_Entity, 449 Associated_Formal_Package, 450 Associated_Node_For_Itype, 451 Associated_Storage_Pool, 452 Barrier_Function, 453 BIP_Initialization_Call, 454 Block_Node, 455 Body_Entity, 456 Body_Needed_For_Inlining, 457 Body_Needed_For_SAL, 458 Body_References, 459 C_Pass_By_Copy, 460 Can_Never_Be_Null, 461 Can_Use_Internal_Rep, 462 Checks_May_Be_Suppressed, 463 Class_Postconditions, 464 Class_Preconditions, 465 Class_Preconditions_Subprogram, 466 Class_Wide_Type, 467 Cloned_Subtype, 468 Component_Alignment, 469 Component_Bit_Offset, 470 Component_Clause, 471 Component_Size, 472 Component_Type, 473 Contract, 474 Contract_Wrapper, 475 Corresponding_Concurrent_Type, 476 Corresponding_Discriminant, 477 Corresponding_Equality, 478 Corresponding_Function, 479 Corresponding_Procedure, 480 Corresponding_Record_Component, 481 Corresponding_Record_Type, 482 Corresponding_Remote_Type, 483 CR_Discriminant, 484 Current_Use_Clause, 485 Current_Value, 486 Debug_Info_Off, 487 Debug_Renaming_Link, 488 Default_Aspect_Component_Value, 489 Default_Aspect_Value, 490 Default_Expr_Function, 491 Default_Expressions_Processed, 492 Default_Value, 493 Delay_Cleanups, 494 Delay_Subprogram_Descriptors, 495 Delta_Value, 496 Dependent_Instances, 497 Depends_On_Private, 498 Derived_Type_Link, 499 Digits_Value, 500 Predicated_Parent, 501 Predicates_Ignored, 502 Direct_Primitive_Operations, 503 Directly_Designated_Type, 504 Disable_Controlled, 505 Discard_Names, 506 Discriminal, 507 Discriminal_Link, 508 Discriminant_Checking_Func, 509 Discriminant_Constraint, 510 Discriminant_Default_Value, 511 Discriminant_Number, 512 Dispatch_Table_Wrappers, 513 Dynamic_Call_Helper, 514 DT_Entry_Count, 515 DT_Offset_To_Top_Func, 516 DT_Position, 517 DTC_Entity, 518 Elaborate_Body_Desirable, 519 Elaboration_Entity, 520 Elaboration_Entity_Required, 521 Encapsulating_State, 522 Enclosing_Scope, 523 Entry_Accepted, 524 Entry_Bodies_Array, 525 Entry_Cancel_Parameter, 526 Entry_Component, 527 Entry_Formal, 528 Entry_Index_Constant, 529 Entry_Max_Queue_Lengths_Array, 530 Entry_Parameters_Type, 531 Enum_Pos_To_Rep, 532 Enumeration_Pos, 533 Enumeration_Rep, 534 Enumeration_Rep_Expr, 535 Equivalent_Type, 536 Esize, 537 Extra_Accessibility, 538 Extra_Accessibility_Of_Result, 539 Extra_Constrained, 540 Extra_Formal, 541 Extra_Formals, 542 Finalization_Master, 543 Finalize_Storage_Only, 544 Finalizer, 545 First_Entity, 546 First_Exit_Statement, 547 First_Index, 548 First_Literal, 549 First_Private_Entity, 550 First_Rep_Item, 551 Freeze_Node, 552 From_Limited_With, 553 Full_View, 554 Generic_Homonym, 555 Generic_Renamings, 556 Handler_Records, 557 Has_Aliased_Components, 558 Has_Alignment_Clause, 559 Has_All_Calls_Remote, 560 Has_Atomic_Components, 561 Has_Biased_Representation, 562 Has_Completion, 563 Has_Completion_In_Body, 564 Has_Complex_Representation, 565 Has_Component_Size_Clause, 566 Has_Constrained_Partial_View, 567 Has_Contiguous_Rep, 568 Has_Controlled_Component, 569 Has_Controlling_Result, 570 Has_Convention_Pragma, 571 Has_Default_Aspect, 572 Has_Delayed_Aspects, 573 Has_Delayed_Freeze, 574 Has_Delayed_Rep_Aspects, 575 Has_Discriminants, 576 Has_Dispatch_Table, 577 Has_Dynamic_Predicate_Aspect, 578 Has_Enumeration_Rep_Clause, 579 Has_Exit, 580 Has_Expanded_Contract, 581 Has_Forward_Instantiation, 582 Has_Fully_Qualified_Name, 583 Has_Gigi_Rep_Item, 584 Has_Homonym, 585 Has_Implicit_Dereference, 586 Has_Independent_Components, 587 Has_Inheritable_Invariants, 588 Has_Inherited_DIC, 589 Has_Inherited_Invariants, 590 Has_Initial_Value, 591 Has_Loop_Entry_Attributes, 592 Has_Machine_Radix_Clause, 593 Has_Master_Entity, 594 Has_Missing_Return, 595 Has_Nested_Block_With_Handler, 596 Has_Nested_Subprogram, 597 Has_Non_Standard_Rep, 598 Has_Object_Size_Clause, 599 Has_Out_Or_In_Out_Parameter, 600 Has_Own_DIC, 601 Has_Own_Invariants, 602 Has_Partial_Visible_Refinement, 603 Has_Per_Object_Constraint, 604 Has_Pragma_Controlled, 605 Has_Pragma_Elaborate_Body, 606 Has_Pragma_Inline, 607 Has_Pragma_Inline_Always, 608 Has_Pragma_No_Inline, 609 Has_Pragma_Ordered, 610 Has_Pragma_Pack, 611 Has_Pragma_Preelab_Init, 612 Has_Pragma_Pure, 613 Has_Pragma_Pure_Function, 614 Has_Pragma_Thread_Local_Storage, 615 Has_Pragma_Unmodified, 616 Has_Pragma_Unreferenced, 617 Has_Pragma_Unreferenced_Objects, 618 Has_Pragma_Unused, 619 Has_Predicates, 620 Has_Primitive_Operations, 621 Has_Private_Ancestor, 622 Has_Private_Declaration, 623 Has_Private_Extension, 624 Has_Protected, 625 Has_Qualified_Name, 626 Has_RACW, 627 Has_Record_Rep_Clause, 628 Has_Recursive_Call, 629 Has_Shift_Operator, 630 Has_Size_Clause, 631 Has_Small_Clause, 632 Has_Specified_Layout, 633 Has_Specified_Stream_Input, 634 Has_Specified_Stream_Output, 635 Has_Specified_Stream_Read, 636 Has_Specified_Stream_Write, 637 Has_Static_Discriminants, 638 Has_Static_Predicate, 639 Has_Static_Predicate_Aspect, 640 Has_Storage_Size_Clause, 641 Has_Stream_Size_Clause, 642 Has_Task, 643 Has_Timing_Event, 644 Has_Thunks, 645 Has_Unchecked_Union, 646 Has_Unknown_Discriminants, 647 Has_Visible_Refinement, 648 Has_Volatile_Components, 649 Has_Xref_Entry, 650 Has_Yield_Aspect, 651 Hiding_Loop_Variable, 652 Hidden_In_Formal_Instance, 653 Homonym, 654 Ignored_Class_Postconditions, 655 Ignored_Class_Preconditions, 656 Ignore_SPARK_Mode_Pragmas, 657 Import_Pragma, 658 Incomplete_Actuals, 659 Indirect_Call_Wrapper, 660 In_Package_Body, 661 In_Private_Part, 662 In_Use, 663 Initialization_Statements, 664 Inner_Instances, 665 Interface_Alias, 666 Interface_Name, 667 Interfaces, 668 Is_Abstract_Subprogram, 669 Is_Abstract_Type, 670 Is_Access_Constant, 671 Is_Activation_Record, 672 Is_Actual_Subtype, 673 Is_Ada_2005_Only, 674 Is_Ada_2012_Only, 675 Is_Ada_2022_Only, 676 Is_Aliased, 677 Is_Asynchronous, 678 Is_Atomic, 679 Is_Bit_Packed_Array, 680 Is_Called, 681 Is_Character_Type, 682 Is_Checked_Ghost_Entity, 683 Is_Child_Unit, 684 Is_Class_Wide_Equivalent_Type, 685 Is_Class_Wide_Wrapper, 686 Is_Compilation_Unit, 687 Is_Completely_Hidden, 688 Is_Concurrent_Record_Type, 689 Is_Constr_Subt_For_U_Nominal, 690 Is_Constr_Subt_For_UN_Aliased, 691 Is_Constrained, 692 Is_Constructor, 693 Is_Controlled_Active, 694 Is_Controlling_Formal, 695 Is_CPP_Class, 696 Is_CUDA_Kernel, 697 Is_Descendant_Of_Address, 698 Is_DIC_Procedure, 699 Is_Discrim_SO_Function, 700 Is_Discriminant_Check_Function, 701 Is_Dispatch_Table_Entity, 702 Is_Dispatch_Table_Wrapper, 703 Is_Dispatching_Operation, 704 Is_Elaboration_Checks_OK_Id, 705 Is_Elaboration_Warnings_OK_Id, 706 Is_Eliminated, 707 Is_Entry_Formal, 708 Is_Entry_Wrapper, 709 Is_Exception_Handler, 710 Is_Exported, 711 Is_Finalized_Transient, 712 Is_First_Subtype, 713 Is_Fixed_Lower_Bound_Array_Subtype, 714 Is_Fixed_Lower_Bound_Index_Subtype, 715 Is_Formal_Subprogram, 716 Is_Frozen, 717 Is_Generic_Actual_Subprogram, 718 Is_Generic_Actual_Type, 719 Is_Generic_Instance, 720 Is_Generic_Type, 721 Is_Hidden, 722 Is_Hidden_Non_Overridden_Subpgm, 723 Is_Hidden_Open_Scope, 724 Is_Ignored_Ghost_Entity, 725 Is_Ignored_Transient, 726 Is_Immediately_Visible, 727 Is_Implementation_Defined, 728 Is_Imported, 729 Is_Independent, 730 Is_Initial_Condition_Procedure, 731 Is_Inlined, 732 Is_Inlined_Always, 733 Is_Instantiated, 734 Is_Interface, 735 Is_Internal, 736 Is_Interrupt_Handler, 737 Is_Intrinsic_Subprogram, 738 Is_Invariant_Procedure, 739 Is_Itype, 740 Is_Known_Non_Null, 741 Is_Known_Null, 742 Is_Known_Valid, 743 Is_Limited_Composite, 744 Is_Limited_Interface, 745 Is_Limited_Record, 746 Is_Local_Anonymous_Access, 747 Is_Loop_Parameter, 748 Is_Machine_Code_Subprogram, 749 Is_Non_Static_Subtype, 750 Is_Null_Init_Proc, 751 Is_Obsolescent, 752 Is_Only_Out_Parameter, 753 Is_Package_Body_Entity, 754 Is_Packed, 755 Is_Packed_Array_Impl_Type, 756 Is_Param_Block_Component_Type, 757 Is_Partial_Invariant_Procedure, 758 Is_Potentially_Use_Visible, 759 Is_Predicate_Function, 760 Is_Predicate_Function_M, 761 Is_Preelaborated, 762 Is_Primitive, 763 Is_Primitive_Wrapper, 764 Is_Private_Composite, 765 Is_Private_Descendant, 766 Is_Private_Primitive, 767 Is_Public, 768 Is_Pure, 769 Is_Pure_Unit_Access_Type, 770 Is_RACW_Stub_Type, 771 Is_Raised, 772 Is_Remote_Call_Interface, 773 Is_Remote_Types, 774 Is_Renaming_Of_Object, 775 Is_Return_Object, 776 Is_Safe_To_Reevaluate, 777 Is_Shared_Passive, 778 Is_Static_Type, 779 Is_Statically_Allocated, 780 Is_Tag, 781 Is_Tagged_Type, 782 Is_Thunk, 783 Is_Trivial_Subprogram, 784 Is_True_Constant, 785 Is_Unchecked_Union, 786 Is_Underlying_Full_View, 787 Is_Underlying_Record_View, 788 Is_Unimplemented, 789 Is_Unsigned_Type, 790 Is_Uplevel_Referenced_Entity, 791 Is_Valued_Procedure, 792 Is_Visible_Formal, 793 Is_Visible_Lib_Unit, 794 Is_Volatile_Type, 795 Is_Volatile_Object, 796 Is_Volatile_Full_Access, 797 Is_Wrapper, 798 Itype_Printed, 799 Kill_Elaboration_Checks, 800 Kill_Range_Checks, 801 Known_To_Have_Preelab_Init, 802 Last_Aggregate_Assignment, 803 Last_Assignment, 804 Last_Entity, 805 Limited_View, 806 Linker_Section_Pragma, 807 Lit_Hash, 808 Lit_Indexes, 809 Lit_Strings, 810 Low_Bound_Tested, 811 LSP_Subprogram, 812 Machine_Radix_10, 813 Master_Id, 814 Materialize_Entity, 815 May_Inherit_Delayed_Rep_Aspects, 816 Mechanism, 817 Minimum_Accessibility, 818 Modulus, 819 Must_Be_On_Byte_Boundary, 820 Must_Have_Preelab_Init, 821 Needs_Activation_Record, 822 Needs_Debug_Info, 823 Needs_No_Actuals, 824 Never_Set_In_Source, 825 Next_Inlined_Subprogram, 826 No_Dynamic_Predicate_On_Actual, 827 No_Pool_Assigned, 828 No_Predicate_On_Actual, 829 No_Reordering, 830 No_Return, 831 No_Strict_Aliasing, 832 No_Tagged_Streams_Pragma, 833 Non_Binary_Modulus, 834 Non_Limited_View, 835 Nonzero_Is_True, 836 Normalized_First_Bit, 837 Normalized_Position, 838 OK_To_Rename, 839 Optimize_Alignment_Space, 840 Optimize_Alignment_Time, 841 Original_Access_Type, 842 Original_Array_Type, 843 Original_Protected_Subprogram, 844 Original_Record_Component, 845 Overlays_Constant, 846 Overridden_Operation, 847 Package_Instantiation, 848 Packed_Array_Impl_Type, 849 Parent_Subtype, 850 Part_Of_Constituents, 851 Part_Of_References, 852 Partial_View_Has_Unknown_Discr, 853 Pending_Access_Types, 854 Postconditions_Proc, 855 Prev_Entity, 856 Prival, 857 Prival_Link, 858 Private_Dependents, 859 Protected_Body_Subprogram, 860 Protected_Formal, 861 Protected_Subprogram, 862 Protection_Object, 863 Reachable, 864 Receiving_Entry, 865 Referenced, 866 Referenced_As_LHS, 867 Referenced_As_Out_Parameter, 868 Refinement_Constituents, 869 Register_Exception_Call, 870 Related_Array_Object, 871 Related_Expression, 872 Related_Instance, 873 Related_Type, 874 Relative_Deadline_Variable, 875 Renamed_In_Spec, 876 Renamed_Or_Alias, -- Shared among Alias, Renamed_Entity, Renamed_Object 877 Requires_Overriding, 878 Return_Applies_To, 879 Return_Present, 880 Return_Statement, 881 Returns_By_Ref, 882 Reverse_Bit_Order, 883 Reverse_Storage_Order, 884 Rewritten_For_C, 885 RM_Size, 886 Scalar_Range, 887 Scale_Value, 888 Scope_Depth_Value, 889 Sec_Stack_Needed_For_Return, 890 Shared_Var_Procs_Instance, 891 Size_Check_Code, 892 Size_Depends_On_Discriminant, 893 Size_Known_At_Compile_Time, 894 Small_Value, 895 SPARK_Aux_Pragma, 896 SPARK_Aux_Pragma_Inherited, 897 SPARK_Pragma, 898 SPARK_Pragma_Inherited, 899 Spec_Entity, 900 SSO_Set_High_By_Default, 901 SSO_Set_Low_By_Default, 902 Static_Call_Helper, 903 Static_Discrete_Predicate, 904 Static_Elaboration_Desired, 905 Static_Initialization, 906 Static_Real_Or_String_Predicate, 907 Status_Flag_Or_Transient_Decl, 908 Storage_Size_Variable, 909 Stored_Constraint, 910 Stores_Attribute_Old_Prefix, 911 Strict_Alignment, 912 String_Literal_Length, 913 String_Literal_Low_Bound, 914 Subprograms_For_Type, 915 Subps_Index, 916 Suppress_Elaboration_Warnings, 917 Suppress_Initialization, 918 Suppress_Style_Checks, 919 Suppress_Value_Tracking_On_Call, 920 Task_Body_Procedure, 921 Thunk_Entity, 922 Treat_As_Volatile, 923 Underlying_Full_View, 924 Underlying_Record_View, 925 Universal_Aliasing, 926 Unset_Reference, 927 Used_As_Generic_Actual, 928 Uses_Lock_Free, 929 Uses_Sec_Stack, 930 Validated_Object, 931 Warnings_Off, 932 Warnings_Off_Used, 933 Warnings_Off_Used_Unmodified, 934 Warnings_Off_Used_Unreferenced, 935 Was_Hidden, 936 Wrapped_Entity 937 938 -- End of entity fields. 939 ); -- Opt_Field_Enum 940 941 subtype Field_Enum is Opt_Field_Enum 942 range Opt_Field_Enum'Succ (No_Field) .. Opt_Field_Enum'Last; 943 -- Enumeration of fields -- Opt_Field_Enum without the special null value 944 -- No_Field. 945 946end Gen_IL.Fields; 947