(gnat_rm-11.info)Top
GNAT Reference Manual
*********************
GNAT Reference Manual , Dec 11, 2020
AdaCore
Copyright © 2008-2021, Free Software Foundation
`GNAT, The GNU Ada Development Environment'
GCC version 11.4.0
AdaCore
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with the Front-Cover Texts being "GNAT Reference
Manual", and with no Back-Cover Texts. A copy of the license is
included in the section entitled *note GNU Free Documentation License:
1.
- About This Guide
- Implementation Defined Pragmas
- Implementation Defined Aspects
- Implementation Defined Attributes
- Standard and Implementation Defined Restrictions
- Implementation Advice
- Implementation Defined Characteristics
- Intrinsic Subprograms
- Representation Clauses and Pragmas
- Standard Library Routines
- The Implementation of Standard I/O
- The GNAT Library
- Interfacing to Other Languages
- Specialized Needs Annexes
- Implementation of Specific Ada Features
- Implementation of Ada 2012 Features
- Obsolescent Features
- Compatibility and Porting Guide
- GNU Free Documentation License
- Index
— The Detailed Node Listing —
About This Guide
- What This Reference Manual Contains
- Conventions
- Related Information
Implementation Defined Pragmas
- Pragma Abort_Defer
- Pragma Abstract_State
- Pragma Ada_83
- Pragma Ada_95
- Pragma Ada_05
- Pragma Ada_2005
- Pragma Ada_12
- Pragma Ada_2012
- Pragma Aggregate_Individually_Assign
- Pragma Allow_Integer_Address
- Pragma Annotate
- Pragma Assert
- Pragma Assert_And_Cut
- Pragma Assertion_Policy
- Pragma Assume
- Pragma Assume_No_Invalid_Values
- Pragma Async_Readers
- Pragma Async_Writers
- Pragma Attribute_Definition
- Pragma C_Pass_By_Copy
- Pragma Check
- Pragma Check_Float_Overflow
- Pragma Check_Name
- Pragma Check_Policy
- Pragma Comment
- Pragma Common_Object
- Pragma Compile_Time_Error
- Pragma Compile_Time_Warning
- Pragma Compiler_Unit
- Pragma Compiler_Unit_Warning
- Pragma Complete_Representation
- Pragma Complex_Representation
- Pragma Component_Alignment
- Pragma Constant_After_Elaboration
- Pragma Contract_Cases
- Pragma Convention_Identifier
- Pragma CPP_Class
- Pragma CPP_Constructor
- Pragma CPP_Virtual
- Pragma CPP_Vtable
- Pragma CPU
- Pragma Deadline_Floor
- Pragma Default_Initial_Condition
- Pragma Debug
- Pragma Debug_Policy
- Pragma Default_Scalar_Storage_Order
- Pragma Default_Storage_Pool
- Pragma Depends
- Pragma Detect_Blocking
- Pragma Disable_Atomic_Synchronization
- Pragma Dispatching_Domain
- Pragma Effective_Reads
- Pragma Effective_Writes
- Pragma Elaboration_Checks
- Pragma Eliminate
- Pragma Enable_Atomic_Synchronization
- Pragma Export_Function
- Pragma Export_Object
- Pragma Export_Procedure
- Pragma Export_Value
- Pragma Export_Valued_Procedure
- Pragma Extend_System
- Pragma Extensions_Allowed
- Pragma Extensions_Visible
- Pragma External
- Pragma External_Name_Casing
- Pragma Fast_Math
- Pragma Favor_Top_Level
- Pragma Finalize_Storage_Only
- Pragma Float_Representation
- Pragma Ghost
- Pragma Global
- Pragma Ident
- Pragma Ignore_Pragma
- Pragma Implementation_Defined
- Pragma Implemented
- Pragma Implicit_Packing
- Pragma Import_Function
- Pragma Import_Object
- Pragma Import_Procedure
- Pragma Import_Valued_Procedure
- Pragma Independent
- Pragma Independent_Components
- Pragma Initial_Condition
- Pragma Initialize_Scalars
- Pragma Initializes
- Pragma Inline_Always
- Pragma Inline_Generic
- Pragma Interface
- Pragma Interface_Name
- Pragma Interrupt_Handler
- Pragma Interrupt_State
- Pragma Invariant
- Pragma Keep_Names
- Pragma License
- Pragma Link_With
- Pragma Linker_Alias
- Pragma Linker_Constructor
- Pragma Linker_Destructor
- Pragma Linker_Section
- Pragma Lock_Free
- Pragma Loop_Invariant
- Pragma Loop_Optimize
- Pragma Loop_Variant
- Pragma Machine_Attribute
- Pragma Main
- Pragma Main_Storage
- Pragma Max_Queue_Length
- Pragma No_Body
- Pragma No_Caching
- Pragma No_Component_Reordering
- Pragma No_Elaboration_Code_All
- Pragma No_Heap_Finalization
- Pragma No_Inline
- Pragma No_Return
- Pragma No_Strict_Aliasing
- Pragma No_Tagged_Streams
- Pragma Normalize_Scalars
- Pragma Obsolescent
- Pragma Optimize_Alignment
- Pragma Ordered
- Pragma Overflow_Mode
- Pragma Overriding_Renamings
- Pragma Partition_Elaboration_Policy
- Pragma Part_Of
- Pragma Passive
- Pragma Persistent_BSS
- Pragma Post
- Pragma Postcondition
- Pragma Post_Class
- Pragma Rename_Pragma
- Pragma Pre
- Pragma Precondition
- Pragma Predicate
- Pragma Predicate_Failure
- Pragma Preelaborable_Initialization
- Pragma Prefix_Exception_Messages
- Pragma Pre_Class
- Pragma Priority_Specific_Dispatching
- Pragma Profile
- Pragma Profile_Warnings
- Pragma Propagate_Exceptions
- Pragma Provide_Shift_Operators
- Pragma Psect_Object
- Pragma Pure_Function
- Pragma Rational
- Pragma Ravenscar
- Pragma Refined_Depends
- Pragma Refined_Global
- Pragma Refined_Post
- Pragma Refined_State
- Pragma Relative_Deadline
- Pragma Remote_Access_Type
- Pragma Restricted_Run_Time
- Pragma Restriction_Warnings
- Pragma Reviewable
- Pragma Secondary_Stack_Size
- Pragma Share_Generic
- Pragma Shared
- Pragma Short_Circuit_And_Or
- Pragma Short_Descriptors
- Pragma Simple_Storage_Pool_Type
- Pragma Source_File_Name
- Pragma Source_File_Name_Project
- Pragma Source_Reference
- Pragma SPARK_Mode
- Pragma Static_Elaboration_Desired
- Pragma Stream_Convert
- Pragma Style_Checks
- Pragma Subtitle
- Pragma Suppress
- Pragma Suppress_All
- Pragma Suppress_Debug_Info
- Pragma Suppress_Exception_Locations
- Pragma Suppress_Initialization
- Pragma Task_Name
- Pragma Task_Storage
- Pragma Test_Case
- Pragma Thread_Local_Storage
- Pragma Time_Slice
- Pragma Title
- Pragma Type_Invariant
- Pragma Type_Invariant_Class
- Pragma Unchecked_Union
- Pragma Unevaluated_Use_Of_Old
- Pragma Unimplemented_Unit
- Pragma Universal_Aliasing
- Pragma Universal_Data
- Pragma Unmodified
- Pragma Unreferenced
- Pragma Unreferenced_Objects
- Pragma Unreserve_All_Interrupts
- Pragma Unsuppress
- Pragma Use_VADS_Size
- Pragma Unused
- Pragma Validity_Checks
- Pragma Volatile
- Pragma Volatile_Full_Access
- Pragma Volatile_Function
- Pragma Warning_As_Error
- Pragma Warnings
- Pragma Weak_External
- Pragma Wide_Character_Encoding
Implementation Defined Aspects
- Aspect Abstract_State
- Aspect Annotate
- Aspect Async_Readers
- Aspect Async_Writers
- Aspect Constant_After_Elaboration
- Aspect Contract_Cases
- Aspect Depends
- Aspect Default_Initial_Condition
- Aspect Dimension
- Aspect Dimension_System
- Aspect Disable_Controlled
- Aspect Effective_Reads
- Aspect Effective_Writes
- Aspect Extensions_Visible
- Aspect Favor_Top_Level
- Aspect Ghost
- Aspect Global
- Aspect Initial_Condition
- Aspect Initializes
- Aspect Inline_Always
- Aspect Invariant
- Aspect Invariant'Class
- Aspect Iterable
- Aspect Linker_Section
- Aspect Lock_Free
- Aspect Max_Queue_Length
- Aspect No_Caching
- Aspect No_Elaboration_Code_All
- Aspect No_Inline
- Aspect No_Tagged_Streams
- Aspect Object_Size
- Aspect Obsolescent
- Aspect Part_Of
- Aspect Persistent_BSS
- Aspect Predicate
- Aspect Pure_Function
- Aspect Refined_Depends
- Aspect Refined_Global
- Aspect Refined_Post
- Aspect Refined_State
- Aspect Relaxed_Initialization
- Aspect Remote_Access_Type
- Aspect Secondary_Stack_Size
- Aspect Scalar_Storage_Order
- Aspect Shared
- Aspect Simple_Storage_Pool
- Aspect Simple_Storage_Pool_Type
- Aspect SPARK_Mode
- Aspect Suppress_Debug_Info
- Aspect Suppress_Initialization
- Aspect Test_Case
- Aspect Thread_Local_Storage
- Aspect Universal_Aliasing
- Aspect Universal_Data
- Aspect Unmodified
- Aspect Unreferenced
- Aspect Unreferenced_Objects
- Aspect Value_Size
- Aspect Volatile_Full_Access
- Aspect Volatile_Function
- Aspect Warnings
Implementation Defined 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 Iterable
- Attribute Large
- Attribute Library_Level
- Attribute Lock_Free
- 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 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_Scalars
- Attribute VADS_Size
- Attribute Value_Size
- Attribute Wchar_T_Size
- Attribute Word_Size
Standard and Implementation Defined Restrictions
- Partition-Wide Restrictions
- Program Unit Level Restrictions
Partition-Wide Restrictions
- Immediate_Reclamation
- Max_Asynchronous_Select_Nesting
- Max_Entry_Queue_Length
- Max_Protected_Entries
- Max_Select_Alternatives
- Max_Storage_At_Blocking
- Max_Task_Entries
- Max_Tasks
- No_Abort_Statements
- No_Access_Parameter_Allocators
- No_Access_Subprograms
- No_Allocators
- No_Anonymous_Allocators
- No_Asynchronous_Control
- No_Calendar
- No_Coextensions
- No_Default_Initialization
- No_Delay
- No_Dependence
- No_Direct_Boolean_Operators
- No_Dispatch
- No_Dispatching_Calls
- No_Dynamic_Attachment
- No_Dynamic_Priorities
- No_Entry_Calls_In_Elaboration_Code
- No_Enumeration_Maps
- No_Exception_Handlers
- No_Exception_Propagation
- No_Exception_Registration
- No_Exceptions
- No_Finalization
- No_Fixed_Point
- No_Floating_Point
- No_Implicit_Conditionals
- No_Implicit_Dynamic_Code
- No_Implicit_Heap_Allocations
- No_Implicit_Protected_Object_Allocations
- No_Implicit_Task_Allocations
- No_Initialize_Scalars
- No_IO
- No_Local_Allocators
- No_Local_Protected_Objects
- No_Local_Timing_Events
- No_Long_Long_Integers
- No_Multiple_Elaboration
- No_Nested_Finalization
- No_Protected_Type_Allocators
- No_Protected_Types
- No_Recursion
- No_Reentrancy
- No_Relative_Delay
- No_Requeue_Statements
- No_Secondary_Stack
- No_Select_Statements
- No_Specific_Termination_Handlers
- No_Specification_of_Aspect
- No_Standard_Allocators_After_Elaboration
- No_Standard_Storage_Pools
- No_Stream_Optimizations
- No_Streams
- No_Task_Allocators
- No_Task_At_Interrupt_Priority
- No_Task_Attributes_Package
- No_Task_Hierarchy
- No_Task_Termination
- No_Tasking
- No_Terminate_Alternatives
- No_Unchecked_Access
- No_Unchecked_Conversion
- No_Unchecked_Deallocation
- No_Use_Of_Entity
- Pure_Barriers
- Simple_Barriers
- Static_Priorities
- Static_Storage_Size
Program Unit Level Restrictions
- No_Elaboration_Code
- No_Dynamic_Sized_Objects
- No_Entry_Queue
- No_Implementation_Aspect_Specifications
- No_Implementation_Attributes
- No_Implementation_Identifiers
- No_Implementation_Pragmas
- No_Implementation_Restrictions
- No_Implementation_Units
- No_Implicit_Aliasing
- No_Implicit_Loops
- No_Obsolescent_Features
- No_Wide_Characters
- Static_Dispatch_Tables
- SPARK_05
Implementation Advice
- RM 1.1.3(20); Error Detection
- RM 1 1 3 20 Error Detection.
- RM 1.1.3(31); Child Units
- RM 1 1 3 31 Child Units.
- RM 1.1.5(12); Bounded Errors
- RM 1 1 5 12 Bounded Errors.
- RM 2.8(16); Pragmas
- RM 2 8 16 Pragmas.
- RM 2.8(17-19); Pragmas
- RM 2 8 17-19 Pragmas.
- RM 3.5.2(5); Alternative Character Sets
- RM 3 5 2 5 Alternative Character Sets.
- RM 3.5.4(28); Integer Types
- RM 3 5 4 28 Integer Types.
- RM 3.5.4(29); Integer Types
- RM 3 5 4 29 Integer Types.
- RM 3.5.5(8); Enumeration Values
- RM 3 5 5 8 Enumeration Values.
- RM 3.5.7(17); Float Types
- RM 3 5 7 17 Float Types.
- RM 3.6.2(11); Multidimensional Arrays
- RM 3 6 2 11 Multidimensional Arrays.
- RM 9.6(30-31); Duration’Small
- RM 9 6 30-31 Duration'Small.
- RM 10.2.1(12); Consistent Representation
- RM 10 2 1 12 Consistent Representation.
- RM 11.4.1(19); Exception Information
- RM 11 4 1 19 Exception Information.
- RM 11.5(28); Suppression of Checks
- RM 11 5 28 Suppression of Checks.
- RM 13.1 (21-24); Representation Clauses
- RM 13 1 21-24 Representation Clauses.
- RM 13.2(6-8); Packed Types
- RM 13 2 6-8 Packed Types.
- RM 13.3(14-19); Address Clauses
- RM 13 3 14-19 Address Clauses.
- RM 13.3(29-35); Alignment Clauses
- RM 13 3 29-35 Alignment Clauses.
- RM 13.3(42-43); Size Clauses
- RM 13 3 42-43 Size Clauses.
- RM 13.3(50-56); Size Clauses
- RM 13 3 50-56 Size Clauses.
- RM 13.3(71-73); Component Size Clauses
- RM 13 3 71-73 Component Size Clauses.
- RM 13.4(9-10); Enumeration Representation Clauses
- RM 13 4 9-10 Enumeration Representation Clauses.
- RM 13.5.1(17-22); Record Representation Clauses
- RM 13 5 1 17-22 Record Representation Clauses.
- RM 13.5.2(5); Storage Place Attributes
- RM 13 5 2 5 Storage Place Attributes.
- RM 13.5.3(7-8); Bit Ordering
- RM 13 5 3 7-8 Bit Ordering.
- RM 13.7(37); Address as Private
- RM 13 7 37 Address as Private.
- RM 13.7.1(16); Address Operations
- RM 13 7 1 16 Address Operations.
- RM 13.9(14-17); Unchecked Conversion
- RM 13 9 14-17 Unchecked Conversion.
- RM 13.11(23-25); Implicit Heap Usage
- RM 13 11 23-25 Implicit Heap Usage.
- RM 13.11.2(17); Unchecked Deallocation
- RM 13 11 2 17 Unchecked Deallocation.
- RM 13.13.2(1.6); Stream Oriented Attributes
- RM 13 13 2 1 6 Stream Oriented Attributes.
- RM A.1(52); Names of Predefined Numeric Types
- RM A 1 52 Names of Predefined Numeric Types.
- RM A.3.2(49); Ada.Characters.Handling
- RM A 3 2 49 Ada Characters Handling.
- RM A.4.4(106); Bounded-Length String Handling
- RM A 4 4 106 Bounded-Length String Handling.
- RM A.5.2(46-47); Random Number Generation
- RM A 5 2 46-47 Random Number Generation.
- RM A.10.7(23); Get_Immediate
- RM A 10 7 23 Get_Immediate.
- RM B.1(39-41); Pragma Export
- RM B 1 39-41 Pragma Export.
- RM B.2(12-13); Package Interfaces
- RM B 2 12-13 Package Interfaces.
- RM B.3(63-71); Interfacing with C
- RM B 3 63-71 Interfacing with C.
- RM B.4(95-98); Interfacing with COBOL
- RM B 4 95-98 Interfacing with COBOL.
- RM B.5(22-26); Interfacing with Fortran
- RM B 5 22-26 Interfacing with Fortran.
- RM C.1(3-5); Access to Machine Operations
- RM C 1 3-5 Access to Machine Operations.
- RM C.1(10-16); Access to Machine Operations
- RM C 1 10-16 Access to Machine Operations.
- RM C.3(28); Interrupt Support
- RM C 3 28 Interrupt Support.
- RM C.3.1(20-21); Protected Procedure Handlers
- RM C 3 1 20-21 Protected Procedure Handlers.
- RM C.3.2(25); Package Interrupts
- RM C 3 2 25 Package Interrupts.
- RM C.4(14); Pre-elaboration Requirements
- RM C 4 14 Pre-elaboration Requirements.
- RM C.5(8); Pragma Discard_Names
- RM C 5 8 Pragma Discard_Names.
- RM C.7.2(30); The Package Task_Attributes
- RM C 7 2 30 The Package Task_Attributes.
- RM D.3(17); Locking Policies
- RM D 3 17 Locking Policies.
- RM D.4(16); Entry Queuing Policies
- RM D 4 16 Entry Queuing Policies.
- RM D.6(9-10); Preemptive Abort
- RM D 6 9-10 Preemptive Abort.
- RM D.7(21); Tasking Restrictions
- RM D 7 21 Tasking Restrictions.
- RM D.8(47-49); Monotonic Time
- RM D 8 47-49 Monotonic Time.
- RM E.5(28-29); Partition Communication Subsystem
- RM E 5 28-29 Partition Communication Subsystem.
- RM F(7); COBOL Support
- RM F 7 COBOL Support.
- RM F.1(2); Decimal Radix Support
- RM F 1 2 Decimal Radix Support.
- RM G; Numerics
- RM G Numerics.
- RM G.1.1(56-58); Complex Types
- RM G 1 1 56-58 Complex Types.
- RM G.1.2(49); Complex Elementary Functions
- RM G 1 2 49 Complex Elementary Functions.
- RM G.2.4(19); Accuracy Requirements
- RM G 2 4 19 Accuracy Requirements.
- RM G.2.6(15); Complex Arithmetic Accuracy
- RM G 2 6 15 Complex Arithmetic Accuracy.
- RM H.6(15/2); Pragma Partition_Elaboration_Policy
- RM H 6 15/2 Pragma Partition_Elaboration_Policy.
Intrinsic Subprograms
- Intrinsic Operators
- Compilation_ISO_Date
- Compilation_Date
- Compilation_Time
- Enclosing_Entity
- Exception_Information
- Exception_Message
- Exception_Name
- File
- Line
- Shifts and Rotates
- Source_Location
Representation Clauses and Pragmas
- Alignment Clauses
- Size Clauses
- Storage_Size Clauses
- Size of Variant Record Objects
- Biased Representation
- Value_Size and Object_Size Clauses
- Component_Size Clauses
- Bit_Order Clauses
- Effect of Bit_Order on Byte Ordering
- Pragma Pack for Arrays
- Pragma Pack for Records
- Record Representation Clauses
- Handling of Records with Holes
- Enumeration Clauses
- Address Clauses
- Use of Address Clauses for Memory-Mapped I/O
- Effect of Convention on Representation
- Conventions and Anonymous Access Types
- Determining the Representations chosen by GNAT
The Implementation of Standard I/O
- Standard I/O Packages
- FORM Strings
- Direct_IO
- Sequential_IO
- Text_IO
- Wide_Text_IO
- Wide_Wide_Text_IO
- Stream_IO
- Text Translation
- Shared Files
- Filenames encoding
- File content encoding
- Open Modes
- Operations on C Streams
- Interfacing to C Streams
Text_IO
- Stream Pointer Positioning
- Reading and Writing Non-Regular Files
- Get_Immediate
- Treating Text_IO Files as Streams
- Text_IO Extensions
- Text_IO Facilities for Unbounded Strings
Wide_Text_IO
- Stream Pointer Positioning
- Stream Pointer Positioning<2>.
- Reading and Writing Non-Regular Files
- Reading and Writing Non-Regular Files<2>.
Wide_Wide_Text_IO
- Stream Pointer Positioning
- Stream Pointer Positioning<3>.
- Reading and Writing Non-Regular Files
- Reading and Writing Non-Regular Files<3>.
The GNAT Library
- Ada.Characters.Latin_9 (a-chlat9.ads)
- Ada Characters Latin_9 a-chlat9 ads.
- Ada.Characters.Wide_Latin_1 (a-cwila1.ads)
- Ada Characters Wide_Latin_1 a-cwila1 ads.
- Ada.Characters.Wide_Latin_9 (a-cwila1.ads)
- Ada Characters Wide_Latin_9 a-cwila1 ads.
- Ada.Characters.Wide_Wide_Latin_1 (a-chzla1.ads)
- Ada Characters Wide_Wide_Latin_1 a-chzla1 ads.
- Ada.Characters.Wide_Wide_Latin_9 (a-chzla9.ads)
- Ada Characters Wide_Wide_Latin_9 a-chzla9 ads.
- Ada.Containers.Formal_Doubly_Linked_Lists (a-cfdlli.ads)
- Ada Containers Formal_Doubly_Linked_Lists a-cfdlli ads.
- Ada.Containers.Formal_Hashed_Maps (a-cfhama.ads)
- Ada Containers Formal_Hashed_Maps a-cfhama ads.
- Ada.Containers.Formal_Hashed_Sets (a-cfhase.ads)
- Ada Containers Formal_Hashed_Sets a-cfhase ads.
- Ada.Containers.Formal_Ordered_Maps (a-cforma.ads)
- Ada Containers Formal_Ordered_Maps a-cforma ads.
- Ada.Containers.Formal_Ordered_Sets (a-cforse.ads)
- Ada Containers Formal_Ordered_Sets a-cforse ads.
- Ada.Containers.Formal_Vectors (a-cofove.ads)
- Ada Containers Formal_Vectors a-cofove ads.
- Ada.Containers.Formal_Indefinite_Vectors (a-cfinve.ads)
- Ada Containers Formal_Indefinite_Vectors a-cfinve ads.
- Ada.Containers.Functional_Vectors (a-cofuve.ads)
- Ada Containers Functional_Vectors a-cofuve ads.
- Ada.Containers.Functional_Sets (a-cofuse.ads)
- Ada Containers Functional_Sets a-cofuse ads.
- Ada.Containers.Functional_Maps (a-cofuma.ads)
- Ada Containers Functional_Maps a-cofuma ads.
- Ada.Containers.Bounded_Holders (a-coboho.ads)
- Ada Containers Bounded_Holders a-coboho ads.
- Ada.Command_Line.Environment (a-colien.ads)
- Ada Command_Line Environment a-colien ads.
- Ada.Command_Line.Remove (a-colire.ads)
- Ada Command_Line Remove a-colire ads.
- Ada.Command_Line.Response_File (a-clrefi.ads)
- Ada Command_Line Response_File a-clrefi ads.
- Ada.Direct_IO.C_Streams (a-diocst.ads)
- Ada Direct_IO C_Streams a-diocst ads.
- Ada.Exceptions.Is_Null_Occurrence (a-einuoc.ads)
- Ada Exceptions Is_Null_Occurrence a-einuoc ads.
- Ada.Exceptions.Last_Chance_Handler (a-elchha.ads)
- Ada Exceptions Last_Chance_Handler a-elchha ads.
- Ada.Exceptions.Traceback (a-exctra.ads)
- Ada Exceptions Traceback a-exctra ads.
- Ada.Sequential_IO.C_Streams (a-siocst.ads)
- Ada Sequential_IO C_Streams a-siocst ads.
- Ada.Streams.Stream_IO.C_Streams (a-ssicst.ads)
- Ada Streams Stream_IO C_Streams a-ssicst ads.
- Ada.Strings.Unbounded.Text_IO (a-suteio.ads)
- Ada Strings Unbounded Text_IO a-suteio ads.
- Ada.Strings.Wide_Unbounded.Wide_Text_IO (a-swuwti.ads)
- Ada Strings Wide_Unbounded Wide_Text_IO a-swuwti ads.
- Ada.Strings.Wide_Wide_Unbounded.Wide_Wide_Text_IO (a-szuzti.ads)
- Ada Strings Wide_Wide_Unbounded Wide_Wide_Text_IO a-szuzti ads.
- Ada.Task_Initialization (a-tasini.ads)
- Ada Task_Initialization a-tasini ads.
- Ada.Text_IO.C_Streams (a-tiocst.ads)
- Ada Text_IO C_Streams a-tiocst ads.
- Ada.Text_IO.Reset_Standard_Files (a-tirsfi.ads)
- Ada Text_IO Reset_Standard_Files a-tirsfi ads.
- Ada.Wide_Characters.Unicode (a-wichun.ads)
- Ada Wide_Characters Unicode a-wichun ads.
- Ada.Wide_Text_IO.C_Streams (a-wtcstr.ads)
- Ada Wide_Text_IO C_Streams a-wtcstr ads.
- Ada.Wide_Text_IO.Reset_Standard_Files (a-wrstfi.ads)
- Ada Wide_Text_IO Reset_Standard_Files a-wrstfi ads.
- Ada.Wide_Wide_Characters.Unicode (a-zchuni.ads)
- Ada Wide_Wide_Characters Unicode a-zchuni ads.
- Ada.Wide_Wide_Text_IO.C_Streams (a-ztcstr.ads)
- Ada Wide_Wide_Text_IO C_Streams a-ztcstr ads.
- Ada.Wide_Wide_Text_IO.Reset_Standard_Files (a-zrstfi.ads)
- Ada Wide_Wide_Text_IO Reset_Standard_Files a-zrstfi ads.
- GNAT.Altivec (g-altive.ads)
- GNAT Altivec g-altive ads.
- GNAT.Altivec.Conversions (g-altcon.ads)
- GNAT Altivec Conversions g-altcon ads.
- GNAT.Altivec.Vector_Operations (g-alveop.ads)
- GNAT Altivec Vector_Operations g-alveop ads.
- GNAT.Altivec.Vector_Types (g-alvety.ads)
- GNAT Altivec Vector_Types g-alvety ads.
- GNAT.Altivec.Vector_Views (g-alvevi.ads)
- GNAT Altivec Vector_Views g-alvevi ads.
- GNAT.Array_Split (g-arrspl.ads)
- GNAT Array_Split g-arrspl ads.
- GNAT.AWK (g-awk.ads)
- GNAT AWK g-awk ads.
- GNAT.Bind_Environment (g-binenv.ads)
- GNAT Bind_Environment g-binenv ads.
- GNAT.Branch_Prediction (g-brapre.ads)
- GNAT Branch_Prediction g-brapre ads.
- GNAT.Bounded_Buffers (g-boubuf.ads)
- GNAT Bounded_Buffers g-boubuf ads.
- GNAT.Bounded_Mailboxes (g-boumai.ads)
- GNAT Bounded_Mailboxes g-boumai ads.
- GNAT.Bubble_Sort (g-bubsor.ads)
- GNAT Bubble_Sort g-bubsor ads.
- GNAT.Bubble_Sort_A (g-busora.ads)
- GNAT Bubble_Sort_A g-busora ads.
- GNAT.Bubble_Sort_G (g-busorg.ads)
- GNAT Bubble_Sort_G g-busorg ads.
- GNAT.Byte_Order_Mark (g-byorma.ads)
- GNAT Byte_Order_Mark g-byorma ads.
- GNAT.Byte_Swapping (g-bytswa.ads)
- GNAT Byte_Swapping g-bytswa ads.
- GNAT.Calendar (g-calend.ads)
- GNAT Calendar g-calend ads.
- GNAT.Calendar.Time_IO (g-catiio.ads)
- GNAT Calendar Time_IO g-catiio ads.
- GNAT.CRC32 (g-crc32.ads)
- GNAT CRC32 g-crc32 ads.
- GNAT.Case_Util (g-casuti.ads)
- GNAT Case_Util g-casuti ads.
- GNAT.CGI (g-cgi.ads)
- GNAT CGI g-cgi ads.
- GNAT.CGI.Cookie (g-cgicoo.ads)
- GNAT CGI Cookie g-cgicoo ads.
- GNAT.CGI.Debug (g-cgideb.ads)
- GNAT CGI Debug g-cgideb ads.
- GNAT.Command_Line (g-comlin.ads)
- GNAT Command_Line g-comlin ads.
- GNAT.Compiler_Version (g-comver.ads)
- GNAT Compiler_Version g-comver ads.
- GNAT.Ctrl_C (g-ctrl_c.ads)
- GNAT Ctrl_C g-ctrl_c ads.
- GNAT.Current_Exception (g-curexc.ads)
- GNAT Current_Exception g-curexc ads.
- GNAT.Debug_Pools (g-debpoo.ads)
- GNAT Debug_Pools g-debpoo ads.
- GNAT.Debug_Utilities (g-debuti.ads)
- GNAT Debug_Utilities g-debuti ads.
- GNAT.Decode_String (g-decstr.ads)
- GNAT Decode_String g-decstr ads.
- GNAT.Decode_UTF8_String (g-deutst.ads)
- GNAT Decode_UTF8_String g-deutst ads.
- GNAT.Directory_Operations (g-dirope.ads)
- GNAT Directory_Operations g-dirope ads.
- GNAT.Directory_Operations.Iteration (g-diopit.ads)
- GNAT Directory_Operations Iteration g-diopit ads.
- GNAT.Dynamic_HTables (g-dynhta.ads)
- GNAT Dynamic_HTables g-dynhta ads.
- GNAT.Dynamic_Tables (g-dyntab.ads)
- GNAT Dynamic_Tables g-dyntab ads.
- GNAT.Encode_String (g-encstr.ads)
- GNAT Encode_String g-encstr ads.
- GNAT.Encode_UTF8_String (g-enutst.ads)
- GNAT Encode_UTF8_String g-enutst ads.
- GNAT.Exception_Actions (g-excact.ads)
- GNAT Exception_Actions g-excact ads.
- GNAT.Exception_Traces (g-exctra.ads)
- GNAT Exception_Traces g-exctra ads.
- GNAT.Exceptions (g-except.ads)
- GNAT Exceptions g-except ads.
- GNAT.Expect (g-expect.ads)
- GNAT Expect g-expect ads.
- GNAT.Expect.TTY (g-exptty.ads)
- GNAT Expect TTY g-exptty ads.
- GNAT.Float_Control (g-flocon.ads)
- GNAT Float_Control g-flocon ads.
- GNAT.Formatted_String (g-forstr.ads)
- GNAT Formatted_String g-forstr ads.
- GNAT.Heap_Sort (g-heasor.ads)
- GNAT Heap_Sort g-heasor ads.
- GNAT.Heap_Sort_A (g-hesora.ads)
- GNAT Heap_Sort_A g-hesora ads.
- GNAT.Heap_Sort_G (g-hesorg.ads)
- GNAT Heap_Sort_G g-hesorg ads.
- GNAT.HTable (g-htable.ads)
- GNAT HTable g-htable ads.
- GNAT.IO (g-io.ads)
- GNAT IO g-io ads.
- GNAT.IO_Aux (g-io_aux.ads)
- GNAT IO_Aux g-io_aux ads.
- GNAT.Lock_Files (g-locfil.ads)
- GNAT Lock_Files g-locfil ads.
- GNAT.MBBS_Discrete_Random (g-mbdira.ads)
- GNAT MBBS_Discrete_Random g-mbdira ads.
- GNAT.MBBS_Float_Random (g-mbflra.ads)
- GNAT MBBS_Float_Random g-mbflra ads.
- GNAT.MD5 (g-md5.ads)
- GNAT MD5 g-md5 ads.
- GNAT.Memory_Dump (g-memdum.ads)
- GNAT Memory_Dump g-memdum ads.
- GNAT.Most_Recent_Exception (g-moreex.ads)
- GNAT Most_Recent_Exception g-moreex ads.
- GNAT.OS_Lib (g-os_lib.ads)
- GNAT OS_Lib g-os_lib ads.
- GNAT.Perfect_Hash_Generators (g-pehage.ads)
- GNAT Perfect_Hash_Generators g-pehage ads.
- GNAT.Random_Numbers (g-rannum.ads)
- GNAT Random_Numbers g-rannum ads.
- GNAT.Regexp (g-regexp.ads)
- GNAT Regexp g-regexp ads.
- GNAT.Registry (g-regist.ads)
- GNAT Registry g-regist ads.
- GNAT.Regpat (g-regpat.ads)
- GNAT Regpat g-regpat ads.
- GNAT.Rewrite_Data (g-rewdat.ads)
- GNAT Rewrite_Data g-rewdat ads.
- GNAT.Secondary_Stack_Info (g-sestin.ads)
- GNAT Secondary_Stack_Info g-sestin ads.
- GNAT.Semaphores (g-semaph.ads)
- GNAT Semaphores g-semaph ads.
- GNAT.Serial_Communications (g-sercom.ads)
- GNAT Serial_Communications g-sercom ads.
- GNAT.SHA1 (g-sha1.ads)
- GNAT SHA1 g-sha1 ads.
- GNAT.SHA224 (g-sha224.ads)
- GNAT SHA224 g-sha224 ads.
- GNAT.SHA256 (g-sha256.ads)
- GNAT SHA256 g-sha256 ads.
- GNAT.SHA384 (g-sha384.ads)
- GNAT SHA384 g-sha384 ads.
- GNAT.SHA512 (g-sha512.ads)
- GNAT SHA512 g-sha512 ads.
- GNAT.Signals (g-signal.ads)
- GNAT Signals g-signal ads.
- GNAT.Sockets (g-socket.ads)
- GNAT Sockets g-socket ads.
- GNAT.Source_Info (g-souinf.ads)
- GNAT Source_Info g-souinf ads.
- GNAT.Spelling_Checker (g-speche.ads)
- GNAT Spelling_Checker g-speche ads.
- GNAT.Spelling_Checker_Generic (g-spchge.ads)
- GNAT Spelling_Checker_Generic g-spchge ads.
- GNAT.Spitbol.Patterns (g-spipat.ads)
- GNAT Spitbol Patterns g-spipat ads.
- GNAT.Spitbol (g-spitbo.ads)
- GNAT Spitbol g-spitbo ads.
- GNAT.Spitbol.Table_Boolean (g-sptabo.ads)
- GNAT Spitbol Table_Boolean g-sptabo ads.
- GNAT.Spitbol.Table_Integer (g-sptain.ads)
- GNAT Spitbol Table_Integer g-sptain ads.
- GNAT.Spitbol.Table_VString (g-sptavs.ads)
- GNAT Spitbol Table_VString g-sptavs ads.
- GNAT.SSE (g-sse.ads)
- GNAT SSE g-sse ads.
- GNAT.SSE.Vector_Types (g-ssvety.ads)
- GNAT SSE Vector_Types g-ssvety ads.
- GNAT.String_Hash (g-strhas.ads)
- GNAT String_Hash g-strhas ads.
- GNAT.Strings (g-string.ads)
- GNAT Strings g-string ads.
- GNAT.String_Split (g-strspl.ads)
- GNAT String_Split g-strspl ads.
- GNAT.Table (g-table.ads)
- GNAT Table g-table ads.
- GNAT.Task_Lock (g-tasloc.ads)
- GNAT Task_Lock g-tasloc ads.
- GNAT.Time_Stamp (g-timsta.ads)
- GNAT Time_Stamp g-timsta ads.
- GNAT.Threads (g-thread.ads)
- GNAT Threads g-thread ads.
- GNAT.Traceback (g-traceb.ads)
- GNAT Traceback g-traceb ads.
- GNAT.Traceback.Symbolic (g-trasym.ads)
- GNAT Traceback Symbolic g-trasym ads.
- GNAT.UTF_32 (g-table.ads)
- GNAT UTF_32 g-table ads.
- GNAT.Wide_Spelling_Checker (g-u3spch.ads)
- GNAT Wide_Spelling_Checker g-u3spch ads.
- GNAT.Wide_Spelling_Checker (g-wispch.ads)
- GNAT Wide_Spelling_Checker g-wispch ads.
- GNAT.Wide_String_Split (g-wistsp.ads)
- GNAT Wide_String_Split g-wistsp ads.
- GNAT.Wide_Wide_Spelling_Checker (g-zspche.ads)
- GNAT Wide_Wide_Spelling_Checker g-zspche ads.
- GNAT.Wide_Wide_String_Split (g-zistsp.ads)
- GNAT Wide_Wide_String_Split g-zistsp ads.
- Interfaces.C.Extensions (i-cexten.ads)
- Interfaces C Extensions i-cexten ads.
- Interfaces.C.Streams (i-cstrea.ads)
- Interfaces C Streams i-cstrea ads.
- Interfaces.Packed_Decimal (i-pacdec.ads)
- Interfaces Packed_Decimal i-pacdec ads.
- Interfaces.VxWorks (i-vxwork.ads)
- Interfaces VxWorks i-vxwork ads.
- Interfaces.VxWorks.Int_Connection (i-vxinco.ads)
- Interfaces VxWorks Int_Connection i-vxinco ads.
- Interfaces.VxWorks.IO (i-vxwoio.ads)
- Interfaces VxWorks IO i-vxwoio ads.
- System.Address_Image (s-addima.ads)
- System Address_Image s-addima ads.
- System.Assertions (s-assert.ads)
- System Assertions s-assert ads.
- System.Atomic_Counters (s-atocou.ads)
- System Atomic_Counters s-atocou ads.
- System.Memory (s-memory.ads)
- System Memory s-memory ads.
- System.Multiprocessors (s-multip.ads)
- System Multiprocessors s-multip ads.
- System.Multiprocessors.Dispatching_Domains (s-mudido.ads)
- System Multiprocessors Dispatching_Domains s-mudido ads.
- System.Partition_Interface (s-parint.ads)
- System Partition_Interface s-parint ads.
- System.Pool_Global (s-pooglo.ads)
- System Pool_Global s-pooglo ads.
- System.Pool_Local (s-pooloc.ads)
- System Pool_Local s-pooloc ads.
- System.Restrictions (s-restri.ads)
- System Restrictions s-restri ads.
- System.Rident (s-rident.ads)
- System Rident s-rident ads.
- System.Strings.Stream_Ops (s-ststop.ads)
- System Strings Stream_Ops s-ststop ads.
- System.Unsigned_Types (s-unstyp.ads)
- System Unsigned_Types s-unstyp ads.
- System.Wch_Cnv (s-wchcnv.ads)
- System Wch_Cnv s-wchcnv ads.
- System.Wch_Con (s-wchcon.ads)
- System Wch_Con s-wchcon ads.
Interfacing to Other Languages
- Interfacing to C
- Interfacing to C++
- Interfacing to COBOL
- Interfacing to Fortran
- Interfacing to non-GNAT Ada code
Implementation of Specific Ada Features
- Machine Code Insertions
- GNAT Implementation of Tasking
- GNAT Implementation of Shared Passive Packages
- Code Generation for Array Aggregates
- The Size of Discriminated Records with Default Discriminants
- Strict Conformance to the Ada Reference Manual
GNAT Implementation of Tasking
- Mapping Ada Tasks onto the Underlying Kernel Threads
- Ensuring Compliance with the Real-Time Annex
- Support for Locking Policies
Code Generation for Array Aggregates
- Static constant aggregates with static bounds
- Constant aggregates with unconstrained nominal types
- Aggregates with static bounds
- Aggregates with nonstatic bounds
- Aggregates in assignment statements
Obsolescent Features
- pragma No_Run_Time
- pragma Ravenscar
- pragma Restricted_Run_Time
- pragma Task_Info
- package System.Task_Info (s-tasinf.ads)
- package System Task_Info s-tasinf ads.
Compatibility and Porting Guide
- Writing Portable Fixed-Point Declarations
- Compatibility with Ada 83
- Compatibility between Ada 95 and Ada 2005
- Implementation-dependent characteristics
- Compatibility with Other Ada Systems
- Representation Clauses
- Compatibility with HP Ada 83
Compatibility with Ada 83
- Legal Ada 83 programs that are illegal in Ada 95
- More deterministic semantics
- Changed semantics
- Other language compatibility issues
Implementation-dependent characteristics
- Implementation-defined pragmas
- Implementation-defined attributes
- Libraries
- Elaboration order
- Target-specific aspects