Go to the first, previous, next, last section, table of contents.


A Predefined Language Environment (normative)

  1. This Annex contains the specifications of library units that shall be provided by every implementation. There are three root library units: Ada, Interfaces, and System; other library units are children of these:
  2. Standard -- See section A.1 The Package Standard.
      Ada -- See section A.2 The Package Ada.
         Asynchronous_Task_Control -- See section D.11 Asynchronous Task Control.
         Calendar -- See section 9.6 Delay Statements, Duration, and Time.
         Characters -- See section A.3.1 The Package Characters.
            Handling -- See section A.3.2 The Package Characters.Handling.
            Latin_1 -- See section A.3.3 The Package Characters.Latin_1.
         Command_Line -- See section A.15 The Package Command_Line.
         Decimal -- See section F.2 The Package Decimal.
         Direct_IO -- See section A.8.4 The Generic Package Direct_IO.
         Dynamic_Priorities -- See section D.5 Dynamic Priorities.
         Exceptions -- See section 11.4.1 The Package Exceptions.
         Finalization -- See section 7.6 User-Defined Assignment and Finalization.
         Interrupts -- See section C.3.2 The Package Interrupts.
            Names -- See section C.3.2 The Package Interrupts.
         IO_Exceptions -- See section A.13 Exceptions in Input-Output.
         Numerics -- See section A.5 The Numerics Packages.
            Complex_Elementary_Functions -- See section G.1.2 Complex Elementary Functions.
            Complex_Types -- See section G.1.1 Complex Types.
            Discrete_Random -- See section A.5.2 Random Number Generation.
            Elementary_Functions -- See section A.5.1 Elementary Functions.
            Float_Random -- See section A.5.2 Random Number Generation.
            Generic_Complex_Elementary_Functions -- See section G.1.2 Complex Elementary Functions.
            Generic_Complex_Types -- See section G.1.1 Complex Types.
            Generic_Elementary_Functions -- See section A.5.1 Elementary Functions.
         Real_Time -- See section D.8 Monotonic Time.
         Sequential_IO -- See section A.8.1 The Generic Package Sequential_IO.
         Storage_IO -- See section A.9 The Generic Package Storage_IO.
         Streams -- See section 13.13.1 The Package Streams.
            Stream_IO -- See section A.12.1 The Package Streams.Stream_IO.
         Strings -- See section A.4.1 The Package Strings.
            Bounded -- See section A.4.4 Bounded-Length String Handling.
            Fixed -- See section A.4.3 Fixed-Length String Handling.
            Maps -- See section A.4.2 The Package Strings.Maps.
               Constants -- See section A.4.6 String-Handling Sets and Mappings.
            Unbounded -- See section A.4.5 Unbounded-Length String Handling.
            Wide_Bounded -- See section A.4.7 Wide_String Handling.
            Wide_Fixed -- See section A.4.7 Wide_String Handling.
            Wide_Maps -- See section A.4.7 Wide_String Handling.
               Wide_Constants -- See section A.4.7 Wide_String Handling.
            Wide_Unbounded -- See section A.4.7 Wide_String Handling.
    Standard (...continued)
      Ada (...continued)
         Synchronous_Task_Control -- See section D.10 Synchronous Task Control.
         Tags -- See section 3.9 Tagged Types and Type Extensions.
         Task_Attributes -- See section C.7.2 The Package Task_Attributes.
         Task_Identification -- See section C.7.1 The Package Task_Identification.
         Text_IO -- See section A.10.1 The Package Text_IO.
            Complex_IO -- See section G.1.3 Complex Input-Output.
            Editing -- See section F.3.3 The Package Text_IO.Editing.
            Text_Streams -- See section A.12.2 The Package Text_IO.Text_Streams.
         Unchecked_Conversion -- See section 13.9 Unchecked Type Conversions.
         Unchecked_Deallocation -- See section 13.11.2 Unchecked Storage Deallocation.
         Wide_Text_IO -- See section A.11 Wide Text Input-Output.
            Complex_IO -- See section G.1.3 Complex Input-Output.
            Editing -- See section F.3.4 The Package Wide_Text_IO.Editing.
            Text_Streams -- See section A.12.3 The Package Wide_Text_IO.Text_Streams.
    
      Interfaces -- See section B.2 The Package Interfaces.
         C -- See section B.3 Interfacing with C.
            Pointers -- See section B.3.2 The Generic Package Interfaces.C.Pointers.
            Strings -- See section B.3.1 The Package Interfaces.C.Strings.
         COBOL -- See section B.4 Interfacing with COBOL.
         Fortran -- See section B.5 Interfacing with Fortran.
    
      System -- See section 13.7 The Package System.
         Address_To_Access_Conversions -- See section 13.7.2 The Package System.Address_To_Access_Conversions.
         Machine_Code -- See section 13.8 Machine Code Insertions.
         RPC -- See section E.5 Partition Communication Subsystem.
         Storage_Elements -- See section 13.7.1 The Package System.Storage_Elements.
         Storage_Pools -- See section 13.11 Storage Management.
    

    Implementation Requirements

  3. The implementation shall ensure that each language defined subprogram is reentrant in the sense that concurrent calls on the same subprogram perform as specified, so long as all parameters that could be passed by reference denote nonoverlapping objects.

    Implementation Permissions

  4. The implementation may restrict the replacement of language-defined compilation units. The implementation may restrict children of language-defined library units (other than Standard).


Go to the first, previous, next, last section, table of contents.