Implementation Defined Attributes (GNAT Reference Manual) (original) (raw)
Next: Standard and Implementation Defined Restrictions, Previous: Implementation Defined Aspects, Up: GNAT Reference Manual [Contents][Index]
Ada defines (throughout the Ada reference manual, summarized in Annex K), a set of attributes that provide useful additional functionality in all areas of the language. These language defined attributes are implemented in GNAT and work as described in the Ada Reference Manual.
In addition, Ada allows implementations to define additional attributes whose meaning is defined by the implementation. GNAT provides a number of these implementation-dependent attributes which can be used to extend and enhance the functionality of the compiler. This section of the GNAT reference manual describes these additional attributes. It also describes additional implementation-dependent features of standard language-defined attributes.
Note that any program using these attributes may not be portable to other compilers (although GNAT implements this set of attributes on all platforms). Therefore if portability to other compilers is an important consideration, you should minimize the use of these attributes.
- Attribute Abort_Signal
- Attribute Address_Size
- Attribute Asm_Input
- Attribute Asm_Output
- Attribute Atomic_Always_Lock_Free
- Attribute Bit
- Attribute Bit_Position
- Attribute Code_Address
- Attribute Compiler_Version
- Attribute Constrained
- Attribute Default_Bit_Order
- Attribute Default_Scalar_Storage_Order
- Attribute Deref
- Attribute Descriptor_Size
- Attribute Elaborated
- Attribute Elab_Body
- Attribute Elab_Spec
- Attribute Elab_Subp_Body
- Attribute Emax
- Attribute Enabled
- Attribute Enum_Rep
- Attribute Enum_Val
- Attribute Epsilon
- Attribute Fast_Math
- Attribute Finalization_Size
- Attribute Fixed_Value
- Attribute From_Any
- Attribute Has_Access_Values
- Attribute Has_Discriminants
- Attribute Has_Tagged_Values
- Attribute Img
- Attribute Initialized
- Attribute Integer_Value
- Attribute Invalid_Value
- Attribute Large
- Attribute Library_Level
- Attribute Loop_Entry
- Attribute Machine_Size
- Attribute Mantissa
- Attribute Maximum_Alignment
- Attribute Max_Integer_Size
- Attribute Mechanism_Code
- Attribute Null_Parameter
- Attribute Object_Size
- Attribute Old
- Attribute Passed_By_Reference
- Attribute Pool_Address
- Attribute Range_Length
- Attribute Restriction_Set
- Attribute Result
- Attribute Round
- Attribute Safe_Emax
- Attribute Safe_Large
- Attribute Safe_Small
- Attribute Scalar_Storage_Order
- Attribute Simple_Storage_Pool
- Attribute Small
- Attribute Small_Denominator
- Attribute Small_Numerator
- Attribute Storage_Unit
- Attribute Stub_Type
- Attribute System_Allocator_Alignment
- Attribute Target_Name
- Attribute To_Address
- Attribute To_Any
- Attribute Type_Class
- Attribute Type_Key
- Attribute TypeCode
- Attribute Unconstrained_Array
- Attribute Universal_Literal_String
- Attribute Unrestricted_Access
- Attribute Update
- Attribute Valid_Value
- Attribute Valid_Scalars
- Attribute VADS_Size
- Attribute Value_Size
- Attribute Wchar_T_Size
- Attribute Word_Size