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