diff options
Diffstat (limited to 'gcc/ada/gen_il-fields.ads')
-rw-r--r-- | gcc/ada/gen_il-fields.ads | 948 |
1 files changed, 948 insertions, 0 deletions
diff --git a/gcc/ada/gen_il-fields.ads b/gcc/ada/gen_il-fields.ads new file mode 100644 index 0000000..0a3046e --- /dev/null +++ b/gcc/ada/gen_il-fields.ads @@ -0,0 +1,948 @@ +------------------------------------------------------------------------------ +-- -- +-- GNAT COMPILER COMPONENTS -- +-- -- +-- G E N _ I L . F I E L D S -- +-- -- +-- S p e c -- +-- -- +-- Copyright (C) 2020-2021, Free Software Foundation, Inc. -- +-- -- +-- GNAT is free software; you can redistribute it and/or modify it under -- +-- terms of the GNU General Public License as published by the Free Soft- -- +-- ware Foundation; either version 3, or (at your option) any later ver- -- +-- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- +-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -- +-- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -- +-- for more details. You should have received a copy of the GNU General -- +-- Public License distributed with GNAT; see file COPYING3. If not, go to -- +-- http://www.gnu.org/licenses for a complete copy of the license. -- +-- -- +-- GNAT was originally developed by the GNAT team at New York University. -- +-- Extensive contributions were provided by Ada Core Technologies Inc. -- +-- -- +------------------------------------------------------------------------------ + +with Gen_IL.Types; + +package Gen_IL.Fields is + + -- The following is "optional field enumeration" -- i.e. it is Field_Enum + -- (declared below) plus the special null value No_Field. See the spec of + -- Gen_IL.Gen for how to modify this. (Of course, in Ada we have to define + -- this backwards from the above conceptual description.) + + -- Note that there are various subranges of this type declared below, + -- which might need to be kept in sync when modifying this. + + -- Be sure to put new fields in the appropriate subrange (Field_Enum, + -- Node_Header_Field, Node_Field, Entity_Field -- search for comments + -- below). + + type Opt_Field_Enum is + (No_Field, + + -- Start of node fields: + + Nkind, + Sloc, + In_List, + Rewrite_Ins, + Comes_From_Source, + Analyzed, + Error_Posted, + Small_Paren_Count, + Check_Actuals, + Has_Aspects, + Is_Ignored_Ghost_Node, + Link, + + Abort_Present, + Abortable_Part, + Abstract_Present, + Accept_Handler_Records, + Accept_Statement, + Access_Definition, + Access_To_Subprogram_Definition, + Access_Types_To_Process, + Actions, + Activation_Chain_Entity, + Acts_As_Spec, + Actual_Designated_Subtype, + Address_Warning_Posted, + Aggregate_Bounds, + Aliased_Present, + Alloc_For_BIP_Return, + All_Others, + All_Present, + Alternatives, + Ancestor_Part, + Atomic_Sync_Required, + Array_Aggregate, + Aspect_On_Partial_View, + Aspect_Rep_Item, + Assignment_OK, + Attribute_Name, + At_End_Proc, + Aux_Decls_Node, + Backwards_OK, + Bad_Is_Detected, + Binding_Chars, + Body_Required, + Body_To_Inline, + Box_Present, + By_Ref, + Char_Literal_Value, + Chars, + Check_Address_Alignment, + Choice_Parameter, + Choices, + Class_Present, + Classifications, + Cleanup_Actions, + Comes_From_Extended_Return_Statement, + Compile_Time_Known_Aggregate, + Component_Associations, + Component_Clauses, + Component_Definition, + Component_Items, + Component_List, + Component_Name, + Componentwise_Assignment, + Condition, + Condition_Actions, + Config_Pragmas, + Constant_Present, + Constraint, + Constraints, + Context_Installed, + Context_Items, + Context_Pending, + Contract_Test_Cases, + Controlling_Argument, + Conversion_OK, + Convert_To_Return_False, + Corresponding_Aspect, + Corresponding_Body, + Corresponding_Entry_Body, + Corresponding_Formal_Spec, + Corresponding_Generic_Association, + Corresponding_Integer_Value, + Corresponding_Spec, + Corresponding_Spec_Of_Stub, + Corresponding_Stub, + Dcheck_Function, + Declarations, + Default_Expression, + Default_Storage_Pool, + Default_Name, + Default_Subtype_Mark, + Defining_Identifier, + Defining_Unit_Name, + Delay_Alternative, + Delay_Statement, + Delta_Expression, + Digits_Expression, + Discr_Check_Funcs_Built, + Discrete_Choices, + Discrete_Range, + Discrete_Subtype_Definition, + Discrete_Subtype_Definitions, + Discriminant_Specifications, + Discriminant_Type, + Do_Discriminant_Check, + Do_Division_Check, + Do_Length_Check, + Do_Overflow_Check, + Do_Range_Check, + Do_Storage_Check, + Elaborate_All_Desirable, + Elaborate_All_Present, + Elaborate_Desirable, + Elaborate_Present, + Else_Actions, + Else_Statements, + Elsif_Parts, + Enclosing_Variant, + End_Label, + End_Span, + Entity_Or_Associated_Node, + Entry_Body_Formal_Part, + Entry_Call_Alternative, + Entry_Call_Statement, + Entry_Direct_Name, + Entry_Index, + Entry_Index_Specification, + Etype, + Exception_Choices, + Exception_Handlers, + Exception_Junk, + Exception_Label, + Expansion_Delayed, + Explicit_Actual_Parameter, + Explicit_Generic_Actual_Parameter, + Expression, + Expression_Copy, + Expressions, + First_Bit, + First_Inlined_Subprogram, + First_Name, + First_Named_Actual, + First_Real_Statement, + First_Subtype_Link, + Float_Truncate, + Formal_Type_Definition, + Forwards_OK, + From_Aspect_Specification, + From_At_End, + From_At_Mod, + From_Conditional_Expression, + From_Default, + Generalized_Indexing, + Generic_Associations, + Generic_Formal_Declarations, + Generic_Parent, + Generic_Parent_Type, + Handled_Statement_Sequence, + Handler_List_Entry, + Has_Created_Identifier, + Has_Dereference_Action, + Has_Dynamic_Length_Check, + Has_Init_Expression, + Has_Local_Raise, + Has_No_Elaboration_Code, + Has_Pragma_Suppress_All, + Has_Private_View, + Has_Relative_Deadline_Pragma, + Has_Self_Reference, + Has_SP_Choice, + Has_Storage_Size_Pragma, + Has_Target_Names, + Has_Wide_Character, + Has_Wide_Wide_Character, + Header_Size_Added, + Hidden_By_Use_Clause, + High_Bound, + Identifier, + Interface_List, + Interface_Present, + Implicit_With, + Import_Interface_Present, + In_Present, + Includes_Infinities, + Incomplete_View, + Inherited_Discriminant, + Instance_Spec, + Intval, + Is_Abort_Block, + Is_Accessibility_Actual, + Is_Analyzed_Pragma, + Is_Asynchronous_Call_Block, + Is_Boolean_Aspect, + Is_Checked, + Is_Checked_Ghost_Pragma, + Is_Component_Left_Opnd, + Is_Component_Right_Opnd, + Is_Controlling_Actual, + Is_Declaration_Level_Node, + Is_Delayed_Aspect, + Is_Disabled, + Is_Dispatching_Call, + Is_Dynamic_Coextension, + Is_Effective_Use_Clause, + Is_Elaboration_Checks_OK_Node, + Is_Elaboration_Code, + Is_Elaboration_Warnings_OK_Node, + Is_Elsif, + Is_Entry_Barrier_Function, + Is_Expanded_Build_In_Place_Call, + Is_Expanded_Contract, + Is_Finalization_Wrapper, + Is_Folded_In_Parser, + Is_Generic_Contract_Pragma, + Is_Homogeneous_Aggregate, + Is_Ignored, + Is_Ignored_Ghost_Pragma, + Is_In_Discriminant_Check, + Is_Inherited_Pragma, + Is_Initialization_Block, + Is_Known_Guaranteed_ABE, + Is_Machine_Number, + Is_Null_Loop, + Is_Overloaded, + Is_Power_Of_2_For_Shift, + Is_Preelaborable_Call, + Is_Prefixed_Call, + Is_Protected_Subprogram_Body, + Is_Qualified_Universal_Literal, + Is_Read, + Is_Source_Call, + Is_SPARK_Mode_On_Node, + Is_Static_Coextension, + Is_Static_Expression, + Is_Subprogram_Descriptor, + Is_Task_Allocation_Block, + Is_Task_Body_Procedure, + Is_Task_Master, + Is_Write, + Iterator_Filter, + Iteration_Scheme, + Iterator_Specification, + Itype, + Key_Expression, + Kill_Range_Check, + Last_Bit, + Last_Name, + Library_Unit, + Label_Construct, + Left_Opnd, + Limited_View_Installed, + Limited_Present, + Literals, + Local_Raise_Not_OK, + Local_Raise_Statements, + Loop_Actions, + Loop_Parameter_Specification, + Low_Bound, + Mod_Clause, + More_Ids, + Multidefined_Bindings, + Must_Be_Byte_Aligned, + Must_Not_Freeze, + Must_Not_Override, + Must_Override, + Name, + Names, + Next_Entity, + Next_Exit_Statement, + Next_Implicit_With, + Next_Named_Actual, + Next_Pragma, + Next_Rep_Item, + Next_Use_Clause, + No_Ctrl_Actions, + No_Elaboration_Check, + No_Entities_Ref_In_Spec, + No_Initialization, + No_Minimize_Eliminate, + No_Side_Effect_Removal, + No_Truncation, + Null_Excluding_Subtype, + Null_Exclusion_Present, + Null_Exclusion_In_Return_Present, + Null_Present, + Null_Record_Present, + Null_Statement, + Object_Definition, + Of_Present, + Original_Discriminant, + Original_Entity, + Others_Discrete_Choices, + Out_Present, + Parameter_Associations, + Parameter_Specifications, + Parameter_Type, + Parent_Spec, + Parent_With, + Position, + Pragma_Argument_Associations, + Pragma_Identifier, + Pragmas_After, + Pragmas_Before, + Pre_Post_Conditions, + Prefix, + Premature_Use, + Present_Expr, + Prev_Ids, + Prev_Use_Clause, + Print_In_Hex, + Private_Declarations, + Private_Present, + Procedure_To_Call, + Proper_Body, + Protected_Definition, + Protected_Present, + Raises_Constraint_Error, + Range_Constraint, + Range_Expression, + Real_Range_Specification, + Realval, + Reason, + Record_Extension_Part, + Redundant_Use, + Renaming_Exception, + Result_Definition, + Return_Object_Declarations, + Return_Statement_Entity, + Reverse_Present, + Right_Opnd, + Rounded_Result, + Save_Invocation_Graph_Of_Body, + SCIL_Controlling_Tag, + SCIL_Entity, + SCIL_Tag_Value, + SCIL_Target_Prim, + Scope, + Select_Alternatives, + Selector_Name, + Selector_Names, + Shift_Count_OK, + Source_Type, + Specification, + Split_PPC, + Statements, + Storage_Pool, + Subpool_Handle_Name, + Strval, + Subtype_Indication, + Subtype_Mark, + Subtype_Marks, + Suppress_Assignment_Checks, + Suppress_Loop_Warnings, + Synchronized_Present, + Tagged_Present, + Target, + Target_Type, + Task_Definition, + Task_Present, + Then_Actions, + Then_Statements, + Triggering_Alternative, + Triggering_Statement, + TSS_Elist, + Type_Definition, + Uneval_Old_Accept, + Uneval_Old_Warn, + Unit, + Unknown_Discriminants_Present, + Unreferenced_In_Spec, + Variant_Part, + Variants, + Visible_Declarations, + Uninitialized_Variable, + Used_Operations, + Was_Attribute_Reference, + Was_Default_Init_Box_Association, + Was_Expression_Function, + Was_Originally_Stub, + + -- End of node fields. + + Between_Node_And_Entity_Fields, + + -- Start of entity fields: + + Ekind, + Basic_Convention, + Abstract_States, + Accept_Address, + Access_Disp_Table, + Access_Disp_Table_Elab_Flag, + Access_Subprogram_Wrapper, + Activation_Record_Component, + Actual_Subtype, + Address_Taken, + Alignment, + Anonymous_Designated_Type, + Anonymous_Masters, + Anonymous_Object, + Associated_Entity, + Associated_Formal_Package, + Associated_Node_For_Itype, + Associated_Storage_Pool, + Barrier_Function, + BIP_Initialization_Call, + Block_Node, + Body_Entity, + Body_Needed_For_Inlining, + Body_Needed_For_SAL, + Body_References, + C_Pass_By_Copy, + Can_Never_Be_Null, + Can_Use_Internal_Rep, + Checks_May_Be_Suppressed, + Class_Wide_Clone, + Class_Wide_Type, + Cloned_Subtype, + Component_Alignment, + Component_Bit_Offset, + Component_Clause, + Component_Size, + Component_Type, + Contract, + Contract_Wrapper, + Corresponding_Concurrent_Type, + Corresponding_Discriminant, + Corresponding_Equality, + Corresponding_Function, + Corresponding_Procedure, + Corresponding_Record_Component, + Corresponding_Record_Type, + Corresponding_Remote_Type, + CR_Discriminant, + Current_Use_Clause, + Current_Value, + Debug_Info_Off, + Debug_Renaming_Link, + Default_Aspect_Component_Value, + Default_Aspect_Value, + Default_Expr_Function, + Default_Expressions_Processed, + Default_Value, + Delay_Cleanups, + Delay_Subprogram_Descriptors, + Delta_Value, + Dependent_Instances, + Depends_On_Private, + Derived_Type_Link, + Digits_Value, + Predicated_Parent, + Predicates_Ignored, + Direct_Primitive_Operations, + Directly_Designated_Type, + Disable_Controlled, + Discard_Names, + Discriminal, + Discriminal_Link, + Discriminant_Checking_Func, + Discriminant_Constraint, + Discriminant_Default_Value, + Discriminant_Number, + Dispatch_Table_Wrappers, + DT_Entry_Count, + DT_Offset_To_Top_Func, + DT_Position, + DTC_Entity, + Elaborate_Body_Desirable, + Elaboration_Entity, + Elaboration_Entity_Required, + Encapsulating_State, + Enclosing_Scope, + Entry_Accepted, + Entry_Bodies_Array, + Entry_Cancel_Parameter, + Entry_Component, + Entry_Formal, + Entry_Index_Constant, + Entry_Max_Queue_Lengths_Array, + Entry_Parameters_Type, + Enum_Pos_To_Rep, + Enumeration_Pos, + Enumeration_Rep, + Enumeration_Rep_Expr, + Equivalent_Type, + Esize, + Extra_Accessibility, + Extra_Accessibility_Of_Result, + Extra_Constrained, + Extra_Formal, + Extra_Formals, + Finalization_Master, + Finalize_Storage_Only, + Finalizer, + First_Entity, + First_Exit_Statement, + First_Index, + First_Literal, + First_Private_Entity, + First_Rep_Item, + Freeze_Node, + From_Limited_With, + Full_View, + Generic_Homonym, + Generic_Renamings, + Handler_Records, + Has_Aliased_Components, + Has_Alignment_Clause, + Has_All_Calls_Remote, + Has_Atomic_Components, + Has_Biased_Representation, + Has_Completion, + Has_Completion_In_Body, + Has_Complex_Representation, + Has_Component_Size_Clause, + Has_Constrained_Partial_View, + Has_Contiguous_Rep, + Has_Controlled_Component, + Has_Controlling_Result, + Has_Convention_Pragma, + Has_Default_Aspect, + Has_Delayed_Aspects, + Has_Delayed_Freeze, + Has_Delayed_Rep_Aspects, + Has_Discriminants, + Has_Dispatch_Table, + Has_Dynamic_Predicate_Aspect, + Has_Enumeration_Rep_Clause, + Has_Exit, + Has_Expanded_Contract, + Has_Forward_Instantiation, + Has_Fully_Qualified_Name, + Has_Gigi_Rep_Item, + Has_Homonym, + Has_Implicit_Dereference, + Has_Independent_Components, + Has_Inheritable_Invariants, + Has_Inherited_DIC, + Has_Inherited_Invariants, + Has_Initial_Value, + Has_Loop_Entry_Attributes, + Has_Machine_Radix_Clause, + Has_Master_Entity, + Has_Missing_Return, + Has_Nested_Block_With_Handler, + Has_Nested_Subprogram, + Has_Non_Standard_Rep, + Has_Object_Size_Clause, + Has_Out_Or_In_Out_Parameter, + Has_Own_DIC, + Has_Own_Invariants, + Has_Partial_Visible_Refinement, + Has_Per_Object_Constraint, + Has_Pragma_Controlled, + Has_Pragma_Elaborate_Body, + Has_Pragma_Inline, + Has_Pragma_Inline_Always, + Has_Pragma_No_Inline, + Has_Pragma_Ordered, + Has_Pragma_Pack, + Has_Pragma_Preelab_Init, + Has_Pragma_Pure, + Has_Pragma_Pure_Function, + Has_Pragma_Thread_Local_Storage, + Has_Pragma_Unmodified, + Has_Pragma_Unreferenced, + Has_Pragma_Unreferenced_Objects, + Has_Pragma_Unused, + Has_Predicates, + Has_Primitive_Operations, + Has_Private_Ancestor, + Has_Private_Declaration, + Has_Private_Extension, + Has_Protected, + Has_Qualified_Name, + Has_RACW, + Has_Record_Rep_Clause, + Has_Recursive_Call, + Has_Shift_Operator, + Has_Size_Clause, + Has_Small_Clause, + Has_Specified_Layout, + Has_Specified_Stream_Input, + Has_Specified_Stream_Output, + Has_Specified_Stream_Read, + Has_Specified_Stream_Write, + Has_Static_Discriminants, + Has_Static_Predicate, + Has_Static_Predicate_Aspect, + Has_Storage_Size_Clause, + Has_Stream_Size_Clause, + Has_Task, + Has_Timing_Event, + Has_Thunks, + Has_Unchecked_Union, + Has_Unknown_Discriminants, + Has_Visible_Refinement, + Has_Volatile_Components, + Has_Xref_Entry, + Has_Yield_Aspect, + Hiding_Loop_Variable, + Hidden_In_Formal_Instance, + Homonym, + Ignore_SPARK_Mode_Pragmas, + Import_Pragma, + Incomplete_Actuals, + In_Package_Body, + In_Private_Part, + In_Use, + Initialization_Statements, + Inner_Instances, + Interface_Alias, + Interface_Name, + Interfaces, + Is_Abstract_Subprogram, + Is_Abstract_Type, + Is_Access_Constant, + Is_Activation_Record, + Is_Actual_Subtype, + Is_Ada_2005_Only, + Is_Ada_2012_Only, + Is_Ada_2022_Only, + Is_Aliased, + Is_Asynchronous, + Is_Atomic, + Is_Bit_Packed_Array, + Is_Called, + Is_Character_Type, + Is_Checked_Ghost_Entity, + Is_Child_Unit, + Is_Class_Wide_Equivalent_Type, + Is_Compilation_Unit, + Is_Completely_Hidden, + Is_Concurrent_Record_Type, + Is_Constr_Subt_For_U_Nominal, + Is_Constr_Subt_For_UN_Aliased, + Is_Constrained, + Is_Constructor, + Is_Controlled_Active, + Is_Controlling_Formal, + Is_CPP_Class, + Is_CUDA_Kernel, + Is_Descendant_Of_Address, + Is_DIC_Procedure, + Is_Discrim_SO_Function, + Is_Discriminant_Check_Function, + Is_Dispatch_Table_Entity, + Is_Dispatching_Operation, + Is_Elaboration_Checks_OK_Id, + Is_Elaboration_Warnings_OK_Id, + Is_Eliminated, + Is_Entry_Formal, + Is_Entry_Wrapper, + Is_Exception_Handler, + Is_Exported, + Is_Finalized_Transient, + Is_First_Subtype, + Is_Fixed_Lower_Bound_Array_Subtype, + Is_Fixed_Lower_Bound_Index_Subtype, + Is_Formal_Subprogram, + Is_Frozen, + Is_Generic_Actual_Subprogram, + Is_Generic_Actual_Type, + Is_Generic_Instance, + Is_Generic_Type, + Is_Hidden, + Is_Hidden_Non_Overridden_Subpgm, + Is_Hidden_Open_Scope, + Is_Ignored_Ghost_Entity, + Is_Ignored_Transient, + Is_Immediately_Visible, + Is_Implementation_Defined, + Is_Imported, + Is_Independent, + Is_Initial_Condition_Procedure, + Is_Inlined, + Is_Inlined_Always, + Is_Instantiated, + Is_Interface, + Is_Internal, + Is_Interrupt_Handler, + Is_Intrinsic_Subprogram, + Is_Invariant_Procedure, + Is_Itype, + Is_Known_Non_Null, + Is_Known_Null, + Is_Known_Valid, + Is_Limited_Composite, + Is_Limited_Interface, + Is_Limited_Record, + Is_Local_Anonymous_Access, + Is_Loop_Parameter, + Is_Machine_Code_Subprogram, + Is_Non_Static_Subtype, + Is_Null_Init_Proc, + Is_Obsolescent, + Is_Only_Out_Parameter, + Is_Package_Body_Entity, + Is_Packed, + Is_Packed_Array_Impl_Type, + Is_Param_Block_Component_Type, + Is_Partial_Invariant_Procedure, + Is_Potentially_Use_Visible, + Is_Predicate_Function, + Is_Predicate_Function_M, + Is_Preelaborated, + Is_Primitive, + Is_Primitive_Wrapper, + Is_Private_Composite, + Is_Private_Descendant, + Is_Private_Primitive, + Is_Public, + Is_Pure, + Is_Pure_Unit_Access_Type, + Is_RACW_Stub_Type, + Is_Raised, + Is_Remote_Call_Interface, + Is_Remote_Types, + Is_Renaming_Of_Object, + Is_Return_Object, + Is_Safe_To_Reevaluate, + Is_Shared_Passive, + Is_Static_Type, + Is_Statically_Allocated, + Is_Tag, + Is_Tagged_Type, + Is_Thunk, + Is_Trivial_Subprogram, + Is_True_Constant, + Is_Unchecked_Union, + Is_Underlying_Full_View, + Is_Underlying_Record_View, + Is_Unimplemented, + Is_Unsigned_Type, + Is_Uplevel_Referenced_Entity, + Is_Valued_Procedure, + Is_Visible_Formal, + Is_Visible_Lib_Unit, + Is_Volatile_Type, + Is_Volatile_Object, + Is_Volatile_Full_Access, + Is_Wrapper, + Itype_Printed, + Kill_Elaboration_Checks, + Kill_Range_Checks, + Known_To_Have_Preelab_Init, + Last_Aggregate_Assignment, + Last_Assignment, + Last_Entity, + Limited_View, + Linker_Section_Pragma, + Lit_Hash, + Lit_Indexes, + Lit_Strings, + Low_Bound_Tested, + LSP_Subprogram, + Machine_Radix_10, + Master_Id, + Materialize_Entity, + May_Inherit_Delayed_Rep_Aspects, + Mechanism, + Minimum_Accessibility, + Modulus, + Must_Be_On_Byte_Boundary, + Must_Have_Preelab_Init, + Needs_Activation_Record, + Needs_Debug_Info, + Needs_No_Actuals, + Never_Set_In_Source, + Next_Inlined_Subprogram, + No_Dynamic_Predicate_On_Actual, + No_Pool_Assigned, + No_Predicate_On_Actual, + No_Reordering, + No_Return, + No_Strict_Aliasing, + No_Tagged_Streams_Pragma, + Non_Binary_Modulus, + Non_Limited_View, + Nonzero_Is_True, + Normalized_First_Bit, + Normalized_Position, + Normalized_Position_Max, + OK_To_Rename, + Optimize_Alignment_Space, + Optimize_Alignment_Time, + Original_Access_Type, + Original_Array_Type, + Original_Protected_Subprogram, + Original_Record_Component, + Overlays_Constant, + Overridden_Operation, + Package_Instantiation, + Packed_Array_Impl_Type, + Parent_Subtype, + Part_Of_Constituents, + Part_Of_References, + Partial_View_Has_Unknown_Discr, + Pending_Access_Types, + Postconditions_Proc, + Prev_Entity, + Prival, + Prival_Link, + Private_Dependents, + Protected_Body_Subprogram, + Protected_Formal, + Protected_Subprogram, + Protection_Object, + Reachable, + Receiving_Entry, + Referenced, + Referenced_As_LHS, + Referenced_As_Out_Parameter, + Refinement_Constituents, + Register_Exception_Call, + Related_Array_Object, + Related_Expression, + Related_Instance, + Related_Type, + Relative_Deadline_Variable, + Renamed_In_Spec, + Renamed_Or_Alias, -- Shared among Alias, Renamed_Entity, Renamed_Object + Requires_Overriding, + Return_Applies_To, + Return_Present, + Return_Statement, + Returns_By_Ref, + Reverse_Bit_Order, + Reverse_Storage_Order, + Rewritten_For_C, + RM_Size, + Scalar_Range, + Scale_Value, + Scope_Depth_Value, + Sec_Stack_Needed_For_Return, + Shared_Var_Procs_Instance, + Size_Check_Code, + Size_Depends_On_Discriminant, + Size_Known_At_Compile_Time, + Small_Value, + SPARK_Aux_Pragma, + SPARK_Aux_Pragma_Inherited, + SPARK_Pragma, + SPARK_Pragma_Inherited, + Spec_Entity, + SSO_Set_High_By_Default, + SSO_Set_Low_By_Default, + Static_Discrete_Predicate, + Static_Elaboration_Desired, + Static_Initialization, + Static_Real_Or_String_Predicate, + Status_Flag_Or_Transient_Decl, + Storage_Size_Variable, + Stored_Constraint, + Stores_Attribute_Old_Prefix, + Strict_Alignment, + String_Literal_Length, + String_Literal_Low_Bound, + Subprograms_For_Type, + Subps_Index, + Suppress_Elaboration_Warnings, + Suppress_Initialization, + Suppress_Style_Checks, + Suppress_Value_Tracking_On_Call, + Task_Body_Procedure, + Thunk_Entity, + Treat_As_Volatile, + Underlying_Full_View, + Underlying_Record_View, + Universal_Aliasing, + Unset_Reference, + Used_As_Generic_Actual, + Uses_Lock_Free, + Uses_Sec_Stack, + Validated_Object, + Warnings_Off, + Warnings_Off_Used, + Warnings_Off_Used_Unmodified, + Warnings_Off_Used_Unreferenced, + Was_Hidden, + Wrapped_Entity + + -- End of entity fields. + ); -- Opt_Field_Enum + + subtype Field_Enum is Opt_Field_Enum + range Opt_Field_Enum'Succ (No_Field) .. Opt_Field_Enum'Last; + -- Enumeration of fields -- Opt_Field_Enum without the special null value + -- No_Field. + + subtype Node_Header_Field is Field_Enum with Predicate => + Node_Header_Field in Nkind .. Link | Ekind; + + use Gen_IL.Types; + + subtype Node_Header_Type is Type_Enum range + Node_Kind_Type .. Union_Id; + -- Types of node header fields + +end Gen_IL.Fields; |