-- or Is_Controlled is set for at least one component).
-- Has_Convention_Pragma (Flag119)
--- Present in an entity for which a Convention, Import, or Export
--- pragma has been given. Used to prevent more than one such pragma
--- appearing for a given entity (RM B.1(45)).
+-- Present in all entities. Set true for an entity for which a valid
+-- Convention, Import, or Export pragma has been given. Used to prevent
+-- more than one such pragma appearing for a given entity (RM B.1(45)).
-- Has_Delayed_Freeze (Flag18)
-- Present in all entities. Set to indicate that an explicit freeze
-- flag and also the related flag Has_Qualified_Name.
-- Has_Gigi_Rep_Item (Flag82)
--- This flag is set if the rep item chain (referenced by First_Rep_Item
--- and linked through the Next_Rep_Item chain) contains a representation
--- item that needs to be specially processed by Gigi, i.e. one of the
--- following items:
+-- Present in all entities. Set if the rep item chain (referenced by
+-- First_Rep_Item and linked through the Next_Rep_Item chain) contains a
+-- representation item that needs to be specially processed by Gigi, i.e.
+-- one of the following items:
--
-- Machine_Attribute pragma
-- Linker_Alias pragma
-- (but unlike the case with pragma Unreferenced, it is ok to reference
-- such an object and no warning is generated.
--- Known_To_Have_Preelab_Init (Flag207)
--- Present in all type and subtype entities. If set, then the type is
--- known to have preelaborable initialization. In the case of a partial
--- view of a private type, it is only possible for this to be set if a
--- pragma Preelaborable_Initialization is given for the type. For other
--- types, it is never set if the type does not have preelaborable
--- initialization, it may or may not be set if the type does have
--- preelaborable initialization.
-
-- Has_Primitive_Operations (Flag120) [base type only]
-- Present in all type entities. Set if at least one primitive operation
-- is defined for the type.
-- storage size clause cannot be given to a derived type.
-- Has_Stream_Size_Clause (Flag184)
--- This flag is present in all entities. It is set for types which have a
--- Stream_Size clause attribute. Used to prevent multiple Stream_Size
--- clauses for a given entity, and also whether it is necessary to check
--- for a stream size clause.
+-- Present in all entities. It is set for types which have a Stream_Size
+-- clause attribute. Used to prevent multiple Stream_Size clauses for a
+-- given entity, and also whether it is necessary to check for a stream
+-- size clause.
-- Has_Subprogram_Descriptor (Flag93)
-- This flag is set on entities for which zero-cost exception subprogram
-- the flag Has_Unchecked_Union set.
-- Has_Unknown_Discriminants (Flag72)
--- Present in all type entities. Types can have unknown discriminants
--- either from their declaration or through type derivation. The use
--- of this flag exactly meets the spec in RM 3.7(26). Note that all
--- class-wide types are considered to have unknown discriminants.
--- Note that both Has_Discriminants and Has_Unknown_Discriminants may
--- be true for a type. Class-wide types and their subtypes have
--- unknown discriminants and can have declared ones as well. Private
--- types declared with unknown discriminants may have a full view that
--- has explicit discriminants, and both flag will be set on the partial
--- view, to insure that discriminants are properly inherited in certain
--- contexts.
+-- Present in all entities. Set for types with unknown discriminants.
+-- Types can have unknown discriminants either from their declaration or
+-- through type derivation. The use of this flag exactly meets the spec
+-- in RM 3.7(26). Note that all class-wide types are considered to have
+-- unknown discriminants. Note that both Has_Discriminants and
+-- Has_Unknown_Discriminants may be true for a type. Class-wide types and
+-- their subtypes have unknown discriminants and can have declared ones
+-- as well. Private types declared with unknown discriminants may have a
+-- full view that has explicit discriminants, and both flag will be set
+-- on the partial view, to insure that discriminants are properly
+-- inherited in certain contexts.
-- Has_Volatile_Components (Flag87) [implementation base type only]
-- Present in all types and objects. Set only for an array type or
-- item chain of the first subtype in the usual manner.
-- Has_Xref_Entry (Flag182)
--- This flag is set if an entity has an entry in the Xref information
--- generated in ali files. This is true for all source entities in the
--- extended main source file. It is also true of entities in other
--- packages that are referenced directly or indirectly from the main
--- source file (indirect reference occurs when the main source file
--- references an entity with a type reference. See package Lib.Xref
--- for further details).
+-- Present in all entities. Set if an entity has an entry in the Xref
+-- information generated in ali files. This is true for all source
+-- entities in the extended main source file. It is also true of entities
+-- in other packages that are referenced directly or indirectly from the
+-- main source file (indirect reference occurs when the main source file
+-- references an entity with a type reference. See package Lib.Xref for
+-- further details).
-- Hiding_Loop_Variable (Node8)
-- Present in variables. Set only if a variable of a discrete type is
-- returns the entity unchanged.
-- In_Package_Body (Flag48)
--- Set on the entity that denotes the package (the defining occurrence
--- of the package declaration) while analyzing and expanding the package
--- body. Reset on completion of analysis/expansion.
+-- Present in package entities. Set on the entity that denotes the
+-- package (the defining occurrence of the package declaration) while
+-- analyzing and expanding the package body. Reset on completion of
+-- analysis/expansion.
-- In_Private_Part (Flag45)
-- Present in all entities. Can be set only in package entities and
-- Applies to all entities, true for access types and subtypes
-- Is_Ada_2005_Only (Flag185)
--- Applies to all entities, true if a valid pragma Ada_05 applies to the
+-- Present in all entities, true if a valid pragma Ada_05 applies to the
-- entity which specifically names the entity, indicating that the entity
-- is Ada 2005 only. Note that this flag is not set if the entity is part
-- of a unit compiled with the normal no-argument form of pragma Ada_05.
-- inlining.
-- Is_Character_Type (Flag63)
--- Present in all entities, true for character types and subtypes,
+-- Present in all entities. Set for character types and subtypes,
-- i.e. enumeration types that have at least one character literal.
-- Is_Child_Unit (Flag73)
-- parent, we do not consider them to be separate units for this flag).
-- Is_Completely_Hidden (Flag103)
--- A flag set on an E_Discriminant entity. This flag can be set only
--- for girder discriminants of untagged types. When set, the entity
--- is a girder discriminant of a derived untagged type which is not
--- directly visible in the derived type because the derived type or
--- one of its ancestors have renamed the discriminants in the root
--- type. Note that there are girder discriminants which are not
--- Completely_Hidden (e.g. the discriminants of a root type).
+-- Present in all entities. This flag can be set only for E_Discriminant
+-- entities. This flag can be set only for girder discriminants of
+-- untagged types. When set, the entity is a girder discriminant of a
+-- derived untagged type which is not directly visible in the derived
+-- type because the derived type or one of its ancestors have renamed the
+-- discriminants in the root type. Note: there are girder discriminants
+-- which are not Completely_Hidden (e.g. discriminants of a root type).
-- Is_Composite_Type (synthesized)
-- Applies to all entities, true for all composite types and
-- that the constructed subtype itself will be constrained.
-- Is_Constr_Subt_For_UN_Aliased (Flag141)
--- This flag can only be set if Is_Constr_Subt_For_U_Nominal is set. It
--- indicates that in addition the object concerned is aliased. This flag
--- is used by Gigi to determine whether a template must be constructed.
+-- Present in all types and subtypes. This flag can be set only if
+-- Is_Constr_Subt_For_U_Nominal is also set. It indicates that in
+-- addition the object concerned is aliased. This flag is used by
+-- Gigi to determine whether a template must be constructed.
-- Is_Constructor (Flag76)
-- Present in function and procedure entities. Set if a pragma
-- Ada.Finalization.Limited_Controlled.
-- Is_Controlling_Formal (Flag97)
--- Present in all Formal_Kind entity. Marks the controlling parameters
+-- Present in all Formal_Kind entities. Marks the controlling parameters
-- of dispatching operations.
-- Is_CPP_Class (Flag74)
-- Always false if argument is not a type.
-- Is_Descendent_Of_Address (Flag223)
--- Applies to all types. Indicates that a type is an address type that
--- is visibly a numeric type. Used for semantic checks on VMS to remove
--- ambiguities in universal integer expressions that may have an address
--- interpretation
+-- Present in all type and subtype entities. Indicates that a type is an
+-- address type that is visibly a numeric type. Used for semantic checks
+-- on VMS to remove ambiguities in universal integer expressions that may
+-- have an address interpretation
-- Is_Discrete_Type (synthesized)
-- Applies to all entities, true for all discrete types and subtypes
-- and all fixed-point types and subtypes.
-- Is_Discrim_SO_Function (Flag176)
--- Present in all entities, set only in E_Function entities that Layout
+-- Present in all entities. Set only in E_Function entities that Layout
-- creates to compute discriminant-dependent dynamic size/offset values.
-- Is_Dispatching_Operation (Flag6)
-- Applies to all entities, true for generic IN and IN OUT parameters
-- Is_Formal_Subprogram (Flag111)
--- Defined on all entities, true for generic formal subprograms.
+-- Present in all entities. Set for generic formal subprograms.
-- Is_For_Access_Subtype (Flag118)
-- Present in E_Private_Subtype and E_Record_Subtype entities.
-- because the type may not have been found or frozen yet.
-- Is_Frozen (Flag4)
--- Present in all type entities. Set if the type has been frozen.
+-- Present in all type and subtype entities. Set if type or subtype has
+-- been frozen.
-- Is_Generic_Actual_Type (Flag94)
--- Present in the subtype declaration that renames the generic formal
--- as a subtype of the actual. Guarantees that the subtype is not static
--- within the instance.
+-- Present in all type and subtype entities. Set in the subtype
+-- declaration that renames the generic formal as a subtype of the
+-- actual. Guarantees that the subtype is not static within the instance.
-- Is_Generic_Instance (Flag130)
-- Present in all entities. Set to indicate that the entity is an
-- Applies to all entities, true for integer types and subtypes
-- Is_Interface (Flag186)
--- Present in record types and subtypes to indicate that the current
+-- Present in record types and subtypes. Set to indicate that the current
-- entity corresponds with an abstract interface. Because abstract
-- interfaces are conceptually a special kind of abstract tagged types
-- we represent them by means of tagged record types and subtypes
-- Is_Internal (Flag17)
-- Present in all entities. Set to indicate an entity created during
-- semantic processing (e.g. an implicit type, or a temporary). The
--- current uses of this flag are: 1) to indicate that temporaries
--- generated for the result of an inlined function call need not be
--- initialized, even when scalars are initialized or normalized, and
--- 2) to indicate object declarations generated by the expander that are
+-- current uses of this flag are: 1) to indicate that internal entities
+-- (such as temporaries generated for the result of an inlined function
+-- call or dummy variables generated for the debugger) need not be
+-- initialized, even when scalars are initialized or normalized, and 2)
+-- to indicate object declarations generated by the expander that are
-- implicitly imported or exported, so that they can be appropriately
-- marked in Sprint output.
-- to intrinsic, which causes intrinsic code to be generated.
-- Is_Itype (Flag91)
--- Present in all entities, set for Itypes. If it is set, then the
--- declaration for the type does not appear explicitly in the tree.
--- Instead gigi will elaborate the type when it is first used.
--- Has_Delayed_Freeze can be set for Itypes, and the meaning is that
--- the first use (the one which causes the type to be defined) will
--- be the freeze node. Note that an important restriction on Itypes
--- is that the first use of such a type (the one that causes it to be
--- defined) must be in the same scope as the type.
+-- Present in all entities. Set to indicate that a type is an Itype,
+-- which means that the declaration for the type does not appear
+-- explicitly in the tree. Instead gigi will elaborate the type when it
+-- is first used. Has_Delayed_Freeze can be set for Itypes, and the
+-- meaning is that the first use (the one which causes the type to be
+-- defined) will be the freeze node. Note that an important restriction
+-- on Itypes is that the first use of such a type (the one that causes it
+-- to be defined) must be in the same scope as the type.
-- Is_Known_Non_Null (Flag37)
-- Present in all entities. Relevant (and can be set True) only for
-- Thus this flag has no meaning to the back end.
-- Is_Limited_Composite (Flag106)
--- Present in all entities. True for composite types that have a
+-- Present in all entities. Set for composite types that have a
-- limited component. Used to enforce the rule that operations on
-- the composite type that depend on the full view of the component
-- do not become visible until the immediate scope of the composite
-- Applies to all entities. True if entity is a modular integer type
-- Is_Non_Static_Subtype (Flag109)
--- This flag is present in all type and subtype entities. It is set in
--- some (but not all) cases in which a subtype is known to be non-static.
--- Before this flag was added, the computation of whether a subtype was
--- static was entirely synthesized, by looking at the bounds, and the
--- immediate subtype parent. However, this method does not work for some
--- Itypes that have no parent set (and the only way to find the immediate
+-- Present in all type and subtype entities. It is set in some (but not
+-- all) cases in which a subtype is known to be non-static. Before this
+-- flag was added, the computation of whether a subtype was static was
+-- entirely synthesized, by looking at the bounds, and the immediate
+-- subtype parent. However, this method does not work for some Itypes
+-- that have no parent set (and the only way to find the immediate
-- subtype parent is to go through the tree). For now, this flay is set
-- conservatively, i.e. if it is set then for sure the subtype is non-
-- static, but if it is not set, then the type may or may not be static.
--- Thus the test for a static subtype is that this flag is clear AND
--- that the bounds are static AND that the parent subtype (if available
--- to be tested) is static. Eventually we should make sure this flag
--- is always set right, at which point, these comments can be removed,
--- and the tests for static subtypes greatly simplified.
+-- Thus the test for a static subtype is that this flag is clear AND that
+-- the bounds are static AND that the parent subtype (if available to be
+-- tested) is static. Eventually we should make sure this flag is always
+-- set right, at which point, these comments can be removed, and the
+-- tests for static subtypes greatly simplified.
-- Is_Null_Init_Proc (Flag178)
-- Present in procedure entities. Set for generated init proc procedures
-- indicators in bodies.
-- Is_Primitive_Wrapper (Flag195)
--- Present in E_Procedures. Primitive wrappers are Expander-generated
--- procedures that wrap entries of protected or task types implementing
--- a limited interface.
+-- Present in all entities. Set for procedure entries that are used as
+-- primitive wrappers. which are generated by the expander to wrap
+-- entries of protected or task types implementing a limited interface.
-- Is_Private_Composite (Flag107)
-- Present in composite types that have a private component. Used to
-- includes class-wide types and subtypes (which are also records)
-- Is_Remote_Call_Interface (Flag62)
--- Present in all entities, set in E_Package and E_Generic_Package
+-- Present in all entities. Set in E_Package and E_Generic_Package
-- entities to which a pragma Remote_Call_Interace is applied, and
-- also in all entities within such packages.
-- Is_Remote_Types (Flag61)
--- Present in all entities, set in E_Package and E_Generic_Package
+-- Present in all entities. Set in E_Package and E_Generic_Package
-- entities to which a pragma Remote_Types is applied, and also in
-- all entities within such packages.
-- calls. Note that build-in-place is allowed for other types, too.
-- Is_Return_Object (Flag209)
--- Applies to all object entities. True if the object is the return
+-- Present in all object entities. True if the object is the return
-- object of an extended_return_statement; False otherwise.
-- Is_Scalar_Type (synthesized)
-- Applies to all entities, true for scalar types and subtypes
-- Is_Shared_Passive (Flag60)
--- Present in all entities, set in E_Package and E_Generic_Package
+-- Present in all entities. Set in E_Package and E_Generic_Package
-- entities to which a pragma Shared_Passive is applied, and also in
-- all entities within such packages.
-- interface.
-- Is_Tag (Flag78)
--- Present in E_Component. For regular tagged type this flag is set on
--- the tag component (whose name is Name_uTag) and for CPP_Class tagged
--- types, this flag marks the pointer to the main vtable (i.e. the one
--- to be extended by derivation)
+-- Present in E_Component entities. For regular tagged type this flag is
+-- set on the tag component (whose name is Name_uTag) and for CPP_Class
+-- tagged types, this flag marks the pointer to the main vtable (i.e. the
+-- one to be extended by derivation)
-- Is_Tagged_Type (Flag55)
--- Present in all entities, true for an entity for a tagged type.
+-- Present in all entities. Set for an entity for a tagged type.
-- Is_Task_Interface (Flag200)
-- Present in types that are interfaces. True is interface is declared
--- as such, or if it is derived from task interfaces.
+-- as such, or if it is derived from task interfaces.
-- Is_Task_Record_Type (synthesized)
--- Applies to all entities, true if Is_Concurrent_Record_Type
+-- Applies to all entities. True if Is_Concurrent_Record_Type
-- Corresponding_Concurrent_Type is a task type.
-- Is_Task_Type (synthesized)
--- Applies to all entities, true for task types and subtypes
+-- Applies to all entities. True for task types and subtypes
+
+-- Is_Thunk (Flag225)
+-- True for subprograms that are thunks. Thunks are small subprograms
+-- built by the expander for tagged types that cover interface types;
+-- at run-time thunks displace the pointer to the object (pointer named
+-- "this" in the C++ terminology) from a secondary dispatch table to the
+-- primary dispatch table associated with a given tagged type. Set by
+-- Expand_Interface_Thunk and used by Expand_Call to handle extra
+-- actuals associated with accessibility level.
-- Is_True_Constant (Flag163)
--- This flag is set in constants and variables which have an initial
--- value specified but which are never assigned, partially or in the
--- whole. For variables, it means that the variable was initialized
--- but never modified, and hence can be treated as a constant by the
--- code generator. For a constant, it means that the constant was not
--- modified by generated code (e.g. to set a discriminant in an init
--- proc). Assignments by user or generated code will reset this flag.
+-- This flag applies to all entities for constants and variables. Set
+-- in constants and variables which have an initial value specified but
+-- which are never assigned, partially or in the whole. For variables, it
+-- means that the variable was initialized but never modified, and hence
+-- can be treated as a constant by the code generator. For a constant, it
+-- means that the constant was not modified by generated code (e.g. to
+-- set a discriminant in an init proc). Assignments by user or generated
+-- code will reset this flag.
--
-- Note: there is one situation in which the back end does not permit
-- this flag to be set, even if no assignments are generated. This is
-- created as a wrapper for a subprogram instantiation.
-- Itype_Printed (Flag202)
--- Set in Itypes if the Itype has been printed by Sprint. This is used to
--- avoid printing an Itype more than once.
+-- Present in all type and subtype entities. Set in Itypes if the Itype
+-- has been printed by Sprint. This is used to avoid printing an Itype
+-- more than once.
-- Kill_Elaboration_Checks (Flag32)
-- Present in all entities. Set by the expander to kill elaboration
-- that the result is permanent and cannot be undone by a subsequent
-- pragma Unsuppress.
+-- Known_To_Have_Preelab_Init (Flag207)
+-- Present in all type and subtype entities. If set, then the type is
+-- known to have preelaborable initialization. In the case of a partial
+-- view of a private type, it is only possible for this to be set if a
+-- pragma Preelaborable_Initialization is given for the type. For other
+-- types, it is never set if the type does not have preelaborable
+-- initialization, it may or may not be set if the type does have
+-- preelaborable initialization.
+
-- Last_Assignment (Node20)
-- Present in entities for variables. Set for a local variable to point
-- to the left side of an assignment statement assigning a value to the
-- used to resolve various cases of entry calls.
--
-- Never_Set_In_Source (Flag115)
--- Present in all entities, but relevant only for variables and
+-- Present in all entities, but can be set only for variables and
-- parameters. This flag is set if the object is never assigned a value
-- in user source code, either by assignment or by being used as an out
-- or in out parameter. Note that this flag is not reset from using an
-- which a goto to that label is legal.
-- Referenced (Flag156)
--- Present in all entities, set if the entity is referenced, except
+-- Present in all entities. Set if the entity is referenced, except
-- for the case of an appearence of a simple variable, that is not a
-- renaming, as the left side of an assignment in which case the flag
-- Referenced_As_LHS is set instead.
-- Referenced_As_LHS (Flag36):
--- This flag is set instead of Referenced if a simple variable that is
--- not a renaming appears as the left side of an assignment. The reason
--- we distinguish this kind of reference is that we have a separate
--- warning for variables that are only assigned and never read.
+-- Present in all entities. This flag is set instead of Referenced if a
+-- simple variable that is not a renaming appears as the left side of an
+-- assignment. The reason we distinguish this kind of reference is that
+-- we have a separate warning for variables that are only assigned and
+-- never read.
-- Referenced_Object (Node10)
-- Present in all type entities. Set non-Empty only for type entities
-- or a copy of the low bound of the index base type if not.
-- Suppress_Elaboration_Warnings (Flag148)
--- Present in all entities, relevant only for subprogram entities and
+-- Present in all entities, can be set only for subprogram entities and
-- for variables. If this flag is set then Sem_Elab will not generate
-- elaboration warnings for the subprogram or variable. Suppression of
-- such warnings is automatic for subprograms for which elaboration
-- must be released on exit unless Sec_Stack_Needed_For_Return is set.
-- Vax_Float (Flag151) [base type only]
--- Present in all type entities. Set only on the base type of float
--- types with Vax format. The particular format is determined by the
--- Digits_Value value which is 6,9,15 for F_Float, D_Float, G_Float.
+-- Present in all type and subtype entities. Set only on the base type of
+-- float types with Vax format. The particular format is determined by
+-- the Digits_Value value which is 6,9,15 for F_Float, D_Float, G_Float.
-- Warnings_Off (Flag96)
-- Present in all entities. Set if a pragma Warnings (Off, entity-name)
-- Has_Persistent_BSS (Flag188)
-- Has_Pragma_Elaborate_Body (Flag150)
-- Has_Pragma_Inline (Flag157)
+ -- Has_Pragma_Pack (Flag121) (base type only)
-- Has_Pragma_Pure (Flag203)
-- Has_Pragma_Pure_Function (Flag179)
-- Has_Pragma_Unreferenced (Flag180)
-- Has_Private_Declaration (Flag155)
-- Has_Qualified_Name (Flag161)
+ -- Has_Stream_Size_Clause (Flag184)
-- Has_Unknown_Discriminants (Flag72)
-- Has_Xref_Entry (Flag182)
+ -- In_Private_Part (Flag45)
-- Is_Ada_2005_Only (Flag185)
-- Is_Bit_Packed_Array (Flag122) (base type only)
+ -- Is_Character_Type (Flag63)
-- Is_Child_Unit (Flag73)
-- Is_Compilation_Unit (Flag149)
-- Is_Completely_Hidden (Flag103)
-- Is_Discrim_SO_Function (Flag176)
-- Is_Dispatching_Operation (Flag6)
+ -- Is_Entry_Formal (Flag52)
-- Is_Exported (Flag99)
-- Is_First_Subtype (Flag70)
-- Is_Formal_Subprogram (Flag111)
-- Is_Pure (Flag44)
-- Is_Remote_Call_Interface (Flag62)
-- Is_Remote_Types (Flag61)
+ -- Is_Renaming_Of_Object (Flag112)
-- Is_Shared_Passive (Flag60)
-- Is_Statically_Allocated (Flag28)
+ -- Is_Tagged_Type (Flag55)
-- Is_Unchecked_Union (Flag117)
-- Is_Visible_Formal (Flag206)
-- Is_VMS_Exception (Flag133)
-- Low_Bound_Known (Flag205)
-- Materialize_Entity (Flag168)
-- Needs_Debug_Info (Flag147)
+ -- Never_Set_In_Source (Flag115)
-- No_Return (Flag113)
-- Referenced (Flag156)
-- Referenced_As_LHS (Flag36)
-- Suppress_Style_Checks (Flag165)
-- Suppress_Value_Tracking_On_Call (Flag217)
-- Used_As_Generic_Actual (Flag222)
+ -- Warnings_Off (Flag96)
-- Was_Hidden (Flag196)
-- Declaration_Node (synth)
-- Has_Specified_Stream_Output (Flag191)
-- Has_Specified_Stream_Read (Flag192)
-- Has_Specified_Stream_Write (Flag193)
- -- Has_Stream_Size_Clause (Flag184)
-- Has_Task (Flag30) (base type only)
-- Has_Unchecked_Union (Flag123) (base type only)
-- Has_Volatile_Components (Flag87) (base type only)
-- Is_Non_Static_Subtype (Flag109)
-- Is_Packed (Flag51) (base type only)
-- Is_Private_Composite (Flag107)
- -- Is_Renaming_Of_Object (Flag112)
- -- Is_Tagged_Type (Flag55)
-- Is_Unsigned_Type (Flag144)
-- Is_Volatile (Flag16)
-- Itype_Printed (Flag202) (itypes only)
-- Packed_Array_Type (Node23)
-- Component_Alignment (special) (base type only)
-- Has_Component_Size_Clause (Flag68) (base type only)
- -- Has_Pragma_Pack (Flag121) (base type only)
-- Is_Aliased (Flag15)
-- Is_Constrained (Flag12)
-- Next_Index (synth)
-- Number_Dimensions (synth)
- -- (plus type attributes)
+ -- (plus type attributes)
-- E_Block
-- Block_Node (Node11)
-- Has_Size_Clause (Flag29)
-- Has_Up_Level_Access (Flag215)
-- Has_Volatile_Components (Flag87)
- -- In_Private_Part (Flag45)
-- Is_Atomic (Flag85)
-- Is_Eliminated (Flag124)
-- Is_True_Constant (Flag163)
-- Is_Volatile (Flag16)
- -- Never_Set_In_Source (Flag115)
-- Treat_As_Volatile (Flag41)
-- Is_Return_Object (Flag209)
-- Address_Clause (synth)
-- Is_Primitive (Flag218)
-- Is_Private_Descendant (Flag53)
-- Is_Pure (Flag44)
+ -- Is_Thunk (Flag225)
-- Is_Visible_Child_Unit (Flag116)
-- Needs_No_Actuals (Flag22)
-- Requires_Overriding (Flag213) (non-generic case only)
-- Default_Value (Node20)
-- Protected_Formal (Node22)
-- Is_Controlling_Formal (Flag97)
- -- Is_Entry_Formal (Flag52)
-- Is_Return_Object (Flag209)
-- Parameter_Mode (synth)
-- Extra_Constrained (Node23)
-- Has_Initial_Value (Flag219)
-- Is_Controlling_Formal (Flag97)
- -- Is_Entry_Formal (Flag52)
-- Is_Optional_Parameter (Flag134)
-- Low_Bound_Known (Flag205)
- -- Never_Set_In_Source (Flag115)
-- Is_Return_Object (Flag209)
-- Parameter_Mode (synth)
-- Is_Intrinsic_Subprogram (Flag64)
-- Is_Overriding_Operation (Flag39)
-- Is_Primitive (Flag218)
+ -- Is_Thunk (Flag225)
-- Default_Expressions_Processed (Flag108)
-- E_Ordinary_Fixed_Point_Type
-- Has_RACW (Flag214) (non-generic case only)
-- Has_Subprogram_Descriptor (Flag93)
-- In_Package_Body (Flag48)
- -- In_Private_Part (Flag45)
-- In_Use (Flag8)
-- Is_Instantiated (Flag126)
-- Is_Private_Descendant (Flag53)
-- Is_Primitive_Wrapper (Flag195) (non-generic case only)
-- Is_Private_Descendant (Flag53)
-- Is_Pure (Flag44)
+ -- Is_Thunk (Flag225)
-- Is_Valued_Procedure (Flag127)
-- Is_Visible_Child_Unit (Flag116)
-- Needs_No_Actuals (Flag22)
-- Has_Initial_Value (Flag219)
-- Has_Size_Clause (Flag29)
-- Has_Volatile_Components (Flag87)
- -- In_Private_Part (Flag45)
-- Is_Atomic (Flag85)
-- Is_Eliminated (Flag124)
-- Is_Shared_Passive (Flag60)
-- Is_True_Constant (Flag163)
-- Is_Volatile (Flag16)
- -- Never_Set_In_Source (Flag115)
-- Treat_As_Volatile (Flag41)
-- Is_Return_Object (Flag209)
-- Has_Up_Level_Access (Flag215)
function Is_Signed_Integer_Type (Id : E) return B;
function Is_Subprogram (Id : E) return B;
function Is_Task_Type (Id : E) return B;
+ function Is_Thunk (Id : E) return B;
function Is_Type (Id : E) return B;
-------------------------------------
procedure Set_Is_Tag (Id : E; V : B := True);
procedure Set_Is_Tagged_Type (Id : E; V : B := True);
procedure Set_Is_Task_Interface (Id : E; V : B := True);
+ procedure Set_Is_Thunk (Id : E; V : B := True);
procedure Set_Is_True_Constant (Id : E; V : B := True);
procedure Set_Is_Unchecked_Union (Id : E; V : B := True);
procedure Set_Is_Unsigned_Type (Id : E; V : B := True);
pragma Inline (Is_Task_Interface);
pragma Inline (Is_True_Constant);
pragma Inline (Is_Task_Type);
+ pragma Inline (Is_Thunk);
pragma Inline (Is_Type);
pragma Inline (Is_Unchecked_Union);
pragma Inline (Is_Unsigned_Type);
pragma Inline (Set_Is_Tag);
pragma Inline (Set_Is_Tagged_Type);
pragma Inline (Set_Is_Task_Interface);
+ pragma Inline (Set_Is_Thunk);
pragma Inline (Set_Is_True_Constant);
pragma Inline (Set_Is_Unchecked_Union);
pragma Inline (Set_Is_Unsigned_Type);