-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2012, 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- --
-- that holds value of the Aft attribute for the type.
-- Alias (Node18)
--- Present in overloaded entities (literals, subprograms, entries) and
+-- Present in overloadable entities (literals, subprograms, entries) and
-- subprograms that cover a primitive operation of an abstract interface
-- (that is, subprograms with the Interface_Alias attribute). In case of
-- overloaded entities it points to the parent subprogram of a derived
-- declaration, the associated_node_for_itype is the discriminant
-- specification. For an access parameter it is the enclosing subprogram
-- declaration.
+--
+-- Itypes have no explicit declaration, and therefore are not attached to
+-- the tree: their Parent field is always empty. The Associated_Node_For_
+-- Itype is the only way to determine the construct that leads to the
+-- creation of a given itype entity.
-- Associated_Storage_Pool (Node22) [root type only]
-- Present in simple and general access type entities. References the
-- returns the {function,procedure}_specification, not the subprogram_
-- declaration.
+-- Default_Aspect_Component_Value (Node19)
+-- Present in array types. Holds the static value specified in a
+-- default_component_value aspect specification for the array type.
+
+-- Default_Aspect_Value (Node19)
+-- Present in scalar types. Holds the static value specified in a
+-- default_value aspect specification for the type.
+
-- Default_Expr_Function (Node21)
-- Present in parameters. It holds the entity of the parameterless
-- function that is built to evaluate the default expression if it is
-- Present in access types. This field points to the type that is
-- directly designated by the access type. In the case of an access
-- type to an incomplete type, this field references the incomplete
--- type. Note that in the semantic processing, what is useful in
--- nearly all cases is the full type designated by the access type.
--- The function Designated_Type obtains this full type in the case of
--- access to an incomplete type.
+-- type. Directly_Designated_Type is typically used in implementing the
+-- static semantics of the language; in implementing dynamic semantics,
+-- we typically want the full view of the designated type. The function
+-- Designated_Type obtains this full type in the case of access to an
+-- incomplete type.
-- Discard_Names (Flag88)
-- Present in types and exception entities. Set if pragma Discard_Names
-- or entry. Returns Empty if there are no extra formals.
-- Extra_Accessibility (Node13)
--- Present in formal parameters in the non-generic case if expansion is
--- active. Normally Empty, but if a parameter is one for which a dynamic
--- accessibility check is required, then an extra formal of type
+-- Present in formal parameters in the non-generic case. Normally Empty,
+-- but if expansion is active, and a parameter is one for which a
+-- dynamic accessibility check is required, then an extra formal of type
-- Natural is created (see description of field Extra_Formal), and the
-- Extra_Accessibility field of the formal parameter points to the entity
-- for this extra formal. Also present in variables when compiling
-- must be retrieved through the entity designed by this field instead of
-- being computed.
+-- Extra_Accessibility_Of_Result (Node19)
+-- Present in (non-generic) Function, Operator, and Subprogram_Type
+-- entities. Normally Empty, but if expansion is active, and a function
+-- is one for which "the accessibility level of the result ... determined
+-- by the point of call" (AI05-0234) is needed, then an extra formal of
+-- subtype Natural is created (see description of field Extra_Formal),
+-- and the Extra_Accessibility_Of_Result field of the function points to
+-- the entity for this extra formal.
+
-- Extra_Constrained (Node23)
--- Present in formal parameters in the non-generic case if expansion is
--- active. Normally Empty, but if a parameter is one for which a dynamic
+-- Present in formal parameters in the non-generic case. Normally Empty,
+-- but if expansion is active and a parameter is one for which a dynamic
-- indication of its constrained status is required, then an extra formal
-- of type Boolean is created (see description of field Extra_Formal),
-- and the Extra_Constrained field of the formal parameter points to the
-- representation pragmas nodes and representation clause nodes that
-- apply to the entity, linked using Next_Rep_Item, with Empty marking
-- the end of the list. In the case of derived types and subtypes, the
--- new entity inherits the chain at the point of declaration. This
--- means that it is possible to have multiple instances of the same
--- kind of rep item on the chain, in which case it is the first one
--- that applies to the entity.
+-- new entity inherits the chain at the point of declaration. This means
+-- that it is possible to have multiple instances of the same kind of rep
+-- item on the chain, in which case it is the first one that applies to
+-- the entity.
--
-- Note: pragmas that can apply to more than one overloadable entity,
-- (Convention, Interface, Inline, Inline_Always, Import, Export,
-- Linker_Section pragma
-- Weak_External pragma
--
--- If any of these items are present, then the flag Has_Gigi_Rep_Item
--- is set, indicating that Gigi should search the chain.
+-- If any of these items are present, then the flag Has_Gigi_Rep_Item is
+-- set, indicating that Gigi should search the chain.
--
-- Other representation items are included in the chain so that error
-- messages can easily locate the relevant nodes for posting errors.
-- the floating-point representation to be used.
-- Freeze_Node (Node7)
--- Present in all entities. If there is an associated freeze node for
--- the entity, this field references this freeze node. If no freeze
--- node is associated with the entity, then this field is Empty. See
--- package Freeze for further details.
+-- Present in all entities. If there is an associated freeze node for the
+-- entity, this field references this freeze node. If no freeze node is
+-- associated with the entity, then this field is Empty. See package
+-- Freeze for further details.
-- From_With_Type (Flag159)
-- Present in package and type entities. Indicates that the entity
-- more anonymous blocks and the Chars field contains a name with an
-- anonymous block suffix (see Exp_Dbug for further details).
+-- Has_Anonymous_Master (Flag253)
+-- Present in units (top-level functions and procedures, library-level
+-- packages). Set to True if the associated unit contains a heterogeneous
+-- finalization master. The master's name is of the form <unit>AM and it
+-- services anonymous access-to-controlled types with an undetermined
+-- lifetime.
+
-- Has_Atomic_Components (Flag86) [implementation base type only]
-- Present in all types and objects. Set only for an array type or
-- an array object if a valid pragma Atomic_Components applies to the
-- type has no discriminants and the full view has discriminants with
-- defaults. In Ada 2005 heap-allocated objects of such types are not
-- constrained, and can change their discriminants with full assignment.
+-- Sem_Aux.Effectively_Has_Constrained_Partial_View should be always
+-- used by callers, rather than reading this attribute directly because,
+-- according to RM 3.10.2 (27/2), untagged generic formal private types
+-- and subtypes are also considered to have a constrained partial view
+-- [when in a generic body].
-- Has_Contiguous_Rep (Flag181)
-- Present in enumeration types. True if the type as a representation
-- of pragma Ada_12 or Ada_2012.
-- Is_Aliased (Flag15)
--- Present in objects whose declarations carry the keyword aliased,
--- and on record components that have the keyword.
+-- Present in all entities. Set for objects and types whose declarations
+-- carry the keyword aliased, and on record components that have the
+-- keyword. For Ada 2012, also applies to formal parameters.
-- Is_AST_Entry (Flag132)
-- Present in entry entities. Set if a valid pragma AST_Entry applies
-- Is_Generic_Type (Flag13)
-- Present in all entities. Set for types which are generic formal types.
-- Such types have an Ekind that corresponds to their classification, so
--- the Ekind cannot be used to identify generic types.
+-- the Ekind cannot be used to identify generic formal types.
-- Is_Generic_Unit (synthesized)
-- Applies to all entities. Yields True for a generic unit (generic
-- Present in all entities. Set if entity is immediately visible, i.e.
-- is defined in some currently open scope (RM 8.3(4)).
+-- Is_Implementation_Defined (Flag254)
+-- Present in all entities. Set if a pragma Implementation_Defined is
+-- applied to the pragma. Used to mark all implementation defined
+-- identifiers in standard library packages, and to implement the
+-- restriction No_Implementation_Identifiers.
+
-- Is_Imported (Flag24)
-- Present in all entities. Set if the entity is imported. For now we
-- only allow the import of exceptions, functions, procedures, packages.
-- Is_Local_Anonymous_Access (Flag194)
-- Present in access types. Set for an anonymous access type to indicate
-- that the type is created for a record component with an access
--- definition, an array component, or a stand-alone object. Such
--- anonymous types have an accessibility level equal to that of the
+-- definition, an array component, or (pre-Ada 2012) a standalone object.
+-- Such anonymous types have an accessibility level equal to that of the
-- declaration in which they appear, unlike the anonymous access types
--- that are created for access parameters and access discriminants.
+-- that are created for access parameters, access discriminants, and
+-- (as of Ada 2012) stand-alone objects.
-- Is_Machine_Code_Subprogram (Flag137)
-- Present in subprogram entities. Set to indicate that the subprogram
-- Present in all entities. Set in E_Package and E_Generic_Package
-- entities to which a pragma Remote_Types is applied, and also on
-- entities declared in the visible part of the spec of such a package.
+-- Also set for types which are generic formal types to which the
+-- pragma Remote_Access_Type applies.
-- Is_Renaming_Of_Object (Flag112)
-- Present in all entities, set only for a variable or constant for
-- visible by selected notation, or not.
-- Is_Visible_Formal (Flag206)
--- Present in all entities. Set for instances of the formals of a formal
--- package. Indicates that the entity must be made visible in the body
--- of the instance, to reproduce the visibility of the generic. This
--- simplifies visibility settings in instance bodies.
--- ??? confusion in above comments between being present and being set
+-- Present in all entities. Set True for instances of the formals of a
+-- formal package. Indicates that the entity must be made visible in the
+-- body of the instance, to reproduce the visibility of the generic.
+-- This simplifies visibility settings in instance bodies.
-- Is_VMS_Exception (Flag133)
-- Present in all entities. Set only for exception entities where the
-- Package_Instantiation (Node26)
-- Present in packages and generic packages. When present, this field
--- references an N_Package_Instantiation node associated with an
+-- references an N_Generic_Instantiation node associated with an
-- instantiated package. In the case where the referenced node has
-- been rewritten to an N_Package_Specification, the instantiation
-- node is available from the Original_Node field of the package spec
-- register call to make appropriate entries in the special tables
-- used for handling these pragmas at runtime.
--- Related_Array_Object (Node19)
+-- Related_Array_Object (Node25)
-- Present in array types and subtypes. Used only for the base type
-- and subtype created for an anonymous array object. Set to point
-- to the entity of the corresponding array object. Currently used
-- Is_Ada_2005_Only (Flag185)
-- Is_Ada_2012_Only (Flag199)
-- Is_Bit_Packed_Array (Flag122) (base type only)
+ -- Is_Aliased (Flag15)
-- Is_Character_Type (Flag63)
-- Is_Child_Unit (Flag73)
-- Is_Compilation_Unit (Flag149)
-- Is_Hidden (Flag57)
-- Is_Hidden_Open_Scope (Flag171)
-- Is_Immediately_Visible (Flag7)
+ -- Is_Implementation_Defined (Flag254)
-- Is_Imported (Flag24)
-- Is_Inlined (Flag11)
-- Is_Internal (Flag17)
-- E_Array_Type
-- E_Array_Subtype
-- First_Index (Node17)
- -- Related_Array_Object (Node19)
+ -- Default_Aspect_Component_Value (Node19)
-- Component_Type (Node20) (base type only)
-- Original_Array_Type (Node21)
-- Component_Size (Uint22) (base type only)
-- Packed_Array_Type (Node23)
+ -- Related_Array_Object (Node25)
-- Component_Alignment (special) (base type only)
-- Has_Component_Size_Clause (Flag68) (base type only)
-- Has_Pragma_Pack (Flag121) (impl base type only)
- -- Is_Aliased (Flag15)
-- Is_Constrained (Flag12)
-- Next_Index (synth)
-- Number_Dimensions (synth)
-- Discriminal_Link (Node10) (discriminals only)
-- Full_View (Node11)
-- Esize (Uint12)
+ -- Extra_Accessibility (Node13) (constants only)
-- Alignment (Uint14)
-- Return_Flag_Or_Transient_Decl (Node15) (constants only)
-- Actual_Subtype (Node17)
-- Protection_Object (Node23) (protected kind)
-- Contract (Node24) (for entry only)
-- PPC_Wrapper (Node25)
+ -- Extra_Formals (Node28)
-- Default_Expressions_Processed (Flag108)
-- Entry_Accepted (Flag152)
-- Is_AST_Entry (Flag132) (for entry only)
-- Lit_Indexes (Node15) (root type only)
-- Lit_Strings (Node16) (root type only)
-- First_Literal (Node17)
+ -- Default_Aspect_Value (Node19)
-- Scalar_Range (Node20)
-- Enum_Pos_To_Rep (Node23) (type only)
-- Static_Predicate (List25)
-- E_Floating_Point_Subtype
-- Digits_Value (Uint17)
-- Float_Rep (Uint10) (Float_Rep_Kind)
+ -- Default_Aspect_Value (Node19)
-- Scalar_Range (Node20)
-- Machine_Emax_Value (synth)
-- Machine_Emin_Value (synth)
-- First_Entity (Node17)
-- Alias (Node18) (non-generic case only)
-- Renamed_Entity (Node18) (generic case only)
+ -- Extra_Accessibility_Of_Result (Node19) (non-generic case only)
-- Last_Entity (Node20)
-- Interface_Name (Node21)
-- Scope_Depth_Value (Uint22)
-- Delay_Cleanups (Flag114)
-- Delay_Subprogram_Descriptors (Flag50)
-- Discard_Names (Flag88)
+ -- Has_Anonymous_Master (Flag253)
-- Has_Completion (Flag26)
-- Has_Controlling_Result (Flag98)
-- Has_Invariants (Flag232)
-- E_Modular_Integer_Type
-- E_Modular_Integer_Subtype
-- Modulus (Uint17) (base type only)
+ -- Default_Aspect_Value (Node19)
-- Original_Array_Type (Node21)
-- Scalar_Range (Node20)
-- Static_Predicate (List25)
-- E_Operator
-- First_Entity (Node17)
-- Alias (Node18)
+ -- Extra_Accessibility_Of_Result (Node19)
-- Last_Entity (Node20)
-- Overridden_Operation (Node26)
-- Subprograms_For_Type (Node29)
-- E_Ordinary_Fixed_Point_Type
-- E_Ordinary_Fixed_Point_Subtype
-- Delta_Value (Ureal18)
+ -- Default_Aspect_Value (Node19)
-- Scalar_Range (Node20)
-- Small_Value (Ureal21)
-- Has_Small_Clause (Flag67)
-- Elaborate_Body_Desirable (Flag210) (non-generic case only)
-- From_With_Type (Flag159)
-- Has_All_Calls_Remote (Flag79)
+ -- Has_Anonymous_Master (Flag253)
-- Has_Completion (Flag26)
-- Has_Forward_Instantiation (Flag175)
-- Has_Master_Entity (Flag21)
-- Is_Instantiated (Flag126)
-- Is_Private_Descendant (Flag53)
-- Is_Visible_Child_Unit (Flag116)
- -- Is_Wrapper_Package (synth) (non-generic case only)
-- Renamed_In_Spec (Flag231) (non-generic case only)
- -- Scope_Depth (synth)
-- Static_Elaboration_Desired (Flag77) (non-generic case only)
+ -- Is_Wrapper_Package (synth) (non-generic case only)
+ -- Scope_Depth (synth)
-- E_Package_Body
-- Handler_Records (List10) (non-generic case only)
-- Last_Entity (Node20)
-- Scope_Depth_Value (Uint22)
-- Finalizer (Node24) (non-generic case only)
- -- Scope_Depth (synth)
-- Delay_Subprogram_Descriptors (Flag50)
+ -- Has_Anonymous_Master (Flag253)
-- Has_Subprogram_Descriptor (Flag93)
+ -- Scope_Depth (synth)
-- E_Private_Type
-- E_Private_Subtype
-- Delay_Cleanups (Flag114)
-- Delay_Subprogram_Descriptors (Flag50)
-- Discard_Names (Flag88)
+ -- Has_Anonymous_Master (Flag253)
-- Has_Completion (Flag26)
-- Has_Invariants (Flag232)
-- Has_Master_Entity (Flag21)
-- E_Signed_Integer_Type
-- E_Signed_Integer_Subtype
+ -- Default_Aspect_Value (Node19)
-- Scalar_Range (Node20)
-- Static_Predicate (List25)
-- Has_Biased_Representation (Flag139)
-- Corresponding_Protected_Entry (Node18)
-- Last_Entity (Node20)
-- Scope_Depth_Value (Uint22)
+ -- Extra_Formals (Node28)
-- Scope_Depth (synth)
-- E_Subprogram_Type
+ -- Extra_Accessibility_Of_Result (Node19)
-- Directly_Designated_Type (Node20)
+ -- Extra_Formals (Node28)
-- First_Formal (synth)
-- First_Formal_With_Extras (synth)
-- Last_Formal (synth)
function CR_Discriminant (Id : E) return E;
function C_Pass_By_Copy (Id : E) return B;
function Can_Never_Be_Null (Id : E) return B;
+ function Can_Use_Internal_Rep (Id : E) return B;
function Checks_May_Be_Suppressed (Id : E) return B;
function Class_Wide_Type (Id : E) return E;
function Cloned_Subtype (Id : E) return E;
function Component_Alignment (Id : E) return C;
- function Component_Clause (Id : E) return N;
function Component_Bit_Offset (Id : E) return U;
+ function Component_Clause (Id : E) return N;
function Component_Size (Id : E) return U;
function Component_Type (Id : E) return E;
+ function Contract (Id : E) return N;
function Corresponding_Concurrent_Type (Id : E) return E;
function Corresponding_Discriminant (Id : E) return E;
function Corresponding_Equality (Id : E) return E;
function Corresponding_Remote_Type (Id : E) return E;
function Current_Use_Clause (Id : E) return E;
function Current_Value (Id : E) return N;
- function Debug_Info_Off (Id : E) return B;
- function Debug_Renaming_Link (Id : E) return E;
- function Dispatch_Table_Wrappers (Id : E) return L;
function DTC_Entity (Id : E) return E;
function DT_Entry_Count (Id : E) return U;
function DT_Offset_To_Top_Func (Id : E) return E;
function DT_Position (Id : E) return U;
+ function Debug_Info_Off (Id : E) return B;
+ function Debug_Renaming_Link (Id : E) return E;
+ function Default_Aspect_Component_Value (Id : E) return N;
+ function Default_Aspect_Value (Id : E) return N;
function Default_Expr_Function (Id : E) return E;
function Default_Expressions_Processed (Id : E) return B;
function Default_Value (Id : E) return N;
function Dependent_Instances (Id : E) return L;
function Depends_On_Private (Id : E) return B;
function Digits_Value (Id : E) return U;
+ function Direct_Primitive_Operations (Id : E) return L;
function Directly_Designated_Type (Id : E) return E;
function Discard_Names (Id : E) return B;
function Discriminal (Id : E) return E;
function Discriminant_Constraint (Id : E) return L;
function Discriminant_Default_Value (Id : E) return N;
function Discriminant_Number (Id : E) return U;
+ function Dispatch_Table_Wrappers (Id : E) return L;
function Elaborate_Body_Desirable (Id : E) return B;
function Elaboration_Entity (Id : E) return E;
function Elaboration_Entity_Required (Id : E) return B;
function Entry_Formal (Id : E) return E;
function Entry_Index_Constant (Id : E) return E;
function Entry_Index_Type (Id : E) return E;
- function Contract (Id : E) return N;
function Entry_Parameters_Type (Id : E) return E;
function Enum_Pos_To_Rep (Id : E) return E;
function Enumeration_Pos (Id : E) return U;
function Esize (Id : E) return U;
function Exception_Code (Id : E) return U;
function Extra_Accessibility (Id : E) return E;
+ function Extra_Accessibility_Of_Result (Id : E) return E;
function Extra_Constrained (Id : E) return E;
function Extra_Formal (Id : E) return E;
function Extra_Formals (Id : E) return E;
- function Can_Use_Internal_Rep (Id : E) return B;
function Finalization_Master (Id : E) return E;
function Finalize_Storage_Only (Id : E) return B;
function Finalizer (Id : E) return E;
function Has_Alignment_Clause (Id : E) return B;
function Has_All_Calls_Remote (Id : E) return B;
function Has_Anon_Block_Suffix (Id : E) return B;
+ function Has_Anonymous_Master (Id : E) return B;
function Has_Atomic_Components (Id : E) return B;
function Has_Biased_Representation (Id : E) return B;
function Has_Completion (Id : E) return B;
function Has_Implicit_Dereference (Id : E) return B;
function Has_Inheritable_Invariants (Id : E) return B;
function Has_Initial_Value (Id : E) return B;
- function Has_Invariants (Id : E) return B;
function Has_Interrupt_Handler (Id : E) return B;
+ function Has_Invariants (Id : E) return B;
function Has_Machine_Radix_Clause (Id : E) return B;
function Has_Master_Entity (Id : E) return B;
function Has_Missing_Return (Id : E) return B;
function In_Use (Id : E) return B;
function Inner_Instances (Id : E) return L;
function Interface_Alias (Id : E) return E;
- function Interfaces (Id : E) return L;
function Interface_Name (Id : E) return N;
+ function Interfaces (Id : E) return L;
function Is_AST_Entry (Id : E) return B;
function Is_Abstract_Subprogram (Id : E) return B;
function Is_Abstract_Type (Id : E) return B;
function Is_Hidden (Id : E) return B;
function Is_Hidden_Open_Scope (Id : E) return B;
function Is_Immediately_Visible (Id : E) return B;
+ function Is_Implementation_Defined (Id : E) return B;
function Is_Imported (Id : E) return B;
function Is_Inlined (Id : E) return B;
- function Is_Interface (Id : E) return B;
function Is_Instantiated (Id : E) return B;
+ function Is_Interface (Id : E) return B;
function Is_Internal (Id : E) return B;
function Is_Interrupt_Handler (Id : E) return B;
function Is_Intrinsic_Subprogram (Id : E) return B;
function Original_Record_Component (Id : E) return E;
function Overlays_Constant (Id : E) return B;
function Overridden_Operation (Id : E) return E;
+ function PPC_Wrapper (Id : E) return E;
function Package_Instantiation (Id : E) return N;
function Packed_Array_Type (Id : E) return E;
function Parent_Subtype (Id : E) return E;
function Postcondition_Proc (Id : E) return E;
- function PPC_Wrapper (Id : E) return E;
- function Direct_Primitive_Operations (Id : E) return L;
function Prival (Id : E) return E;
function Prival_Link (Id : E) return E;
function Private_Dependents (Id : E) return L;
function Renamed_Object (Id : E) return N;
function Renaming_Map (Id : E) return U;
function Requires_Overriding (Id : E) return B;
+ function Return_Applies_To (Id : E) return N;
function Return_Flag_Or_Transient_Decl (Id : E) return E;
function Return_Present (Id : E) return B;
- function Return_Applies_To (Id : E) return N;
function Returns_By_Ref (Id : E) return B;
function Reverse_Bit_Order (Id : E) return B;
function Scalar_Range (Id : E) return N;
function Shadow_Entities (Id : E) return S;
function Shared_Var_Procs_Instance (Id : E) return E;
function Size_Check_Code (Id : E) return N;
- function Size_Known_At_Compile_Time (Id : E) return B;
function Size_Depends_On_Discriminant (Id : E) return B;
+ function Size_Known_At_Compile_Time (Id : E) return B;
function Small_Value (Id : E) return R;
function Spec_Entity (Id : E) return E;
- function Static_Predicate (Id : E) return S;
- function Storage_Size_Variable (Id : E) return E;
function Static_Elaboration_Desired (Id : E) return B;
function Static_Initialization (Id : E) return N;
+ function Static_Predicate (Id : E) return S;
+ function Storage_Size_Variable (Id : E) return E;
function Stored_Constraint (Id : E) return L;
function Strict_Alignment (Id : E) return B;
function String_Literal_Length (Id : E) return U;
procedure Set_Accept_Address (Id : E; V : L);
procedure Set_Access_Disp_Table (Id : E; V : L);
- procedure Set_Dispatch_Table_Wrappers (Id : E; V : L);
procedure Set_Actual_Subtype (Id : E; V : E);
procedure Set_Address_Taken (Id : E; V : B := True);
procedure Set_Alias (Id : E; V : E);
procedure Set_CR_Discriminant (Id : E; V : E);
procedure Set_C_Pass_By_Copy (Id : E; V : B := True);
procedure Set_Can_Never_Be_Null (Id : E; V : B := True);
+ procedure Set_Can_Use_Internal_Rep (Id : E; V : B := True);
procedure Set_Checks_May_Be_Suppressed (Id : E; V : B := True);
procedure Set_Class_Wide_Type (Id : E; V : E);
procedure Set_Cloned_Subtype (Id : E; V : E);
procedure Set_Component_Clause (Id : E; V : N);
procedure Set_Component_Size (Id : E; V : U);
procedure Set_Component_Type (Id : E; V : E);
+ procedure Set_Contract (Id : E; V : N);
procedure Set_Corresponding_Concurrent_Type (Id : E; V : E);
procedure Set_Corresponding_Discriminant (Id : E; V : E);
procedure Set_Corresponding_Equality (Id : E; V : E);
procedure Set_Corresponding_Remote_Type (Id : E; V : E);
procedure Set_Current_Use_Clause (Id : E; V : E);
procedure Set_Current_Value (Id : E; V : N);
- procedure Set_Debug_Info_Off (Id : E; V : B := True);
- procedure Set_Debug_Renaming_Link (Id : E; V : E);
procedure Set_DTC_Entity (Id : E; V : E);
procedure Set_DT_Entry_Count (Id : E; V : U);
procedure Set_DT_Offset_To_Top_Func (Id : E; V : E);
procedure Set_DT_Position (Id : E; V : U);
+ procedure Set_Debug_Info_Off (Id : E; V : B := True);
+ procedure Set_Debug_Renaming_Link (Id : E; V : E);
+ procedure Set_Default_Aspect_Component_Value (Id : E; V : N);
+ procedure Set_Default_Aspect_Value (Id : E; V : N);
procedure Set_Default_Expr_Function (Id : E; V : E);
procedure Set_Default_Expressions_Processed (Id : E; V : B := True);
procedure Set_Default_Value (Id : E; V : N);
procedure Set_Dependent_Instances (Id : E; V : L);
procedure Set_Depends_On_Private (Id : E; V : B := True);
procedure Set_Digits_Value (Id : E; V : U);
+ procedure Set_Direct_Primitive_Operations (Id : E; V : L);
procedure Set_Directly_Designated_Type (Id : E; V : E);
procedure Set_Discard_Names (Id : E; V : B := True);
procedure Set_Discriminal (Id : E; V : E);
procedure Set_Discriminant_Constraint (Id : E; V : L);
procedure Set_Discriminant_Default_Value (Id : E; V : N);
procedure Set_Discriminant_Number (Id : E; V : U);
+ procedure Set_Dispatch_Table_Wrappers (Id : E; V : L);
procedure Set_Elaborate_Body_Desirable (Id : E; V : B := True);
procedure Set_Elaboration_Entity (Id : E; V : E);
procedure Set_Elaboration_Entity_Required (Id : E; V : B := True);
procedure Set_Entry_Component (Id : E; V : E);
procedure Set_Entry_Formal (Id : E; V : E);
procedure Set_Entry_Index_Constant (Id : E; V : E);
- procedure Set_Contract (Id : E; V : N);
procedure Set_Entry_Parameters_Type (Id : E; V : E);
procedure Set_Enum_Pos_To_Rep (Id : E; V : E);
procedure Set_Enumeration_Pos (Id : E; V : U);
procedure Set_Esize (Id : E; V : U);
procedure Set_Exception_Code (Id : E; V : U);
procedure Set_Extra_Accessibility (Id : E; V : E);
+ procedure Set_Extra_Accessibility_Of_Result (Id : E; V : E);
procedure Set_Extra_Constrained (Id : E; V : E);
procedure Set_Extra_Formal (Id : E; V : E);
procedure Set_Extra_Formals (Id : E; V : E);
- procedure Set_Can_Use_Internal_Rep (Id : E; V : B := True);
procedure Set_Finalization_Master (Id : E; V : E);
procedure Set_Finalize_Storage_Only (Id : E; V : B := True);
procedure Set_Finalizer (Id : E; V : E);
procedure Set_Has_Alignment_Clause (Id : E; V : B := True);
procedure Set_Has_All_Calls_Remote (Id : E; V : B := True);
procedure Set_Has_Anon_Block_Suffix (Id : E; V : B := True);
+ procedure Set_Has_Anonymous_Master (Id : E; V : B := True);
procedure Set_Has_Atomic_Components (Id : E; V : B := True);
procedure Set_Has_Biased_Representation (Id : E; V : B := True);
procedure Set_Has_Completion (Id : E; V : B := True);
procedure Set_Has_Xref_Entry (Id : E; V : B := True);
procedure Set_Hiding_Loop_Variable (Id : E; V : E);
procedure Set_Homonym (Id : E; V : E);
- procedure Set_Interfaces (Id : E; V : L);
procedure Set_In_Package_Body (Id : E; V : B := True);
procedure Set_In_Private_Part (Id : E; V : B := True);
procedure Set_In_Use (Id : E; V : B := True);
procedure Set_Inner_Instances (Id : E; V : L);
procedure Set_Interface_Alias (Id : E; V : E);
procedure Set_Interface_Name (Id : E; V : N);
+ procedure Set_Interfaces (Id : E; V : L);
procedure Set_Is_AST_Entry (Id : E; V : B := True);
procedure Set_Is_Abstract_Subprogram (Id : E; V : B := True);
procedure Set_Is_Abstract_Type (Id : E; V : B := True);
procedure Set_Is_Hidden (Id : E; V : B := True);
procedure Set_Is_Hidden_Open_Scope (Id : E; V : B := True);
procedure Set_Is_Immediately_Visible (Id : E; V : B := True);
+ procedure Set_Is_Implementation_Defined (Id : E; V : B := True);
procedure Set_Is_Imported (Id : E; V : B := True);
procedure Set_Is_Inlined (Id : E; V : B := True);
- procedure Set_Is_Interface (Id : E; V : B := True);
procedure Set_Is_Instantiated (Id : E; V : B := True);
+ procedure Set_Is_Interface (Id : E; V : B := True);
procedure Set_Is_Internal (Id : E; V : B := True);
procedure Set_Is_Interrupt_Handler (Id : E; V : B := True);
procedure Set_Is_Intrinsic_Subprogram (Id : E; V : B := True);
procedure Set_Original_Record_Component (Id : E; V : E);
procedure Set_Overlays_Constant (Id : E; V : B := True);
procedure Set_Overridden_Operation (Id : E; V : E);
+ procedure Set_PPC_Wrapper (Id : E; V : E);
procedure Set_Package_Instantiation (Id : E; V : N);
procedure Set_Packed_Array_Type (Id : E; V : E);
procedure Set_Parent_Subtype (Id : E; V : E);
procedure Set_Postcondition_Proc (Id : E; V : E);
- procedure Set_PPC_Wrapper (Id : E; V : E);
- procedure Set_Direct_Primitive_Operations (Id : E; V : L);
procedure Set_Prival (Id : E; V : E);
procedure Set_Prival_Link (Id : E; V : E);
procedure Set_Private_Dependents (Id : E; V : L);
procedure Set_Renamed_Object (Id : E; V : N);
procedure Set_Renaming_Map (Id : E; V : U);
procedure Set_Requires_Overriding (Id : E; V : B := True);
+ procedure Set_Return_Applies_To (Id : E; V : N);
procedure Set_Return_Flag_Or_Transient_Decl (Id : E; V : E);
procedure Set_Return_Present (Id : E; V : B := True);
- procedure Set_Return_Applies_To (Id : E; V : N);
procedure Set_Returns_By_Ref (Id : E; V : B := True);
procedure Set_Reverse_Bit_Order (Id : E; V : B := True);
procedure Set_Scalar_Range (Id : E; V : N);
procedure Set_Size_Known_At_Compile_Time (Id : E; V : B := True);
procedure Set_Small_Value (Id : E; V : R);
procedure Set_Spec_Entity (Id : E; V : E);
- procedure Set_Static_Predicate (Id : E; V : S);
- procedure Set_Storage_Size_Variable (Id : E; V : E);
procedure Set_Static_Elaboration_Desired (Id : E; V : B);
procedure Set_Static_Initialization (Id : E; V : N);
+ procedure Set_Static_Predicate (Id : E; V : S);
+ procedure Set_Storage_Size_Variable (Id : E; V : E);
procedure Set_Stored_Constraint (Id : E; V : L);
procedure Set_Strict_Alignment (Id : E; V : B := True);
procedure Set_String_Literal_Length (Id : E; V : U);
-- This procedure initializes both size fields and the alignment
-- field to all be Unknown.
+ procedure Init_Object_Size_Align (Id : E);
+ -- Same as Init_Size_Align except RM_Size field (which is only for types)
+ -- is unaffected.
+
procedure Init_Size (Id : E; V : Int);
-- Initialize both the Esize and RM_Size fields of E to V
pragma Inline (CR_Discriminant);
pragma Inline (C_Pass_By_Copy);
pragma Inline (Can_Never_Be_Null);
+ pragma Inline (Can_Use_Internal_Rep);
pragma Inline (Checks_May_Be_Suppressed);
pragma Inline (Class_Wide_Type);
pragma Inline (Cloned_Subtype);
pragma Inline (Corresponding_Remote_Type);
pragma Inline (Current_Use_Clause);
pragma Inline (Current_Value);
- pragma Inline (Debug_Info_Off);
- pragma Inline (Debug_Renaming_Link);
- pragma Inline (Dispatch_Table_Wrappers);
pragma Inline (DTC_Entity);
pragma Inline (DT_Entry_Count);
pragma Inline (DT_Offset_To_Top_Func);
pragma Inline (DT_Position);
+ pragma Inline (Debug_Info_Off);
+ pragma Inline (Debug_Renaming_Link);
+ pragma Inline (Default_Aspect_Component_Value);
+ pragma Inline (Default_Aspect_Value);
pragma Inline (Default_Expr_Function);
pragma Inline (Default_Expressions_Processed);
pragma Inline (Default_Value);
pragma Inline (Discriminant_Constraint);
pragma Inline (Discriminant_Default_Value);
pragma Inline (Discriminant_Number);
+ pragma Inline (Dispatch_Table_Wrappers);
pragma Inline (Elaborate_Body_Desirable);
pragma Inline (Elaboration_Entity);
pragma Inline (Elaboration_Entity_Required);
pragma Inline (Esize);
pragma Inline (Exception_Code);
pragma Inline (Extra_Accessibility);
+ pragma Inline (Extra_Accessibility_Of_Result);
pragma Inline (Extra_Constrained);
pragma Inline (Extra_Formal);
pragma Inline (Extra_Formals);
- pragma Inline (Can_Use_Internal_Rep);
pragma Inline (Finalization_Master);
pragma Inline (Finalizer);
pragma Inline (First_Entity);
pragma Inline (Has_Alignment_Clause);
pragma Inline (Has_All_Calls_Remote);
pragma Inline (Has_Anon_Block_Suffix);
+ pragma Inline (Has_Anonymous_Master);
pragma Inline (Has_Atomic_Components);
pragma Inline (Has_Biased_Representation);
pragma Inline (Has_Completion);
pragma Inline (Has_Xref_Entry);
pragma Inline (Hiding_Loop_Variable);
pragma Inline (Homonym);
- pragma Inline (Interfaces);
pragma Inline (In_Package_Body);
pragma Inline (In_Private_Part);
pragma Inline (In_Use);
pragma Inline (Inner_Instances);
pragma Inline (Interface_Alias);
pragma Inline (Interface_Name);
+ pragma Inline (Interfaces);
pragma Inline (Is_AST_Entry);
pragma Inline (Is_Abstract_Subprogram);
pragma Inline (Is_Abstract_Type);
pragma Inline (Is_Access_Constant);
- pragma Inline (Is_Ada_2005_Only);
- pragma Inline (Is_Ada_2012_Only);
- pragma Inline (Is_Access_Type);
pragma Inline (Is_Access_Protected_Subprogram_Type);
pragma Inline (Is_Access_Subprogram_Type);
+ pragma Inline (Is_Access_Type);
+ pragma Inline (Is_Ada_2005_Only);
+ pragma Inline (Is_Ada_2012_Only);
pragma Inline (Is_Aggregate_Type);
pragma Inline (Is_Aliased);
pragma Inline (Is_Array_Type);
pragma Inline (Is_Controlled);
pragma Inline (Is_Controlling_Formal);
pragma Inline (Is_Decimal_Fixed_Point_Type);
- pragma Inline (Is_Discrim_SO_Function);
- pragma Inline (Is_Digits_Type);
pragma Inline (Is_Descendent_Of_Address);
+ pragma Inline (Is_Digits_Type);
pragma Inline (Is_Discrete_Or_Fixed_Point_Type);
pragma Inline (Is_Discrete_Type);
+ pragma Inline (Is_Discrim_SO_Function);
pragma Inline (Is_Dispatch_Table_Entity);
pragma Inline (Is_Dispatching_Operation);
pragma Inline (Is_Elementary_Type);
pragma Inline (Is_Hidden);
pragma Inline (Is_Hidden_Open_Scope);
pragma Inline (Is_Immediately_Visible);
+ pragma Inline (Is_Implementation_Defined);
pragma Inline (Is_Imported);
pragma Inline (Is_Incomplete_Or_Private_Type);
pragma Inline (Is_Incomplete_Type);
pragma Inline (Is_Inlined);
- pragma Inline (Is_Interface);
pragma Inline (Is_Instantiated);
pragma Inline (Is_Integer_Type);
+ pragma Inline (Is_Interface);
pragma Inline (Is_Internal);
pragma Inline (Is_Interrupt_Handler);
pragma Inline (Is_Intrinsic_Subprogram);
pragma Inline (Is_Named_Number);
pragma Inline (Is_Non_Static_Subtype);
pragma Inline (Is_Null_Init_Proc);
- pragma Inline (Is_Obsolescent);
- pragma Inline (Is_Only_Out_Parameter);
pragma Inline (Is_Numeric_Type);
pragma Inline (Is_Object);
+ pragma Inline (Is_Obsolescent);
+ pragma Inline (Is_Only_Out_Parameter);
pragma Inline (Is_Optional_Parameter);
- pragma Inline (Is_Package_Body_Entity);
pragma Inline (Is_Ordinary_Fixed_Point_Type);
pragma Inline (Is_Overloadable);
+ pragma Inline (Is_Package_Body_Entity);
pragma Inline (Is_Packed);
pragma Inline (Is_Packed_Array_Type);
pragma Inline (Is_Potentially_Use_Visible);
pragma Inline (Is_Subprogram);
pragma Inline (Is_Tag);
pragma Inline (Is_Tagged_Type);
- pragma Inline (Is_True_Constant);
pragma Inline (Is_Task_Type);
pragma Inline (Is_Thunk);
pragma Inline (Is_Trivial_Subprogram);
+ pragma Inline (Is_True_Constant);
pragma Inline (Is_Type);
pragma Inline (Is_Unchecked_Union);
pragma Inline (Is_Underlying_Record_View);
pragma Inline (Original_Record_Component);
pragma Inline (Overlays_Constant);
pragma Inline (Overridden_Operation);
+ pragma Inline (PPC_Wrapper);
pragma Inline (Package_Instantiation);
pragma Inline (Packed_Array_Type);
pragma Inline (Parameter_Mode);
pragma Inline (Parent_Subtype);
pragma Inline (Postcondition_Proc);
- pragma Inline (PPC_Wrapper);
pragma Inline (Prival);
pragma Inline (Prival_Link);
pragma Inline (Private_Dependents);
pragma Inline (Renamed_Object);
pragma Inline (Renaming_Map);
pragma Inline (Requires_Overriding);
+ pragma Inline (Return_Applies_To);
pragma Inline (Return_Flag_Or_Transient_Decl);
pragma Inline (Return_Present);
- pragma Inline (Return_Applies_To);
pragma Inline (Returns_By_Ref);
pragma Inline (Reverse_Bit_Order);
pragma Inline (Scalar_Range);
pragma Inline (Size_Known_At_Compile_Time);
pragma Inline (Small_Value);
pragma Inline (Spec_Entity);
- pragma Inline (Static_Predicate);
- pragma Inline (Storage_Size_Variable);
pragma Inline (Static_Elaboration_Desired);
pragma Inline (Static_Initialization);
+ pragma Inline (Static_Predicate);
+ pragma Inline (Storage_Size_Variable);
pragma Inline (Stored_Constraint);
pragma Inline (Strict_Alignment);
pragma Inline (String_Literal_Length);
pragma Inline (Set_CR_Discriminant);
pragma Inline (Set_C_Pass_By_Copy);
pragma Inline (Set_Can_Never_Be_Null);
+ pragma Inline (Set_Can_Use_Internal_Rep);
pragma Inline (Set_Checks_May_Be_Suppressed);
pragma Inline (Set_Class_Wide_Type);
pragma Inline (Set_Cloned_Subtype);
pragma Inline (Set_Corresponding_Remote_Type);
pragma Inline (Set_Current_Use_Clause);
pragma Inline (Set_Current_Value);
- pragma Inline (Set_Debug_Info_Off);
- pragma Inline (Set_Debug_Renaming_Link);
- pragma Inline (Set_Dispatch_Table_Wrappers);
pragma Inline (Set_DTC_Entity);
pragma Inline (Set_DT_Entry_Count);
pragma Inline (Set_DT_Offset_To_Top_Func);
pragma Inline (Set_DT_Position);
- pragma Inline (Set_Relative_Deadline_Variable);
+ pragma Inline (Set_Debug_Info_Off);
+ pragma Inline (Set_Debug_Renaming_Link);
+ pragma Inline (Set_Default_Aspect_Component_Value);
+ pragma Inline (Set_Default_Aspect_Value);
pragma Inline (Set_Default_Expr_Function);
pragma Inline (Set_Default_Expressions_Processed);
pragma Inline (Set_Default_Value);
pragma Inline (Set_Discriminant_Constraint);
pragma Inline (Set_Discriminant_Default_Value);
pragma Inline (Set_Discriminant_Number);
+ pragma Inline (Set_Dispatch_Table_Wrappers);
pragma Inline (Set_Elaborate_Body_Desirable);
pragma Inline (Set_Elaboration_Entity);
pragma Inline (Set_Elaboration_Entity_Required);
pragma Inline (Set_Esize);
pragma Inline (Set_Exception_Code);
pragma Inline (Set_Extra_Accessibility);
+ pragma Inline (Set_Extra_Accessibility_Of_Result);
pragma Inline (Set_Extra_Constrained);
pragma Inline (Set_Extra_Formal);
pragma Inline (Set_Extra_Formals);
- pragma Inline (Set_Can_Use_Internal_Rep);
pragma Inline (Set_Finalization_Master);
pragma Inline (Set_Finalizer);
pragma Inline (Set_First_Entity);
pragma Inline (Set_Has_Alignment_Clause);
pragma Inline (Set_Has_All_Calls_Remote);
pragma Inline (Set_Has_Anon_Block_Suffix);
+ pragma Inline (Set_Has_Anonymous_Master);
pragma Inline (Set_Has_Atomic_Components);
pragma Inline (Set_Has_Biased_Representation);
pragma Inline (Set_Has_Completion);
pragma Inline (Set_Has_Xref_Entry);
pragma Inline (Set_Hiding_Loop_Variable);
pragma Inline (Set_Homonym);
- pragma Inline (Set_Interfaces);
pragma Inline (Set_In_Package_Body);
pragma Inline (Set_In_Private_Part);
pragma Inline (Set_In_Use);
pragma Inline (Set_Inner_Instances);
pragma Inline (Set_Interface_Alias);
pragma Inline (Set_Interface_Name);
+ pragma Inline (Set_Interfaces);
pragma Inline (Set_Is_AST_Entry);
pragma Inline (Set_Is_Abstract_Subprogram);
pragma Inline (Set_Is_Abstract_Type);
pragma Inline (Set_Is_Compilation_Unit);
pragma Inline (Set_Is_Completely_Hidden);
pragma Inline (Set_Is_Concurrent_Record_Type);
- pragma Inline (Set_Is_Constr_Subt_For_U_Nominal);
pragma Inline (Set_Is_Constr_Subt_For_UN_Aliased);
+ pragma Inline (Set_Is_Constr_Subt_For_U_Nominal);
pragma Inline (Set_Is_Constrained);
pragma Inline (Set_Is_Constructor);
pragma Inline (Set_Is_Controlled);
pragma Inline (Set_Is_Hidden);
pragma Inline (Set_Is_Hidden_Open_Scope);
pragma Inline (Set_Is_Immediately_Visible);
+ pragma Inline (Set_Is_Implementation_Defined);
pragma Inline (Set_Is_Imported);
pragma Inline (Set_Is_Inlined);
- pragma Inline (Set_Is_Interface);
pragma Inline (Set_Is_Instantiated);
+ pragma Inline (Set_Is_Interface);
pragma Inline (Set_Is_Internal);
pragma Inline (Set_Is_Interrupt_Handler);
pragma Inline (Set_Is_Intrinsic_Subprogram);
pragma Inline (Set_Normalized_First_Bit);
pragma Inline (Set_Normalized_Position);
pragma Inline (Set_Normalized_Position_Max);
- pragma Inline (Set_OK_To_Reorder_Components);
pragma Inline (Set_OK_To_Rename);
+ pragma Inline (Set_OK_To_Reorder_Components);
pragma Inline (Set_Optimize_Alignment_Space);
pragma Inline (Set_Optimize_Alignment_Time);
pragma Inline (Set_Original_Access_Type);
pragma Inline (Set_Original_Record_Component);
pragma Inline (Set_Overlays_Constant);
pragma Inline (Set_Overridden_Operation);
+ pragma Inline (Set_PPC_Wrapper);
pragma Inline (Set_Package_Instantiation);
pragma Inline (Set_Packed_Array_Type);
pragma Inline (Set_Parent_Subtype);
pragma Inline (Set_Postcondition_Proc);
- pragma Inline (Set_PPC_Wrapper);
pragma Inline (Set_Prival);
pragma Inline (Set_Prival_Link);
pragma Inline (Set_Private_Dependents);
pragma Inline (Set_Related_Expression);
pragma Inline (Set_Related_Instance);
pragma Inline (Set_Related_Type);
+ pragma Inline (Set_Relative_Deadline_Variable);
pragma Inline (Set_Renamed_Entity);
pragma Inline (Set_Renamed_In_Spec);
pragma Inline (Set_Renamed_Object);
pragma Inline (Set_Renaming_Map);
pragma Inline (Set_Requires_Overriding);
+ pragma Inline (Set_Return_Applies_To);
pragma Inline (Set_Return_Flag_Or_Transient_Decl);
pragma Inline (Set_Return_Present);
- pragma Inline (Set_Return_Applies_To);
pragma Inline (Set_Returns_By_Ref);
pragma Inline (Set_Reverse_Bit_Order);
pragma Inline (Set_Scalar_Range);
pragma Inline (Set_Size_Known_At_Compile_Time);
pragma Inline (Set_Small_Value);
pragma Inline (Set_Spec_Entity);
- pragma Inline (Set_Static_Predicate);
- pragma Inline (Set_Storage_Size_Variable);
pragma Inline (Set_Static_Elaboration_Desired);
pragma Inline (Set_Static_Initialization);
+ pragma Inline (Set_Static_Predicate);
+ pragma Inline (Set_Storage_Size_Variable);
pragma Inline (Set_Stored_Constraint);
pragma Inline (Set_Strict_Alignment);
pragma Inline (Set_String_Literal_Length);