Skip several gcc.dg/builtin-dynamic-object-size tests on hppa*-*-hpux*
[official-gcc.git] / gcc / ada / gen_il-fields.ads
blob5cc4b00c30a4848e4d070973cdbbf107799108f7
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-2023, 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_Expanded_Contract,
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_Finalize_Actions,
326 No_Initialization,
327 No_Minimize_Eliminate,
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,
428 -- End of node fields.
430 Between_Node_And_Entity_Fields,
432 -- Start of entity fields:
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 Delta_Value,
495 Dependent_Instances,
496 Depends_On_Private,
497 Derived_Type_Link,
498 Digits_Value,
499 Predicated_Parent,
500 Predicates_Ignored,
501 Direct_Primitive_Operations,
502 Directly_Designated_Type,
503 Disable_Controlled,
504 Discard_Names,
505 Discriminal,
506 Discriminal_Link,
507 Discriminant_Checking_Func,
508 Discriminant_Constraint,
509 Discriminant_Default_Value,
510 Discriminant_Number,
511 Dispatch_Table_Wrappers,
512 Dynamic_Call_Helper,
513 DT_Entry_Count,
514 DT_Offset_To_Top_Func,
515 DT_Position,
516 DTC_Entity,
517 Elaborate_Body_Desirable,
518 Elaboration_Entity,
519 Elaboration_Entity_Required,
520 Encapsulating_State,
521 Enclosing_Scope,
522 Entry_Accepted,
523 Entry_Bodies_Array,
524 Entry_Cancel_Parameter,
525 Entry_Component,
526 Entry_Formal,
527 Entry_Index_Constant,
528 Entry_Max_Queue_Lengths_Array,
529 Entry_Parameters_Type,
530 Enum_Pos_To_Rep,
531 Enumeration_Pos,
532 Enumeration_Rep,
533 Enumeration_Rep_Expr,
534 Equivalent_Type,
535 Esize,
536 Extra_Accessibility,
537 Extra_Accessibility_Of_Result,
538 Extra_Constrained,
539 Extra_Formal,
540 Extra_Formals,
541 Finalization_Master,
542 Finalize_Storage_Only,
543 Finalizer,
544 First_Entity,
545 First_Exit_Statement,
546 First_Index,
547 First_Literal,
548 First_Private_Entity,
549 First_Rep_Item,
550 Freeze_Node,
551 From_Limited_With,
552 Full_View,
553 Generic_Homonym,
554 Generic_Renamings,
555 Handler_Records,
556 Has_Aliased_Components,
557 Has_Alignment_Clause,
558 Has_All_Calls_Remote,
559 Has_Atomic_Components,
560 Has_Biased_Representation,
561 Has_Completion,
562 Has_Completion_In_Body,
563 Has_Complex_Representation,
564 Has_Component_Size_Clause,
565 Has_Constrained_Partial_View,
566 Has_Contiguous_Rep,
567 Has_Controlled_Component,
568 Has_Controlling_Result,
569 Has_Convention_Pragma,
570 Has_Default_Aspect,
571 Has_Delayed_Aspects,
572 Has_Delayed_Freeze,
573 Has_Delayed_Rep_Aspects,
574 Has_Discriminants,
575 Has_Dispatch_Table,
576 Has_Dynamic_Predicate_Aspect,
577 Has_Enumeration_Rep_Clause,
578 Has_Exit,
579 Has_Expanded_Contract,
580 Has_Forward_Instantiation,
581 Has_Fully_Qualified_Name,
582 Has_Ghost_Predicate_Aspect,
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_Array_Subt_With_Bounds,
690 Is_Constr_Subt_For_U_Nominal,
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_For_Finalization,
725 Is_Ignored_Ghost_Entity,
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_Not_Self_Hidden,
757 Is_Param_Block_Component_Type,
758 Is_Partial_Invariant_Procedure,
759 Is_Potentially_Use_Visible,
760 Is_Predicate_Function,
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 Predicate_Expression,
856 Prev_Entity,
857 Prival,
858 Prival_Link,
859 Private_Dependents,
860 Protected_Body_Subprogram,
861 Protected_Formal,
862 Protected_Subprogram,
863 Protection_Object,
864 Reachable,
865 Receiving_Entry,
866 Referenced,
867 Referenced_As_LHS,
868 Referenced_As_Out_Parameter,
869 Refinement_Constituents,
870 Register_Exception_Call,
871 Related_Array_Object,
872 Related_Expression,
873 Related_Instance,
874 Related_Type,
875 Relative_Deadline_Variable,
876 Renamed_In_Spec,
877 Renamed_Or_Alias, -- Shared among Alias, Renamed_Entity, Renamed_Object
878 Requires_Overriding,
879 Return_Applies_To,
880 Return_Present,
881 Return_Statement,
882 Returns_By_Ref,
883 Reverse_Bit_Order,
884 Reverse_Storage_Order,
885 Rewritten_For_C,
886 RM_Size,
887 Scalar_Range,
888 Scale_Value,
889 Scope_Depth_Value,
890 Sec_Stack_Needed_For_Return,
891 Shared_Var_Procs_Instance,
892 Size_Check_Code,
893 Size_Depends_On_Discriminant,
894 Size_Known_At_Compile_Time,
895 Small_Value,
896 SPARK_Aux_Pragma,
897 SPARK_Aux_Pragma_Inherited,
898 SPARK_Pragma,
899 SPARK_Pragma_Inherited,
900 Spec_Entity,
901 SSO_Set_High_By_Default,
902 SSO_Set_Low_By_Default,
903 Static_Call_Helper,
904 Static_Discrete_Predicate,
905 Static_Elaboration_Desired,
906 Static_Initialization,
907 Static_Real_Or_String_Predicate,
908 Status_Flag_Or_Transient_Decl,
909 Storage_Size_Variable,
910 Stored_Constraint,
911 Stores_Attribute_Old_Prefix,
912 Strict_Alignment,
913 String_Literal_Length,
914 String_Literal_Low_Bound,
915 Subprograms_For_Type,
916 Subps_Index,
917 Suppress_Elaboration_Warnings,
918 Suppress_Initialization,
919 Suppress_Style_Checks,
920 Suppress_Value_Tracking_On_Call,
921 Task_Body_Procedure,
922 Thunk_Entity,
923 Treat_As_Volatile,
924 Underlying_Full_View,
925 Underlying_Record_View,
926 Universal_Aliasing,
927 Unset_Reference,
928 Used_As_Generic_Actual,
929 Uses_Lock_Free,
930 Uses_Sec_Stack,
931 Validated_Object,
932 Warnings_Off,
933 Warnings_Off_Used,
934 Warnings_Off_Used_Unmodified,
935 Warnings_Off_Used_Unreferenced,
936 Was_Hidden,
937 Wrapped_Entity,
938 Wrapped_Statements
940 -- End of entity fields.
941 ); -- Opt_Field_Enum
943 subtype Field_Enum is Opt_Field_Enum
944 range Opt_Field_Enum'Succ (No_Field) .. Opt_Field_Enum'Last;
945 -- Enumeration of fields -- Opt_Field_Enum without the special null value
946 -- No_Field.
948 end Gen_IL.Fields;