Add assember CFI directives to millicode division and remainder routines.
[official-gcc.git] / gcc / ada / gen_il-fields.ads
blob458219c6853f8eaa3d66111a77d9f421a55df395
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 Has_Aspects,
54 Is_Ignored_Ghost_Node,
55 Link,
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 All_Others,
73 All_Present,
74 Alternatives,
75 Ancestor_Part,
76 Atomic_Sync_Required,
77 Array_Aggregate,
78 Aspect_On_Partial_View,
79 Aspect_Rep_Item,
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 Char_Literal_Value,
91 Chars,
92 Check_Address_Alignment,
93 Choice_Parameter,
94 Choices,
95 Class_Present,
96 Classifications,
97 Cleanup_Actions,
98 Comes_From_Check_Or_Contract,
99 Comes_From_Extended_Return_Statement,
100 Comes_From_Iterator,
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 Corresponding_Aspect,
122 Corresponding_Body,
123 Corresponding_Entry_Body,
124 Corresponding_Formal_Spec,
125 Corresponding_Generic_Association,
126 Corresponding_Integer_Value,
127 Corresponding_Spec,
128 Corresponding_Spec_Of_Stub,
129 Corresponding_Stub,
130 Dcheck_Function,
131 Declarations,
132 Default_Expression,
133 Default_Storage_Pool,
134 Default_Name,
135 Default_Subtype_Mark,
136 Defining_Identifier,
137 Defining_Unit_Name,
138 Delay_Alternative,
139 Delay_Statement,
140 Delta_Expression,
141 Digits_Expression,
142 Discr_Check_Funcs_Built,
143 Discrete_Choices,
144 Discrete_Range,
145 Discrete_Subtype_Definition,
146 Discrete_Subtype_Definitions,
147 Discriminant_Specifications,
148 Discriminant_Type,
149 Do_Discriminant_Check,
150 Do_Division_Check,
151 Do_Length_Check,
152 Do_Overflow_Check,
153 Do_Range_Check,
154 Do_Storage_Check,
155 Elaborate_All_Desirable,
156 Elaborate_All_Present,
157 Elaborate_Desirable,
158 Elaborate_Present,
159 Else_Actions,
160 Else_Statements,
161 Elsif_Parts,
162 Enclosing_Variant,
163 End_Label,
164 End_Span,
165 Entity_Or_Associated_Node,
166 Entry_Body_Formal_Part,
167 Entry_Call_Alternative,
168 Entry_Call_Statement,
169 Entry_Direct_Name,
170 Entry_Index,
171 Entry_Index_Specification,
172 Etype,
173 Exception_Choices,
174 Exception_Handlers,
175 Exception_Junk,
176 Exception_Label,
177 Expansion_Delayed,
178 Explicit_Actual_Parameter,
179 Explicit_Generic_Actual_Parameter,
180 Expression,
181 Expression_Copy,
182 Expressions,
183 First_Bit,
184 First_Inlined_Subprogram,
185 First_Name,
186 First_Named_Actual,
187 First_Subtype_Link,
188 Float_Truncate,
189 Formal_Type_Definition,
190 Forwards_OK,
191 For_Special_Return_Object,
192 From_Aspect_Specification,
193 From_At_Mod,
194 From_Conditional_Expression,
195 From_Default,
196 Generalized_Indexing,
197 Generic_Associations,
198 Generic_Formal_Declarations,
199 Generic_Parent,
200 Generic_Parent_Type,
201 Handled_Statement_Sequence,
202 Handler_List_Entry,
203 Has_Created_Identifier,
204 Has_Dereference_Action,
205 Has_Dynamic_Length_Check,
206 Has_Init_Expression,
207 Has_Local_Raise,
208 Has_No_Elaboration_Code,
209 Has_Pragma_Suppress_All,
210 Has_Private_View,
211 Has_Relative_Deadline_Pragma,
212 Has_Self_Reference,
213 Has_SP_Choice,
214 Has_Storage_Size_Pragma,
215 Has_Target_Names,
216 Has_Wide_Character,
217 Has_Wide_Wide_Character,
218 Header_Size_Added,
219 Hidden_By_Use_Clause,
220 High_Bound,
221 Identifier,
222 Interface_List,
223 Interface_Present,
224 Implicit_With,
225 Import_Interface_Present,
226 In_Present,
227 Includes_Infinities,
228 Incomplete_View,
229 Inherited_Discriminant,
230 Instance_Spec,
231 Intval,
232 Is_Abort_Block,
233 Is_Accessibility_Actual,
234 Is_Analyzed_Pragma,
235 Is_Asynchronous_Call_Block,
236 Is_Boolean_Aspect,
237 Is_Checked,
238 Is_Checked_Ghost_Pragma,
239 Is_Component_Left_Opnd,
240 Is_Component_Right_Opnd,
241 Is_Controlling_Actual,
242 Is_Declaration_Level_Node,
243 Is_Delayed_Aspect,
244 Is_Disabled,
245 Is_Dispatching_Call,
246 Is_Dynamic_Coextension,
247 Is_Effective_Use_Clause,
248 Is_Elaboration_Checks_OK_Node,
249 Is_Elaboration_Code,
250 Is_Elaboration_Warnings_OK_Node,
251 Is_Elsif,
252 Is_Entry_Barrier_Function,
253 Is_Expanded_Build_In_Place_Call,
254 Is_Expanded_Contract,
255 Is_Finalization_Wrapper,
256 Is_Folded_In_Parser,
257 Is_Generic_Contract_Pragma,
258 Is_Homogeneous_Aggregate,
259 Is_Parenthesis_Aggregate,
260 Is_Enum_Array_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_Initialization,
324 No_Minimize_Eliminate,
325 No_Side_Effect_Removal,
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 Split_PPC,
390 Statements,
391 Storage_Pool,
392 Subpool_Handle_Name,
393 Strval,
394 Subtype_Indication,
395 Subtype_Mark,
396 Subtype_Marks,
397 Suppress_Assignment_Checks,
398 Suppress_Loop_Warnings,
399 Synchronized_Present,
400 Tagged_Present,
401 Target,
402 Target_Type,
403 Task_Definition,
404 Task_Present,
405 Then_Actions,
406 Then_Statements,
407 Triggering_Alternative,
408 Triggering_Statement,
409 TSS_Elist,
410 Type_Definition,
411 Uneval_Old_Accept,
412 Uneval_Old_Warn,
413 Unit,
414 Unknown_Discriminants_Present,
415 Unreferenced_In_Spec,
416 Variant_Part,
417 Variants,
418 Visible_Declarations,
419 Uninitialized_Variable,
420 Used_Operations,
421 Was_Attribute_Reference,
422 Was_Default_Init_Box_Association,
423 Was_Expression_Function,
424 Was_Originally_Stub,
426 -- End of node fields.
428 Between_Node_And_Entity_Fields,
430 -- Start of entity fields:
432 Ekind,
433 Basic_Convention,
434 Abstract_States,
435 Accept_Address,
436 Access_Disp_Table,
437 Access_Disp_Table_Elab_Flag,
438 Access_Subprogram_Wrapper,
439 Activation_Record_Component,
440 Actual_Subtype,
441 Address_Taken,
442 Alignment,
443 Anonymous_Designated_Type,
444 Anonymous_Masters,
445 Anonymous_Object,
446 Associated_Entity,
447 Associated_Formal_Package,
448 Associated_Node_For_Itype,
449 Associated_Storage_Pool,
450 Barrier_Function,
451 BIP_Initialization_Call,
452 Block_Node,
453 Body_Entity,
454 Body_Needed_For_Inlining,
455 Body_Needed_For_SAL,
456 Body_References,
457 C_Pass_By_Copy,
458 Can_Never_Be_Null,
459 Can_Use_Internal_Rep,
460 Checks_May_Be_Suppressed,
461 Class_Postconditions,
462 Class_Preconditions,
463 Class_Preconditions_Subprogram,
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_Function,
477 Corresponding_Procedure,
478 Corresponding_Record_Component,
479 Corresponding_Record_Type,
480 Corresponding_Remote_Type,
481 CR_Discriminant,
482 Current_Use_Clause,
483 Current_Value,
484 Debug_Info_Off,
485 Debug_Renaming_Link,
486 Default_Aspect_Component_Value,
487 Default_Aspect_Value,
488 Default_Expr_Function,
489 Default_Expressions_Processed,
490 Default_Value,
491 Delay_Cleanups,
492 Delay_Subprogram_Descriptors,
493 Delta_Value,
494 Dependent_Instances,
495 Depends_On_Private,
496 Derived_Type_Link,
497 Digits_Value,
498 Predicated_Parent,
499 Predicates_Ignored,
500 Direct_Primitive_Operations,
501 Directly_Designated_Type,
502 Disable_Controlled,
503 Discard_Names,
504 Discriminal,
505 Discriminal_Link,
506 Discriminant_Checking_Func,
507 Discriminant_Constraint,
508 Discriminant_Default_Value,
509 Discriminant_Number,
510 Dispatch_Table_Wrappers,
511 Dynamic_Call_Helper,
512 DT_Entry_Count,
513 DT_Offset_To_Top_Func,
514 DT_Position,
515 DTC_Entity,
516 Elaborate_Body_Desirable,
517 Elaboration_Entity,
518 Elaboration_Entity_Required,
519 Encapsulating_State,
520 Enclosing_Scope,
521 Entry_Accepted,
522 Entry_Bodies_Array,
523 Entry_Cancel_Parameter,
524 Entry_Component,
525 Entry_Formal,
526 Entry_Index_Constant,
527 Entry_Max_Queue_Lengths_Array,
528 Entry_Parameters_Type,
529 Enum_Pos_To_Rep,
530 Enumeration_Pos,
531 Enumeration_Rep,
532 Enumeration_Rep_Expr,
533 Equivalent_Type,
534 Esize,
535 Extra_Accessibility,
536 Extra_Accessibility_Of_Result,
537 Extra_Constrained,
538 Extra_Formal,
539 Extra_Formals,
540 Finalization_Master,
541 Finalize_Storage_Only,
542 Finalizer,
543 First_Entity,
544 First_Exit_Statement,
545 First_Index,
546 First_Literal,
547 First_Private_Entity,
548 First_Rep_Item,
549 Freeze_Node,
550 From_Limited_With,
551 Full_View,
552 Generic_Homonym,
553 Generic_Renamings,
554 Handler_Records,
555 Has_Aliased_Components,
556 Has_Alignment_Clause,
557 Has_All_Calls_Remote,
558 Has_Atomic_Components,
559 Has_Biased_Representation,
560 Has_Completion,
561 Has_Completion_In_Body,
562 Has_Complex_Representation,
563 Has_Component_Size_Clause,
564 Has_Constrained_Partial_View,
565 Has_Contiguous_Rep,
566 Has_Controlled_Component,
567 Has_Controlling_Result,
568 Has_Convention_Pragma,
569 Has_Default_Aspect,
570 Has_Delayed_Aspects,
571 Has_Delayed_Freeze,
572 Has_Delayed_Rep_Aspects,
573 Has_Discriminants,
574 Has_Dispatch_Table,
575 Has_Dynamic_Predicate_Aspect,
576 Has_Enumeration_Rep_Clause,
577 Has_Exit,
578 Has_Expanded_Contract,
579 Has_Forward_Instantiation,
580 Has_Fully_Qualified_Name,
581 Has_Gigi_Rep_Item,
582 Has_Homonym,
583 Has_Implicit_Dereference,
584 Has_Independent_Components,
585 Has_Inheritable_Invariants,
586 Has_Inherited_DIC,
587 Has_Inherited_Invariants,
588 Has_Initial_Value,
589 Has_Loop_Entry_Attributes,
590 Has_Machine_Radix_Clause,
591 Has_Master_Entity,
592 Has_Missing_Return,
593 Has_Nested_Block_With_Handler,
594 Has_Nested_Subprogram,
595 Has_Non_Standard_Rep,
596 Has_Object_Size_Clause,
597 Has_Out_Or_In_Out_Parameter,
598 Has_Own_DIC,
599 Has_Own_Invariants,
600 Has_Partial_Visible_Refinement,
601 Has_Per_Object_Constraint,
602 Has_Pragma_Controlled,
603 Has_Pragma_Elaborate_Body,
604 Has_Pragma_Inline,
605 Has_Pragma_Inline_Always,
606 Has_Pragma_No_Inline,
607 Has_Pragma_Ordered,
608 Has_Pragma_Pack,
609 Has_Pragma_Preelab_Init,
610 Has_Pragma_Pure,
611 Has_Pragma_Pure_Function,
612 Has_Pragma_Thread_Local_Storage,
613 Has_Pragma_Unmodified,
614 Has_Pragma_Unreferenced,
615 Has_Pragma_Unreferenced_Objects,
616 Has_Pragma_Unused,
617 Has_Predicates,
618 Has_Primitive_Operations,
619 Has_Private_Ancestor,
620 Has_Private_Declaration,
621 Has_Private_Extension,
622 Has_Protected,
623 Has_Qualified_Name,
624 Has_RACW,
625 Has_Record_Rep_Clause,
626 Has_Recursive_Call,
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_Subt_For_U_Nominal,
688 Is_Constr_Subt_For_UN_Aliased,
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_Ghost_Entity,
723 Is_Ignored_Transient,
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_Non_Static_Subtype,
748 Is_Null_Init_Proc,
749 Is_Obsolescent,
750 Is_Only_Out_Parameter,
751 Is_Package_Body_Entity,
752 Is_Packed,
753 Is_Packed_Array_Impl_Type,
754 Is_Param_Block_Component_Type,
755 Is_Partial_Invariant_Procedure,
756 Is_Potentially_Use_Visible,
757 Is_Predicate_Function,
758 Is_Preelaborated,
759 Is_Primitive,
760 Is_Primitive_Wrapper,
761 Is_Private_Composite,
762 Is_Private_Descendant,
763 Is_Private_Primitive,
764 Is_Public,
765 Is_Pure,
766 Is_Pure_Unit_Access_Type,
767 Is_RACW_Stub_Type,
768 Is_Raised,
769 Is_Remote_Call_Interface,
770 Is_Remote_Types,
771 Is_Renaming_Of_Object,
772 Is_Return_Object,
773 Is_Safe_To_Reevaluate,
774 Is_Shared_Passive,
775 Is_Static_Type,
776 Is_Statically_Allocated,
777 Is_Tag,
778 Is_Tagged_Type,
779 Is_Thunk,
780 Is_Trivial_Subprogram,
781 Is_True_Constant,
782 Is_Unchecked_Union,
783 Is_Underlying_Full_View,
784 Is_Underlying_Record_View,
785 Is_Unimplemented,
786 Is_Unsigned_Type,
787 Is_Uplevel_Referenced_Entity,
788 Is_Valued_Procedure,
789 Is_Visible_Formal,
790 Is_Visible_Lib_Unit,
791 Is_Volatile_Type,
792 Is_Volatile_Object,
793 Is_Volatile_Full_Access,
794 Is_Wrapper,
795 Itype_Printed,
796 Kill_Elaboration_Checks,
797 Kill_Range_Checks,
798 Known_To_Have_Preelab_Init,
799 Last_Aggregate_Assignment,
800 Last_Assignment,
801 Last_Entity,
802 Limited_View,
803 Linker_Section_Pragma,
804 Lit_Hash,
805 Lit_Indexes,
806 Lit_Strings,
807 Low_Bound_Tested,
808 LSP_Subprogram,
809 Machine_Radix_10,
810 Master_Id,
811 Materialize_Entity,
812 May_Inherit_Delayed_Rep_Aspects,
813 Mechanism,
814 Minimum_Accessibility,
815 Modulus,
816 Must_Be_On_Byte_Boundary,
817 Must_Have_Preelab_Init,
818 Needs_Activation_Record,
819 Needs_Debug_Info,
820 Needs_No_Actuals,
821 Never_Set_In_Source,
822 Next_Inlined_Subprogram,
823 No_Dynamic_Predicate_On_Actual,
824 No_Pool_Assigned,
825 No_Predicate_On_Actual,
826 No_Reordering,
827 No_Return,
828 No_Strict_Aliasing,
829 No_Tagged_Streams_Pragma,
830 Non_Binary_Modulus,
831 Non_Limited_View,
832 Nonzero_Is_True,
833 Normalized_First_Bit,
834 Normalized_Position,
835 OK_To_Rename,
836 Optimize_Alignment_Space,
837 Optimize_Alignment_Time,
838 Original_Access_Type,
839 Original_Array_Type,
840 Original_Protected_Subprogram,
841 Original_Record_Component,
842 Overlays_Constant,
843 Overridden_Operation,
844 Package_Instantiation,
845 Packed_Array_Impl_Type,
846 Parent_Subtype,
847 Part_Of_Constituents,
848 Part_Of_References,
849 Partial_View_Has_Unknown_Discr,
850 Pending_Access_Types,
851 Postconditions_Proc,
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 Rewritten_For_C,
883 RM_Size,
884 Scalar_Range,
885 Scale_Value,
886 Scope_Depth_Value,
887 Sec_Stack_Needed_For_Return,
888 Shared_Var_Procs_Instance,
889 Size_Check_Code,
890 Size_Depends_On_Discriminant,
891 Size_Known_At_Compile_Time,
892 Small_Value,
893 SPARK_Aux_Pragma,
894 SPARK_Aux_Pragma_Inherited,
895 SPARK_Pragma,
896 SPARK_Pragma_Inherited,
897 Spec_Entity,
898 SSO_Set_High_By_Default,
899 SSO_Set_Low_By_Default,
900 Static_Call_Helper,
901 Static_Discrete_Predicate,
902 Static_Elaboration_Desired,
903 Static_Initialization,
904 Static_Real_Or_String_Predicate,
905 Status_Flag_Or_Transient_Decl,
906 Storage_Size_Variable,
907 Stored_Constraint,
908 Stores_Attribute_Old_Prefix,
909 Strict_Alignment,
910 String_Literal_Length,
911 String_Literal_Low_Bound,
912 Subprograms_For_Type,
913 Subps_Index,
914 Suppress_Elaboration_Warnings,
915 Suppress_Initialization,
916 Suppress_Style_Checks,
917 Suppress_Value_Tracking_On_Call,
918 Task_Body_Procedure,
919 Thunk_Entity,
920 Treat_As_Volatile,
921 Underlying_Full_View,
922 Underlying_Record_View,
923 Universal_Aliasing,
924 Unset_Reference,
925 Used_As_Generic_Actual,
926 Uses_Lock_Free,
927 Uses_Sec_Stack,
928 Validated_Object,
929 Warnings_Off,
930 Warnings_Off_Used,
931 Warnings_Off_Used_Unmodified,
932 Warnings_Off_Used_Unreferenced,
933 Was_Hidden,
934 Wrapped_Entity,
935 Wrapped_Statements
937 -- End of entity fields.
938 ); -- Opt_Field_Enum
940 subtype Field_Enum is Opt_Field_Enum
941 range Opt_Field_Enum'Succ (No_Field) .. Opt_Field_Enum'Last;
942 -- Enumeration of fields -- Opt_Field_Enum without the special null value
943 -- No_Field.
945 end Gen_IL.Fields;