gnat_ugn.texi, [...]: Regenerate.
authorArnaud Charlet <charlet@adacore.com>
Tue, 20 Oct 2015 10:41:38 +0000 (10:41 +0000)
committerArnaud Charlet <charlet@gcc.gnu.org>
Tue, 20 Oct 2015 10:41:38 +0000 (12:41 +0200)
* gnat_ugn.texi, gnat_rm.texi: Regenerate.
* doc/gnat_ugn/gnat_project_manager.rst,
doc/gnat_ugn/building_executable_programs_with_gnat.rst,
doc/gnat_ugn/the_gnat_compilation_model.rst,
doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
doc/gnat_rm/implementation_defined_pragmas.rst,
doc/gnat_rm/the_gnat_library.rst,
doc/gnat_rm/implementation_defined_characteristics.rst: Update doc.

From-SVN: r229046

gcc/ada/ChangeLog
gcc/ada/doc/gnat_rm/implementation_defined_characteristics.rst
gcc/ada/doc/gnat_rm/implementation_defined_pragmas.rst
gcc/ada/doc/gnat_rm/standard_and_implementation_defined_restrictions.rst
gcc/ada/doc/gnat_rm/the_gnat_library.rst
gcc/ada/doc/gnat_ugn/building_executable_programs_with_gnat.rst
gcc/ada/doc/gnat_ugn/gnat_project_manager.rst
gcc/ada/doc/gnat_ugn/the_gnat_compilation_model.rst
gcc/ada/gnat_rm.texi
gcc/ada/gnat_ugn.texi

index 927a112082e97c256345e8c952a57405889f9cc7..db9d2158c426d6138b3d7bf87cb56d3eebe46f5c 100644 (file)
@@ -1,3 +1,14 @@
+2015-10-20  Arnaud Charlet  <charlet@adacore.com>
+
+       * gnat_ugn.texi, gnat_rm.texi: Regenerate.
+       * doc/gnat_ugn/gnat_project_manager.rst,
+       doc/gnat_ugn/building_executable_programs_with_gnat.rst,
+       doc/gnat_ugn/the_gnat_compilation_model.rst,
+       doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
+       doc/gnat_rm/implementation_defined_pragmas.rst,
+       doc/gnat_rm/the_gnat_library.rst,
+       doc/gnat_rm/implementation_defined_characteristics.rst: Update doc.
+
 2015-10-20  Arnaud Charlet  <charlet@adacore.com>
 
        * gcc-interface/Makefile.in: Update targets.
index f26dd9129988bed3f4b0e24473428e011cfc2ac6..68c5039b41c7fc4d3221b18863a0444b75ded968 100644 (file)
@@ -22,48 +22,48 @@ and other operating systems is an important consideration.  The numbers
 in each entry below correspond to the paragraph numbers in the Ada
 Reference Manual.
 
-* 
+*
   "Whether or not each recommendation given in Implementation
   Advice is followed.  See 1.1.2(37)."
 
 See :ref:`Implementation_Advice`.
 
-* 
+*
   "Capacity limitations of the implementation.  See 1.1.3(3)."
 
 The complexity of programs that can be processed is limited only by the
 total amount of available virtual memory, and disk space for the
 generated object files.
 
-* 
+*
   "Variations from the standard that are impractical to avoid
   given the implementation's execution environment.  See 1.1.3(6)."
 
 There are no variations from the standard.
 
-* 
+*
   "Which code_statements cause external
   interactions.  See 1.1.3(10)."
 
 Any `code_statement` can potentially cause external interactions.
 
-* 
+*
   "The coded representation for the text of an Ada
   program.  See 2.1(4)."
 
 See separate section on source representation.
 
-* 
+*
   "The control functions allowed in comments.  See 2.1(14)."
 
 See separate section on source representation.
 
-* 
+*
   "The representation for an end of line.  See 2.2(2)."
 
 See separate section on source representation.
 
-* 
+*
   "Maximum supported line length and lexical element
   length.  See 2.2(15)."
 
@@ -74,19 +74,19 @@ sets the maximum to 79) or *-gnatyMnn* which allows the maximum
 line length to be specified to be any value up to 32767. The maximum
 length of a lexical element is the same as the maximum line length.
 
-* 
+*
   "Implementation defined pragmas.  See 2.8(14)."
 
 See :ref:`Implementation_Defined_Pragmas`.
 
-* 
+*
   "Effect of pragma `Optimize`.  See 2.8(27)."
 
 Pragma `Optimize`, if given with a `Time` or `Space`
 parameter, checks that the optimization flag is set, and aborts if it is
 not.
 
-* 
+*
   "The sequence of characters of the value returned by
   ``S'Image`` when some of the graphic characters of
   ``S'Wide_Image`` are not defined in `Character`.  See
@@ -96,7 +96,7 @@ The sequence of characters is as defined by the wide character encoding
 method used for the source.  See section on source representation for
 further details.
 
-* 
+*
   "The predefined integer types declared in
   `Standard`.  See 3.5.4(25)."
 
@@ -106,31 +106,31 @@ Type                   Representation
 *Short_Short_Integer*  8 bit signed
 *Short_Integer*        (Short) 16 bit signed
 *Integer*              32 bit signed
-*Long_Integer*         64 bit signed (on most 64 bit targets, 
+*Long_Integer*         64 bit signed (on most 64 bit targets,
                        depending on the C definition of long).
                        32 bit signed (all other targets)
 *Long_Long_Integer*    64 bit signed
 ====================== =======================================
 
-* 
+*
   "Any nonstandard integer types and the operators defined
   for them.  See 3.5.4(26)."
 
 There are no nonstandard integer types.
 
-* 
+*
   "Any nonstandard real types and the operators defined for
   them.  See 3.5.6(8)."
 
 There are no nonstandard real types.
 
-* 
+*
   "What combinations of requested decimal precision and range
   are supported for floating point types.  See 3.5.7(7)."
 
 The precision and range is as defined by the IEEE standard.
 
-* 
+*
   "The predefined floating point types declared in
   `Standard`.  See 3.5.7(16)."
 
@@ -143,12 +143,12 @@ Type                   Representation
 *Long_Long_Float*      64 bit IEEE long (80 bit IEEE long on x86 processors)
 ====================== ====================================================
 
-* 
+*
   "The small of an ordinary fixed point type.  See 3.5.9(8)."
 
 `Fine_Delta` is 2**(-63)
 
-* 
+*
   "What combinations of small, range, and digits are
   supported for fixed point types.  See 3.5.9(10)."
 
@@ -160,37 +160,37 @@ Text_IO is accurate to only 53 bits, rather than the full mantissa.  This
 is because floating-point conversions are used to convert fixed point.
 
 
-* 
+*
   "The result of `Tags.Expanded_Name` for types declared
   within an unnamed `block_statement`.  See 3.9(10)."
 
 Block numbers of the form `B`nnn``, where `nnn` is a
 decimal integer are allocated.
 
-* 
+*
   "Implementation-defined attributes.  See 4.1.4(12)."
 
 See :ref:`Implementation_Defined_Attributes`.
 
-* 
+*
   "Any implementation-defined time types.  See 9.6(6)."
 
 There are no implementation-defined time types.
 
-* 
+*
   "The time base associated with relative delays."
 
 See 9.6(20).  The time base used is that provided by the C library
 function `gettimeofday`.
 
-* 
+*
   "The time base of the type `Calendar.Time`.  See
   9.6(23)."
 
 The time base used is that provided by the C library function
 `gettimeofday`.
 
-* 
+*
   "The time zone used for package `Calendar`
   operations.  See 9.6(24)."
 
@@ -198,13 +198,13 @@ The time zone used by package `Calendar` is the current system time zone
 setting for local time, as accessed by the C library function
 `localtime`.
 
-* 
+*
   "Any limit on `delay_until_statements` of
   `select_statements`.  See 9.6(29)."
 
 There are no such limits.
 
-* 
+*
   "Whether or not two non-overlapping parts of a composite
   object are independently addressable, in the case where packing, record
   layout, or `Component_Size` is specified for the object.  See
@@ -213,13 +213,13 @@ There are no such limits.
 Separate components are independently addressable if they do not share
 overlapping storage units.
 
-* 
+*
   "The representation for a compilation.  See 10.1(2)."
 
 A compilation is represented by a sequence of files presented to the
 compiler in a single invocation of the *gcc* command.
 
-* 
+*
   "Any restrictions on compilations that contain multiple
   compilation_units.  See 10.1(4)."
 
@@ -227,13 +227,13 @@ No single file can contain more than one compilation unit, but any
 sequence of files can be presented to the compiler as a single
 compilation.
 
-* 
+*
   "The mechanisms for creating an environment and for adding
   and replacing compilation units.  See 10.1.4(3)."
 
 See separate section on compilation model.
 
-* 
+*
   "The manner of explicitly assigning library units to a
   partition.  See 10.2(2)."
 
@@ -256,7 +256,7 @@ be included automatically).  For full details on the use of these
 options, refer to the `GNAT Make Program gnatmake` in the
 :title:`GNAT User's Guide`.
 
-* 
+*
   "The implementation-defined means, if any, of specifying
   which compilation units are needed by a given compilation unit.  See
   10.2(2)."
@@ -266,14 +266,14 @@ the Ada Reference Manual section 10.2(2-6).  There are no
 implementation-defined pragmas or other implementation-defined
 means for specifying needed units.
 
-* 
+*
   "The manner of designating the main subprogram of a
   partition.  See 10.2(7)."
 
 The main program is designated by providing the name of the
 corresponding :file:`ALI` file as the input parameter to the binder.
 
-* 
+*
   "The order of elaboration of `library_items`.  See
   10.2(18)."
 
@@ -286,7 +286,7 @@ clauses of a unit to determine the probably best choice, and
 third by elaborating in alphabetical order of unit names
 where a choice still remains.
 
-* 
+*
   "Parameter passing and function return for the main
   subprogram.  See 10.2(21)."
 
@@ -295,7 +295,7 @@ returning an integer type.  In the latter case, the returned integer
 value is the return code of the program (overriding any value that
 may have been set by a call to `Ada.Command_Line.Set_Exit_Status`).
 
-* 
+*
   "The mechanisms for building and running partitions.  See
   10.2(24)."
 
@@ -305,13 +305,13 @@ of the PCS) provides a completely flexible method for building and running
 programs consisting of multiple partitions.  See the separate GLADE manual
 for details.
 
-* 
+*
   "The details of program execution, including program
   termination.  See 10.2(25)."
 
 See separate section on compilation model.
 
-* 
+*
   "The semantics of any non-active partitions supported by the
   implementation.  See 10.2(28)."
 
@@ -319,21 +319,21 @@ Passive partitions are supported on targets where shared memory is
 provided by the operating system.  See the GLADE reference manual for
 further details.
 
-* 
+*
   "The information returned by `Exception_Message`.  See
   11.4.1(10)."
 
 Exception message returns the null string unless a specific message has
 been passed by the program.
 
-* 
+*
   "The result of `Exceptions.Exception_Name` for types
   declared within an unnamed `block_statement`.  See 11.4.1(12)."
 
 Blocks have implementation defined names of the form `B`nnn``
 where `nnn` is an integer.
 
-* 
+*
   "The information returned by
   `Exception_Information`.  See 11.4.1(13)."
 
@@ -350,9 +350,9 @@ where
 
   *  `nnnn` is the fully qualified name of the exception in all upper
      case letters. This line is always present.
-  
+
   *  `mmmm` is the message (this line present only if message is non-null)
-  
+
   *  `ppp` is the Process Id value as a decimal integer (this line is
      present only if the Process Id is nonzero). Currently we are
      not making use of this field.
@@ -366,35 +366,28 @@ where
      The line terminator sequence at the end of each line, including
      the last line is a single `LF` character (`16#0A#`).
 
-* 
+*
   "Implementation-defined check names.  See 11.5(27)."
 
-The implementation defined check name Alignment_Check controls checking of
-address clause values for proper alignment (that is, the address supplied
-must be consistent with the alignment of the type).
-
-The implementation defined check name Predicate_Check controls whether
-predicate checks are generated.
-
-The implementation defined check name Validity_Check controls whether
-validity checks are generated.
-
-In addition, a user program can add implementation-defined check names
-by means of the pragma Check_Name.
+The implementation defined check names include Alignment_Check,
+Atomic_Synchronization, Duplicated_Tag_Check, Container_Checks,
+Tampering_Check, Predicate_Check, and Validity_Check. In addition, a user
+program can add implementation-defined check names by means of the pragma
+Check_Name. See the description of pragma `Suppress` for full details.
 
-* 
+*
   "The interpretation of each aspect of representation.  See
   13.1(20)."
 
 See separate section on data representations.
 
-* 
+*
   "Any restrictions placed upon representation items.  See
   13.1(20)."
 
 See separate section on data representations.
 
-* 
+*
   "The meaning of `Size` for indefinite subtypes.  See
   13.3(48)."
 
@@ -402,27 +395,27 @@ Size for an indefinite subtype is the maximum possible size, except that
 for the case of a subprogram parameter, the size of the parameter object
 is the actual size.
 
-* 
+*
   "The default external representation for a type tag.  See
   13.3(75)."
 
 The default external representation for a type tag is the fully expanded
 name of the type in upper case letters.
 
-* 
+*
   "What determines whether a compilation unit is the same in
   two different partitions.  See 13.3(76)."
 
 A compilation unit is the same in two different partitions if and only
 if it derives from the same source file.
 
-* 
+*
   "Implementation-defined components.  See 13.5.1(15)."
 
 The only implementation defined component is the tag for a tagged type,
 which contains a pointer to the dispatching table.
 
-* 
+*
   "If `Word_Size` = `Storage_Unit`, the default bit
   ordering.  See 13.5.3(5)."
 
@@ -430,7 +423,7 @@ which contains a pointer to the dispatching table.
 implementation, so no non-default bit ordering is supported.  The default
 bit ordering corresponds to the natural endianness of the target architecture.
 
-* 
+*
   "The contents of the visible part of package `System`
   and its language-defined children.  See 13.7(2)."
 
@@ -443,14 +436,14 @@ System.
   Max_Priority           : constant Positive := Priority'Last;
   Max_Interrupt_Priority : constant Positive := Interrupt_Priority'Last;
 
-* 
+*
   "The contents of the visible part of package
   `System.Machine_Code`, and the meaning of
   `code_statements`.  See 13.8(7)."
 
 See the definition and documentation in file :file:`s-maccod.ads`.
 
-* 
+*
   "The effect of unchecked conversion.  See 13.9(11)."
 
 Unchecked conversion between types of the same size
@@ -467,7 +460,7 @@ unconstrained array are not permitted. If the target alignment is
 greater than the source alignment, then a copy of the result is
 made with appropriate alignment
 
-* 
+*
   "The semantics of operations on invalid representations.
   See 13.9.2(10-11)."
 
@@ -492,7 +485,7 @@ result in erroneous behavior. For example executing:
 As indicated, an exception is raised on the array assignment, but not
 on the simple assignment of the invalid negative value from Y to Z.
 
-* 
+*
   "The manner of choosing a storage pool for an access type
   when `Storage_Pool` is not specified for the type.  See 13.11(17)."
 
@@ -505,7 +498,7 @@ library units `System.Pool_Global`, `System.Pool_Size` and
 :file:`s-pooglo.ads` and :file:`s-pooloc.ads` for full details on the
 default pools used.
 
-* 
+*
   "Whether or not the implementation provides user-accessible
   names for the standard pool type(s).  See 13.11(17)."
 
@@ -513,14 +506,14 @@ See documentation in the sources of the run time mentioned in the previous
 paragraph.  All these pools are accessible by means of `with`'ing
 these units.
 
-* 
+*
   "The meaning of `Storage_Size`.  See 13.11(18)."
 
 `Storage_Size` is measured in storage units, and refers to the
 total space available for an access type collection, or to the primary
 stack space for a task.
 
-* 
+*
   "Implementation-defined aspects of storage pools.  See
   13.11(22)."
 
@@ -528,13 +521,13 @@ See documentation in the sources of the run time mentioned in the
 paragraph about standard storage pools above
 for details on GNAT-defined aspects of storage pools.
 
-* 
+*
   "The set of restrictions allowed in a pragma
   `Restrictions`.  See 13.12(7)."
 
 See :ref:`Standard_and_Implementation_Defined_Restrictions`.
 
-* 
+*
   "The consequences of violating limitations on
   `Restrictions` pragmas.  See 13.12(9)."
 
@@ -542,7 +535,7 @@ Restrictions that can be checked at compile time result in illegalities
 if violated.  Currently there are no other consequences of violating
 restrictions.
 
-* 
+*
   "The representation used by the `Read` and
   `Write` attributes of elementary types in terms of stream
   elements.  See 13.13.2(9)."
@@ -551,13 +544,13 @@ The representation is the in-memory representation of the base type of
 the type, using the number of bits corresponding to the
 ``type'Size`` value, and the natural ordering of the machine.
 
-* 
+*
   "The names and characteristics of the numeric subtypes
   declared in the visible part of package `Standard`.  See A.1(3)."
 
 See items describing the integer and floating-point types supported.
 
-* 
+*
   "The string returned by `Character_Set_Version`.
   See A.3.5(3)."
 
@@ -565,14 +558,14 @@ See items describing the integer and floating-point types supported.
 the string "Unicode 4.0", referring to version 4.0 of the
 Unicode specification.
 
-* 
+*
   "The accuracy actually achieved by the elementary
   functions.  See A.5.1(1)."
 
 The elementary functions correspond to the functions available in the C
 library.  Only fast math mode is implemented.
 
-* 
+*
   "The sign of a zero result from some of the operators or
   functions in `Numerics.Generic_Elementary_Functions`, when
   `Float_Type'Signed_Zeros` is `True`.  See A.5.1(46)."
@@ -580,19 +573,19 @@ library.  Only fast math mode is implemented.
 The sign of zeroes follows the requirements of the IEEE 754 standard on
 floating-point.
 
-* 
+*
   "The value of
   `Numerics.Float_Random.Max_Image_Width`.  See A.5.2(27)."
 
 Maximum image width is 6864, see library file :file:`s-rannum.ads`.
 
-* 
+*
   "The value of
   `Numerics.Discrete_Random.Max_Image_Width`.  See A.5.2(27)."
 
 Maximum image width is 6864, see library file :file:`s-rannum.ads`.
 
-* 
+*
   "The algorithms for random number generation.  See
   A.5.2(32)."
 
@@ -600,7 +593,7 @@ The algorithm is the Mersenne Twister, as documented in the source file
 :file:`s-rannum.adb`. This version of the algorithm has a period of
 2**19937-1.
 
-* 
+*
   "The string representation of a random number generator's
   state.  See A.5.2(38)."
 
@@ -608,7 +601,7 @@ The value returned by the Image function is the concatenation of
 the fixed-width decimal representations of the 624 32-bit integers
 of the state vector.
 
-* 
+*
   "The minimum time interval between calls to the
   time-dependent Reset procedure that are guaranteed to initiate different
   random number sequences.  See A.5.2(45)."
@@ -616,7 +609,7 @@ of the state vector.
 The minimum period between reset calls to guarantee distinct series of
 random numbers is one microsecond.
 
-* 
+*
   "The values of the `Model_Mantissa`,
   `Model_Emin`, `Model_Epsilon`, `Model`,
   `Safe_First`, and `Safe_Last` attributes, if the Numerics
@@ -625,14 +618,14 @@ random numbers is one microsecond.
 Run the compiler with *-gnatS* to produce a listing of package
 `Standard`, has the values of all numeric attributes.
 
-* 
+*
   "Any implementation-defined characteristics of the
   input-output packages.  See A.7(14)."
 
 There are no special implementation defined characteristics for these
 packages.
 
-* 
+*
   "The value of `Buffer_Size` in `Storage_IO`.  See
   A.9(10)."
 
@@ -640,14 +633,14 @@ All type representations are contiguous, and the `Buffer_Size` is
 the value of ``type'Size`` rounded up to the next storage unit
 boundary.
 
-* 
+*
   "External files for standard input, standard output, and
   standard error See A.10(5)."
 
 These files are mapped onto the files provided by the C streams
 libraries.  See source file :file:`i-cstrea.ads` for further details.
 
-* 
+*
   "The accuracy of the value produced by `Put`.  See
   A.10.9(36)."
 
@@ -655,26 +648,26 @@ If more digits are requested in the output than are represented by the
 precision of the value, zeroes are output in the corresponding least
 significant digit positions.
 
-* 
+*
   "The meaning of `Argument_Count`, `Argument`, and
   `Command_Name`.  See A.15(1)."
 
 These are mapped onto the `argv` and `argc` parameters of the
 main program in the natural manner.
 
-* 
+*
   "The interpretation of the `Form` parameter in procedure
   `Create_Directory`.  See A.16(56)."
 
 The `Form` parameter is not used.
 
-* 
+*
   "The interpretation of the `Form` parameter in procedure
   `Create_Path`.  See A.16(60)."
 
 The `Form` parameter is not used.
 
-* 
+*
   "The interpretation of the `Form` parameter in procedure
   `Copy_File`.  See A.16(68)."
 
@@ -693,7 +686,7 @@ The only possible values for preserve= are:
 ================== ===================================================================
 Value              Meaning
 ================== ===================================================================
-*no_attributes*    Do not try to preserve any file attributes. This is the 
+*no_attributes*    Do not try to preserve any file attributes. This is the
                    default if no preserve= is found in Form.
 *all_attributes*   Try to preserve all file attributes (timestamps, access rights).
 *timestamps*       Preserve the timestamp of the copied file, but not the other
@@ -705,11 +698,11 @@ The only possible values for mode= are:
 ============== ===============================================================================
 Value          Meaning
 ============== ===============================================================================
-*copy*         Only do the copy if the destination file does not already exist. 
+*copy*         Only do the copy if the destination file does not already exist.
                If it already exists, Copy_File fails.
 *overwrite*    Copy the file in all cases. Overwrite an already existing destination file.
-*append*       Append the original file to the destination file. If the destination file 
-               does not exist, the destination file is a copy of the source file. 
+*append*       Append the original file to the destination file. If the destination file
+               does not exist, the destination file is a copy of the source file.
                When mode=append, the field preserve=, if it exists, is not taken into account.
 ============== ===============================================================================
 
@@ -727,7 +720,7 @@ Examples of incorrect Forms::
   Form => "preserve=junk"
   Form => "mode=internal, preserve=timestamps"
 
-* 
+*
   "The interpretation of the `Pattern` parameter, when not the null string,
   in the `Start_Search` and `Search` procedures.
   See A.16(104) and A.16(112)."
@@ -738,7 +731,7 @@ according to the syntax of regular expressions as defined in the
 
 See :ref:`GNAT.Regexp_(g-regexp.ads)`.
 
-* 
+*
   "Implementation-defined convention names.  See B.1(11)."
 
 The following convention names are supported
@@ -784,12 +777,12 @@ Convention Name         Interpretation
                         implementations, these names are accepted silently.
 ======================= ==============================================================================
 
-* 
+*
   "The meaning of link names.  See B.1(36)."
 
 Link names are the actual names used by the linker.
 
-* 
+*
   "The manner of choosing link names when neither the link
   name nor the address of an imported or exported entity is specified.  See
   B.1(36)."
@@ -798,7 +791,7 @@ The default linker name is that which would be assigned by the relevant
 external language, interpreting the Ada name as being in all lower case
 letters.
 
-* 
+*
   "The effect of pragma `Linker_Options`.  See B.1(37)."
 
 The string passed to `Linker_Options` is presented uninterpreted as
@@ -815,20 +808,20 @@ list of options passed to the linker is in reverse order of the elaboration
 order. For example, linker options for a body always appear before the options
 from the corresponding package spec.
 
-* 
+*
   "The contents of the visible part of package
   `Interfaces` and its language-defined descendants.  See B.2(1)."
 
 See files with prefix :file:`i-` in the distributed library.
 
-* 
+*
   "Implementation-defined children of package
   `Interfaces`.  The contents of the visible part of package
   `Interfaces`.  See B.2(11)."
 
 See files with prefix :file:`i-` in the distributed library.
 
-* 
+*
   "The types `Floating`, `Long_Floating`,
   `Binary`, `Long_Binary`, `Decimal_ Element`, and
   `COBOL_Character`; and the initialization of the variables
@@ -848,18 +841,18 @@ COBOL                 Ada
 
 For initialization, see the file :file:`i-cobol.ads` in the distributed library.
 
-* 
+*
   "Support for access to machine instructions.  See C.1(1)."
 
 See documentation in file :file:`s-maccod.ads` in the distributed library.
 
-* 
+*
   "Implementation-defined aspects of access to machine
   operations.  See C.1(9)."
 
 See documentation in file :file:`s-maccod.ads` in the distributed library.
 
-* 
+*
   "Implementation-defined aspects of interrupts.  See C.3(2)."
 
 Interrupts are mapped to signals or conditions as appropriate.  See
@@ -867,14 +860,14 @@ definition of unit
 `Ada.Interrupt_Names` in source file :file:`a-intnam.ads` for details
 on the interrupts supported on a particular target.
 
-* 
+*
   "Implementation-defined aspects of pre-elaboration.  See
   C.4(13)."
 
 GNAT does not permit a partition to be restarted without reloading,
 except under control of the debugger.
 
-* 
+*
   "The semantics of pragma `Discard_Names`.  See C.5(7)."
 
 Pragma `Discard_Names` causes names of enumeration literals to
@@ -882,7 +875,7 @@ be suppressed.  In the presence of this pragma, the Image attribute
 provides the image of the Pos of the literal, and Value accepts
 Pos values.
 
-* 
+*
   "The result of the `Task_Identification.Image`
   attribute.  See C.7.1(7)."
 
@@ -910,14 +903,14 @@ No_Implicit_Heap_Allocation is in effect,  the image reduces to
 the numeric suffix, that is to say the hexadecimal representation of the
 virtual address of the control block of the task.
 
-* 
+*
   "The value of `Current_Task` when in a protected entry
   or interrupt handler.  See C.7.1(17)."
 
 Protected entries or interrupt handlers can be executed by any
 convenient thread, so the value of `Current_Task` is undefined.
 
-* 
+*
   "The effect of calling `Current_Task` from an entry
   body or interrupt handler.  See C.7.1(19)."
 
@@ -925,13 +918,13 @@ The effect of calling `Current_Task` from an entry body or
 interrupt handler is to return the identification of the task currently
 executing the code.
 
-* 
+*
   "Implementation-defined aspects of
   `Task_Attributes`.  See C.7.2(19)."
 
 There are no implementation-defined aspects of `Task_Attributes`.
 
-* 
+*
   "Values of all `Metrics`.  See D(2)."
 
 The metrics information for GNAT depends on the performance of the
@@ -943,25 +936,25 @@ information on the performance of the underlying operating system,
 on the exact target in use, this information can be used to determine
 the required metrics.
 
-* 
+*
   "The declarations of `Any_Priority` and
   `Priority`.  See D.1(11)."
 
 See declarations in file :file:`system.ads`.
 
-* 
+*
   "Implementation-defined execution resources.  See D.1(15)."
 
 There are no implementation-defined execution resources.
 
-* 
+*
   "Whether, on a multiprocessor, a task that is waiting for
   access to a protected object keeps its processor busy.  See D.2.1(3)."
 
 On a multi-processor, a task that is waiting for access to a protected
 object does not keep its processor busy.
 
-* 
+*
   "The affect of implementation defined execution resources
   on task dispatching.  See D.2.1(9)."
 
@@ -969,26 +962,26 @@ Tasks map to threads in the threads package used by GNAT.  Where possible
 and appropriate, these threads correspond to native threads of the
 underlying operating system.
 
-* 
+*
   "Implementation-defined `policy_identifiers` allowed
   in a pragma `Task_Dispatching_Policy`.  See D.2.2(3)."
 
 There are no implementation-defined policy-identifiers allowed in this
 pragma.
 
-* 
+*
   "Implementation-defined aspects of priority inversion.  See
   D.2.2(16)."
 
 Execution of a task cannot be preempted by the implementation processing
 of delay expirations for lower priority tasks.
 
-* 
+*
   "Implementation-defined task dispatching.  See D.2.2(18)."
 
 The policy is the same as that of the underlying threads implementation.
 
-* 
+*
   "Implementation-defined `policy_identifiers` allowed
   in a pragma `Locking_Policy`.  See D.3(4)."
 
@@ -1002,26 +995,26 @@ requesting the lock.  On targets that support the
 read/write lock allowing multiple propected object functions to enter
 concurrently.
 
-* 
+*
   "Default ceiling priorities.  See D.3(10)."
 
 The ceiling priority of protected objects of the type
 `System.Interrupt_Priority'Last` as described in the Ada
 Reference Manual D.3(10),
 
-* 
+*
   "The ceiling of any protected object used internally by
   the implementation.  See D.3(16)."
 
 The ceiling priority of internal protected objects is
 `System.Priority'Last`.
 
-* 
+*
   "Implementation-defined queuing policies.  See D.4(1)."
 
 There are no implementation-defined queuing policies.
 
-* 
+*
   "On a multiprocessor, any conditions that cause the
   completion of an aborted construct to be delayed later than what is
   specified for a single processor.  See D.6(3)."
@@ -1029,59 +1022,59 @@ There are no implementation-defined queuing policies.
 The semantics for abort on a multi-processor is the same as on a single
 processor, there are no further delays.
 
-* 
+*
   "Any operations that implicitly require heap storage
   allocation.  See D.7(8)."
 
 The only operation that implicitly requires heap storage allocation is
 task creation.
 
-* 
+*
   "What happens when a task terminates in the presence of
   pragma `No_Task_Termination`. See D.7(15)."
 
 Execution is erroneous in that case.
 
-* 
+*
   "Implementation-defined aspects of pragma
   `Restrictions`.  See D.7(20)."
 
 There are no such implementation-defined aspects.
 
-* 
+*
   "Implementation-defined aspects of package
   `Real_Time`.  See D.8(17)."
 
 There are no implementation defined aspects of package `Real_Time`.
 
-* 
+*
   "Implementation-defined aspects of
   `delay_statements`.  See D.9(8)."
 
 Any difference greater than one microsecond will cause the task to be
 delayed (see D.9(7)).
 
-* 
+*
   "The upper bound on the duration of interrupt blocking
   caused by the implementation.  See D.12(5)."
 
 The upper bound is determined by the underlying operating system.  In
 no cases is it more than 10 milliseconds.
 
-* 
+*
   "The means for creating and executing distributed
   programs.  See E(5)."
 
 The GLADE package provides a utility GNATDIST for creating and executing
 distributed programs.  See the GLADE reference manual for further details.
 
-* 
+*
   "Any events that can result in a partition becoming
   inaccessible.  See E.1(7)."
 
 See the GLADE reference manual for full details on such events.
 
-* 
+*
   "The scheduling policies, treatment of priorities, and
   management of shared resources between partitions in certain cases.  See
   E.1(11)."
@@ -1089,7 +1082,7 @@ See the GLADE reference manual for full details on such events.
 See the GLADE reference manual for full details on these aspects of
 multi-partition execution.
 
-* 
+*
   "Events that cause the version of a compilation unit to
   change.  See E.3(5)."
 
@@ -1099,27 +1092,27 @@ to change.  No other actions cause the version number to change.  All changes
 are significant except those which affect only layout, capitalization or
 comments.
 
-* 
+*
   "Whether the execution of the remote subprogram is
   immediately aborted as a result of cancellation.  See E.4(13)."
 
 See the GLADE reference manual for details on the effect of abort in
 a distributed application.
 
-* 
+*
   "Implementation-defined aspects of the PCS.  See E.5(25)."
 
 See the GLADE reference manual for a full description of all implementation
 defined aspects of the PCS.
 
-* 
+*
   "Implementation-defined interfaces in the PCS.  See
   E.5(26)."
 
 See the GLADE reference manual for a full description of all
 implementation defined interfaces.
 
-* 
+*
   "The values of named numbers in the package
   `Decimal`.  See F.2(7)."
 
@@ -1133,26 +1126,26 @@ Named Number         Value
 *Max_Decimal_Digits*  18
 ==================== ==========
 
-* 
+*
   "The value of `Max_Picture_Length` in the package
   `Text_IO.Editing`.  See F.3.3(16)."
 
 64
 
-* 
+*
   "The value of `Max_Picture_Length` in the package
   `Wide_Text_IO.Editing`.  See F.3.4(5)."
 
 64
 
-* 
+*
   "The accuracy actually achieved by the complex elementary
   functions and by other complex arithmetic operations.  See G.1(1)."
 
 Standard library functions are used for the complex arithmetic
 operations.  Only fast math mode is currently supported.
 
-* 
+*
   "The sign of a zero result (or a component thereof) from
   any operator or function in `Numerics.Generic_Complex_Types`, when
   `Real'Signed_Zeros` is True.  See G.1.1(53)."
@@ -1160,7 +1153,7 @@ operations.  Only fast math mode is currently supported.
 The signs of zero values are as recommended by the relevant
 implementation advice.
 
-* 
+*
   "The sign of a zero result (or a component thereof) from
   any operator or function in
   `Numerics.Generic_Complex_Elementary_Functions`, when
@@ -1169,14 +1162,14 @@ implementation advice.
 The signs of zero values are as recommended by the relevant
 implementation advice.
 
-* 
+*
   "Whether the strict mode or the relaxed mode is the
   default.  See G.2(2)."
 
 The strict mode is the default.  There is no separate relaxed mode.  GNAT
 provides a highly efficient implementation of strict mode.
 
-* 
+*
   "The result interval in certain cases of fixed-to-float
   conversion.  See G.2.1(10)."
 
@@ -1184,7 +1177,7 @@ For cases where the result interval is implementation dependent, the
 accuracy is that provided by performing all operations in 64-bit IEEE
 floating-point format.
 
-* 
+*
   "The result of a floating point arithmetic operation in
   overflow situations, when the `Machine_Overflows` attribute of the
   result type is `False`.  See G.2.1(13)."
@@ -1197,14 +1190,14 @@ must be used for achieving IEEE conforming behavior (although at the cost
 of a significant performance penalty), so infinite and NaN values are
 properly generated.
 
-* 
+*
   "The result interval for division (or exponentiation by a
   negative exponent), when the floating point hardware implements division
   as multiplication by a reciprocal.  See G.2.1(16)."
 
 Not relevant, division is IEEE exact.
 
-* 
+*
   "The definition of close result set, which determines the
   accuracy of certain fixed point multiplications and divisions.  See
   G.2.3(5)."
@@ -1214,7 +1207,7 @@ floating-point arithmetic.  The input operands are converted to
 floating-point, the operation is done in floating-point, and the result
 is converted to the target type.
 
-* 
+*
   "Conditions on a `universal_real` operand of a fixed
   point multiplication or division for which the result shall be in the
   perfect result set.  See G.2.3(22)."
@@ -1223,7 +1216,7 @@ The result is only defined to be in the perfect result set if the result
 can be computed by a single scaling operation involving a scale factor
 representable in 64-bits.
 
-* 
+*
   "The result of a fixed point arithmetic operation in
   overflow situations, when the `Machine_Overflows` attribute of the
   result type is `False`.  See G.2.3(27)."
@@ -1231,14 +1224,14 @@ representable in 64-bits.
 Not relevant, `Machine_Overflows` is `True` for fixed-point
 types.
 
-* 
+*
   "The result of an elementary function reference in
   overflow situations, when the `Machine_Overflows` attribute of the
   result type is `False`.  See G.2.4(4)."
 
 IEEE infinite and Nan values are produced as appropriate.
 
-* 
+*
   "The value of the angle threshold, within which certain
   elementary functions, complex arithmetic operations, and complex
   elementary functions yield results conforming to a maximum relative
@@ -1246,13 +1239,13 @@ IEEE infinite and Nan values are produced as appropriate.
 
 Information on this subject is not yet available.
 
-* 
+*
   "The accuracy of certain elementary functions for
   parameters beyond the angle threshold.  See G.2.4(10)."
 
 Information on this subject is not yet available.
 
-* 
+*
   "The result of a complex arithmetic operation or complex
   elementary function reference in overflow situations, when the
   `Machine_Overflows` attribute of the corresponding real type is
@@ -1260,27 +1253,27 @@ Information on this subject is not yet available.
 
 IEEE infinite and Nan values are produced as appropriate.
 
-* 
+*
   "The accuracy of certain complex arithmetic operations and
   certain complex elementary functions for parameters (or components
   thereof) beyond the angle threshold.  See G.2.6(8)."
 
 Information on those subjects is not yet available.
 
-* 
+*
   "Information regarding bounded errors and erroneous
   execution.  See H.2(1)."
 
 Information on this subject is not yet available.
 
-* 
+*
   "Implementation-defined aspects of pragma
   `Inspection_Point`.  See H.3.2(8)."
 
 Pragma `Inspection_Point` ensures that the variable is live and can
 be examined by the debugger at the inspection point.
 
-* 
+*
   "Implementation-defined aspects of pragma
   `Restrictions`.  See H.4(25)."
 
@@ -1288,7 +1281,7 @@ There are no implementation-defined aspects of pragma `Restrictions`.  The
 use of pragma `Restrictions [No_Exceptions]` has no effect on the
 generated code.  Checks must suppressed by use of pragma `Suppress`.
 
-* 
+*
   "Any restrictions on pragma `Restrictions`.  See
   H.4(27)."
 
index 058db24357557af3e94d8f6318b76c81c0c1d538..5f8491be74556a6925d9fee8b45debf30906f8ef 100644 (file)
@@ -803,24 +803,6 @@ compatibility with the standard `Assertion_Policy` pragma. The check
 policy setting `DISABLE` causes the second argument of a corresponding
 `Check` pragma to be completely ignored and not analyzed.
 
-Pragma CIL_Constructor
-======================
-
-Syntax:
-
-
-::
-
-  pragma CIL_Constructor ([Entity =>] function_LOCAL_NAME);
-
-
-This pragma is used to assert that the specified Ada function should be
-mapped to the .NET constructor for some Ada tagged record type.
-
-See section 4.1 of the
-`GNAT User's Guide: Supplement for the .NET Platform.`
-for related information.
-
 Pragma Comment
 ==============
 
@@ -2864,42 +2846,6 @@ invariant pragma for the same entity.
 For further details on the use of this pragma, see the Ada 2012 documentation
 of the Type_Invariant aspect.
 
-Pragma Java_Constructor
-=======================
-
-Syntax:
-
-
-::
-
-  pragma Java_Constructor ([Entity =>] function_LOCAL_NAME);
-
-
-This pragma is used to assert that the specified Ada function should be
-mapped to the Java constructor for some Ada tagged record type.
-
-See section 7.3.2 of the
-`GNAT User's Guide: Supplement for the JVM Platform.`
-for related information.
-
-Pragma Java_Interface
-=====================
-
-Syntax:
-
-
-::
-
-  pragma Java_Interface ([Entity =>] abstract_tagged_type_LOCAL_NAME);
-
-
-This pragma is used to assert that the specified Ada abstract tagged type
-is to be mapped to a Java interface name.
-
-See sections 7.1 and 7.2 of the
-`GNAT User's Guide: Supplement for the JVM Platform.`
-for related information.
-
 Pragma Keep_Names
 =================
 
@@ -5769,6 +5715,13 @@ names that are implementation defined (as permitted by the RM):
   `Duplicated_Tag_Check` Can be used to suppress the check that is generated
   for a duplicated tag value when a tagged type is declared.
 
+*
+  `Container_Checks` Can be used to suppress all checks within Ada.Containers
+  and instances of its children, including Tampering_Check.
+
+*
+  `Tampering_Check` Can be used to suppress tampering check in the containers.
+
 *
   `Predicate_Check` can be used to control whether predicate checks are
   active. It is applicable only to predicates for which the policy is
@@ -6479,8 +6432,8 @@ configuration pragma will ensure this test is not suppressed:
 This pragma is standard in Ada 2005. It is available in all earlier versions
 of Ada as an implementation-defined pragma.
 
-Note that in addition to the checks defined in the Ada RM, GNAT recogizes
-a number of implementation-defined check names. See description of pragma
+Note that in addition to the checks defined in the Ada RM, GNAT recogizes a
+number of implementation-defined check names. See the description of pragma
 `Suppress` for full details.
 
 Pragma Use_VADS_Size
index c5cabb98af4bf8e45c48c670c6572e2145a98128..1a88222c381b520abc7075cda338aae275d7fe86 100644 (file)
@@ -137,12 +137,19 @@ No_Anonymous_Allocators
 [RM H.4] This restriction ensures at compile time that there are no
 occurrences of an allocator of anonymous access type.
 
+No_Asynchronous_Control
+-----------------------
+.. index:: No_Asynchronous_Control
+
+[RM J.13] This restriction ensures at compile time that there are no semantic
+dependences on the predefined package Asynchronous_Task_Control.
+
 No_Calendar
 -----------
 .. index:: No_Calendar
 
-[GNAT] This restriction ensures at compile time that there is no implicit or
-explicit dependence on the package `Ada.Calendar`.
+[GNAT] This restriction ensures at compile time that there are no semantic
+dependences on package Calendar.
 
 No_Coextensions
 ---------------
@@ -170,14 +177,14 @@ No_Delay
 .. index:: No_Delay
 
 [RM H.4] This restriction ensures at compile time that there are no
-delay statements and no dependences on package Calendar.
+delay statements and no semantic dependences on package Calendar.
 
 No_Dependence
 -------------
 .. index:: No_Dependence
 
-[RM 13.12.1] This restriction checks at compile time that there are no
-dependence on a library unit.
+[RM 13.12.1] This restriction ensures at compile time that there are no
+dependences on a library unit.
 
 No_Direct_Boolean_Operators
 ---------------------------
@@ -709,6 +716,20 @@ No_Unchecked_Access
 [RM H.4] This restriction ensures at compile time that there are no
 occurrences of the Unchecked_Access attribute.
 
+No_Unchecked_Conversion
+-----------------------
+.. index:: No_Unchecked_Conversion
+
+[RM J.13] This restriction ensures at compile time that there are no semantic
+dependences on the predefined generic function Unchecked_Conversion.
+
+No_Unchecked_Deallocation
+-------------------------
+.. index:: No_Unchecked_Deallocation
+
+[RM J.13] This restriction ensures at compile time that there are no semantic
+dependences on the predefined generic procedure Unchecked_Deallocation.
+
 No_Use_Of_Entity
 ----------------
 .. index:: No_Use_Of_Entity
index a5f0aa210e6e91e2e2cf7d2c784e4e99ef2e0b16..6220bc280034c70f49eb57c644f8af88b4b70ce0 100644 (file)
@@ -641,6 +641,19 @@ Provides AWK-like parsing functions, with an easy interface for parsing one
 or more files containing formatted data.  The file is viewed as a database
 where each record is a line and a field is a data element in this line.
 
+.. _`GNAT.Bind_Environment_(g-binenv.ads)`:
+
+`GNAT.Bind_Environment` (:file:`g-binenv.ads`)
+==============================================
+
+.. index:: GNAT.Bind_Environment (g-binenv.ads)
+
+.. index:: Bind environment
+
+Provides access to key=value associations captured at bind time.
+These associations can be specified using the `-V` binder command
+line switch.
+
 .. _`GNAT.Bounded_Buffers_(g-boubuf.ads)`:
 
 `GNAT.Bounded_Buffers` (:file:`g-boubuf.ads`)
index 4c6e137ddcd0d288885a9e007046aa6dbb844cad..de04d2c7ef64b4571c480a73a985142012f28370 100644 (file)
@@ -4911,13 +4911,12 @@ following *gcc* switches refine this default behavior.
   the condition being checked is true, which can result in erroneous
   execution if that assumption is wrong.
 
-  The checks subject to suppression include all the checks defined by
-  the Ada standard, the additional implementation defined checks
-  `Alignment_Check`,
-  `Duplicated_Tag_Check`, `Predicate_Check`, and
-  `Validity_Check`, as well as any checks introduced using
-  `pragma Check_Name`. Note that `Atomic_Synchronization`
-  is not automatically suppressed by use of this option.
+  The checks subject to suppression include all the checks defined by the Ada
+  standard, the additional implementation defined checks `Alignment_Check`,
+  `Duplicated_Tag_Check`, `Predicate_Check`, Container_Checks, Tampering_Check,
+  and `Validity_Check`, as well as any checks introduced using `pragma
+  Check_Name`. Note that `Atomic_Synchronization` is not automatically
+  suppressed by use of this option.
 
   If the code depends on certain checks being active, you can use
   pragma `Unsuppress` either as a configuration pragma or as
@@ -6326,6 +6325,14 @@ be presented in subsequent sections.
   :file:`stdout`.
 
 
+  .. index:: -V  (gnatbind)
+
+:samp:`-V{key}={value}`
+  Store the given association of `key` to `value` in the bind environment.
+  Values stored this way can be retrieved at run time using
+  `GNAT.Bind_Environment`.
+
+
   .. index:: -w  (gnatbind)
 
 :samp:`-w{x}`
index 79569b0ff12531065d8953370c09c78c3db6eecd..b2c0ec2b0ce2180ac4c61d2fb1d8635b26ddd9b6 100644 (file)
@@ -175,7 +175,7 @@ the directory :file:`obj/`.
       proc.adb
     common/obj/
       proc.ali, proc.o pack.ali, pack.o
-  
+
 
 Our project is to be called *Build*. The name of the
 file is the name of the project (case-insensitive) with the
@@ -187,10 +187,10 @@ file is enough for it. We will thus create a new file, that for now
 should contain the following code:
 
 .. code-block:: gpr
-  
+
       project Build is
       end Build;
-  
+
 
 .. _Source_Files_and_Directories:
 
@@ -263,7 +263,7 @@ There are several ways of defining source directories:
 
         for Source_Dirs use ("./**");
         for Ignore_Source_Sub_Dirs use (".svn");
-    
+
 
 When applied to the simple example, and because we generally prefer to have
 the project file at the toplevel directory rather than mixed with the sources,
@@ -276,7 +276,7 @@ we will create the following file
      project Build is
         for Source_Dirs use ("common");  --  <<<<
      end Build;
-  
+
 
 Once source directories have been specified, one may need to indicate
 source files of interest. By default, all source files present in the source
@@ -426,7 +426,7 @@ For our example, we can specify the object dir in this way:
           for Source_Dirs use ("common");
           for Object_Dir use "obj";   --  <<<<
        end Build;
-  
+
 As mentioned earlier, there is a single object directory per project. As a
 result, if you have an existing system where the object files are spread across
 several directories, you can either move all of them into the same directory if
@@ -459,7 +459,7 @@ the project file is now
           for Object_Dir use "obj";
           for Exec_Dir use ".";  --   <<<<
        end Build;
-  
+
 
 .. _Main_Subprograms:
 
@@ -497,7 +497,7 @@ corresponding executables.
           for Exec_Dir use ".";
           for Main use ("proc.adb");  --   <<<<
        end Build;
-  
+
 
 If this attribute is defined in the project, then spawning the builder
 with a command such as
@@ -505,7 +505,7 @@ with a command such as
 .. code-block:: sh
 
      gprbuild -Pbuild
-  
+
 
 automatically builds all the executables corresponding to the files
 listed in the *Main* attribute. It is possible to specify one
@@ -564,7 +564,7 @@ packages would be involved in the build process.
           for Object_Dir use "obj";
           for Exec_Dir use ".";
           for Main use ("proc.adb");
-  
+
           package Builder is  --<<<  for gprbuild
           end Builder;
 
@@ -630,7 +630,7 @@ Several attributes can be used to specify the switches:
          for Switches ("proc.adb")
              use ("-O0");
       end Compiler;
-    
+
 
   `Switches` may take a pattern as an index, such as in:
 
@@ -642,7 +642,7 @@ Several attributes can be used to specify the switches:
         for Switches ("pkg*")
             use ("-O0");
       end Compiler;
-    
+
   Sources :file:`pkg.adb` and :file:`pkg-child.adb` would be compiled with -O0,
   not -O2.
 
@@ -679,7 +679,7 @@ Here is the command we would use from the command line:
 .. code-block:: sh
 
      gprbuild -Pbuild
-  
+
 This will automatically build the executables specified through the
 *Main* attribute: for each, it will compile or recompile the
 sources for which the object file does not exist or is not up-to-date; it
@@ -693,7 +693,7 @@ set the attribute *Languages* to `"(Ada, C)"`, and re-run
 .. code-block:: sh
 
      gprbuild -Pbuild
-  
+
 Gprbuild knows how to recompile the C files and will
 recompile them only if one of their dependencies has changed. No direct
 indication on how to build the various elements is given in the
@@ -752,7 +752,7 @@ on Windows), we could configure our project file to build "proc1"
              for Executable ("proc.adb") use "proc1";
           end Builder
        end Build;
-  
+
 .. index:: Executable_Suffix (GNAT Project Manager)
 
 Attribute **Executable_Suffix**, when specified, may change the suffix
@@ -790,7 +790,7 @@ project using similar sources and a main program in C:
           for Switches ("main.c") use C_Switches & ("-g");
        end Compiler;
     end C_Main;
-  
+
 This project has many similarities with the previous one.
 As expected, its `Main` attribute now refers to a C source.
 The attribute *Exec_Dir* is now omitted, thus the resulting
@@ -810,7 +810,7 @@ replaced by a reference to the `Default_Switches` attribute:
 .. code-block:: gpr
 
        for Switches ("c_main.c") use Compiler'Default_Switches ("C") & ("-g");
-  
+
 Note the tick (*'*) used to refer to attributes defined in a package.
 
 Here is the output of the GPRbuild command using this project:
@@ -825,7 +825,7 @@ Here is the output of the GPRbuild command using this project:
     gprbind main.bexch
     ...
     gcc main.o -o main
-  
+
 The default switches for Ada sources,
 the default switches for C sources (in the compilation of :file:`lib.c`),
 and the specific switches for :file:`main.c` have all been taken into
@@ -986,7 +986,7 @@ The following attributes can be defined in package `Naming`:
        for Spec ("MyPack.MyChild") use "mypack.mychild.spec";
        for Spec ("top") use "foo.a" at 1;
        for Spec ("foo") use "foo.a" at 2;
-    
+
 
 .. index:: Body (GNAT Project Manager)
 
@@ -1018,7 +1018,7 @@ For example, the following package models the Apex file naming rules:
        for Spec_Suffix ("Ada")  use ".1.ada";
        for Body_Suffix ("Ada")  use ".2.ada";
      end Naming;
-  
+
 
 .. _Installation:
 
@@ -1048,7 +1048,9 @@ The following attributes can be defined in package `Install`:
   An array attribute to declare a set of files not part of the sources
   to be installed. The array discriminant is the directory where the
   file is to be installed. If a relative directory then Prefix (see
-  below) is prepended.
+  below) is prepended. Note also that if the same file name occurs
+  multiple time in the attribute list, the last one will be the one
+  installed.
 
 
 .. index:: Prefix (GNAT Project Manager)
@@ -1155,7 +1157,7 @@ project:
      project Build is
        ...  --  as before
      end Build;
-  
+
 
 .. index:: Externally_Built (GNAT Project Manager)
 
@@ -1296,7 +1298,7 @@ its variables cannot be referred to.
      project D is
         for Exec_Dir use A'Exec_Dir; -- not ok
      end D;
-  
+
 
 .. _Sharing_Between_Projects:
 
@@ -1341,7 +1343,7 @@ There are two main approaches to avoiding this duplication:
             for Switches ("Ada") use Logging.Binder'Switches ("Ada");
          end Binder;
       end Build;
-    
+
   The solution used for `Compiler` gets the same value for all
   attributes of the package, but you cannot modify anything from the
   package (adding extra switches or some exceptions). The second
@@ -1383,7 +1385,7 @@ There are two main approaches to avoiding this duplication:
       project Build is
          package Compiler renames Shared.Compiler;
       end Build;
-    
+
   As for the first example, we could have chosen to set the attributes
   one by one rather than to rename a package. The reason we explicitly
   indicate that `Shared` has no sources is so that it can be created
@@ -1482,7 +1484,7 @@ order of priority):
   .. code-block:: sh
 
          gprbuild -Pbuild.gpr -Xmode=release
-    
+
 
 **Environment variables**:
   When the external value does not come from the command line, it can come from
@@ -1507,7 +1509,7 @@ either :file:`obj/debug` or :file:`obj/release` by changing our project to
          for Object_Dir use "obj/" & external ("mode", "debug");
          ... --  as before
      end Build;
-  
+
 The second parameter to `external` is optional, and is the default
 value to use if "mode" is not set from the command line or the environment.
 
@@ -1539,7 +1541,7 @@ sections in the project. The following example shows how this can be done:
            end case;
         end Compiler;
      end Build;
-  
+
 The project has suddenly grown in size, but has become much more flexible.
 `Mode_Type` defines the only valid values for the `mode` variable. If
 any other value is read from the environment, an error is reported and the
@@ -1636,7 +1638,7 @@ Here is the new version of :file:`logging.gpr` that makes it a library:
         for Object_Dir   use "obj";
         for Library_Dir  use "lib";      --  different from object_dir
      end Logging;
-  
+
 Once the above two attributes are defined, the library project is valid and
 is enough for building a library with default characteristics.
 Other library-related attributes can be used to change the defaults:
@@ -1696,7 +1698,7 @@ Other library-related attributes can be used to change the defaults:
          for Library_Kind use "dynamic";
          for Library_Version use "liblogging.so." & Version;
       end Logging;
-    
+
 
   After the compilation, the directory :file:`lib` will contain both a
   :file:`libdummy.so.1` library and a symbolic link to it called
@@ -1781,7 +1783,7 @@ the following two commands need to be used:
 
      gprbuild -Plogging.gpr
      gprbuild -Pbuild.gpr
-  
+
 All :file:`ALI` files will also be copied from the object directory to the
 library directory. To build executables, *gprbuild* will use the
 library rather than the individual object files.
@@ -1801,7 +1803,7 @@ of the library sources are not available. Such library projects need to use the
         for Library_Name use "l2";
         for Externally_Built use "true";  --  <<<<
      end Extern_Lib;
-  
+
 In the case of externally built libraries, the `Object_Dir`
 attribute does not need to be specified because it will never be
 used.
@@ -2089,7 +2091,7 @@ the project `Build` from previous examples:
 
      project Work extends "../bld/build.gpr" is
      end Work;
-  
+
 The project after **extends** is the one being extended. As usual, it can be
 specified using an absolute path, or a path relative to any of the directories
 in the project path (see :ref:`Project_Dependencies`). This project does not
@@ -2100,7 +2102,7 @@ attributes will be used that is to say the current directory (where project
 .. code-block:: sh
 
      gprbuild -Pwork
-  
+
 If no sources have been placed in the current directory, this command
 won't do anything, since this project does not change the
 sources it inherited from `Build`, therefore all the object files
@@ -2154,7 +2156,7 @@ line.
         --  New spec of Pkg does not need a completion
         for Excluded_Source_Files use ("pack.adb");
      end Work;
-  
+
 
 All packages that are not declared in the extending project are inherited from
 the project being extended, with their attributes, with the exception of
@@ -2182,7 +2184,7 @@ For example, consider the following hierarchy of projects.
      a.gpr  contains package A1
      b.gpr, imports a.gpr and contains B1, which depends on A1
      c.gpr, imports b.gpr and contains C1, which depends on B1
-  
+
 If we want to locally extend the packages `A1` and `C1`, we need to
 create several extending projects:
 
@@ -2191,7 +2193,7 @@ create several extending projects:
      a_ext.gpr which extends a.gpr, and overrides A1
      b_ext.gpr which extends b.gpr and imports a_ext.gpr
      c_ext.gpr which extends c.gpr, imports b_ext.gpr and overrides C1
-  
+
 .. code-block:: gpr
 
      project A_Ext extends "a.gpr" is
@@ -2252,7 +2254,7 @@ Thus, in our example we could create the following projects instead:
      project C_Ext extends all "c.gpr" is
        for Source_Files use ("c1.adb");
      end C_Ext;
-  
+
 
 When building project :file:`c_ext.gpr`, the entire modified project space is
 considered for recompilation, including the sources of :file:`b.gpr` that are
@@ -2289,7 +2291,7 @@ However, if you build your project through *gprbuild*, using a syntax similar to
 ::
 
      gprbuild -PA.gpr
-  
+
 this will only rebuild the main programs of project A, not those of the
 imported projects B and C. Therefore you have to spawn several
 *gprbuild* commands, one per project, to build all executables.
@@ -2341,7 +2343,7 @@ Using only *gprbuild*, you could do
 
     gprbuild -PA.gpr
     gprbuild -PB.gpr
-  
+
 to build both. But again, *gprbuild* has to do some duplicate work for
 those files that are shared between the two, and cannot truly build
 things in parallel efficiently.
@@ -2401,7 +2403,7 @@ reference external variables in |with| declarations, as in
      project MyProject is
         ...
      end MyProject;
-  
+
 For various reasons, this is not allowed. But using aggregate projects provide
 an elegant solution. For instance, you could use a project file like:
 
@@ -2416,7 +2418,7 @@ an elegant solution. For instance, you could use a project file like:
      project MyProject is
         ...
      end MyProject;
-  
+
 
 .. _Performance_improvements_in_builder:
 
@@ -2527,7 +2529,7 @@ The following three attributes can be used only in an aggregate project:
 
      for Project_Files use ("/.gpr");
      --  all projects recursively
-    
+
 
 .. index:: Project_Path (GNAT Project Manager)
 
@@ -2601,7 +2603,7 @@ The following three attributes can be used only in an aggregate project:
   .. code-block:: gpr
 
      for Project_Path use ("/usr/local/gpr", "gpr/");
-    
+
 .. index:: External (GNAT Project Manager)
 
 **External**:
@@ -2665,7 +2667,7 @@ are valid:
   .. code-block:: gpr
 
      for Switches (others) use ("-v", "-k", "-j8");
-    
+
   These switches are only read from the main aggregate project (the
   one passed on the command line), and ignored in all other aggregate
   projects or projects.
@@ -2740,7 +2742,7 @@ are valid:
                 use ("-O0", "-g");
          end Compiler;
      end C;
-    
+
 
   then the following switches are used:
 
@@ -2816,13 +2818,13 @@ and C:
         for Library_Name use ("agg");
         for Library_Dir use ("lagg");
      end Agg;
-  
+
 Then, when you build with:
 
 .. code-block:: sh
 
       gprbuild agg.gpr
-  
+
 This will build all units from projects A, B and C and will create a
 static library named :file:`libagg.a` in the :file:`lagg`
 directory. An aggregate library project has the same set of
@@ -2929,7 +2931,7 @@ are always case-insensitive ("Name" is the same as "name").
 
     simple_name ::= identifier
     name        ::= simple_name { . simple_name }
-  
+
 **Strings** are used for values of attributes or as indexes for these
 attributes. They are in general case sensitive, except when noted
 otherwise (in particular, strings representing file names will be case
@@ -2939,7 +2941,7 @@ represent the same file).
 **Reserved words** are the same as for standard Ada 95, and cannot
 be used for identifiers. In particular, the following words are currently
 used in project files, but others could be added later on. In bold are the
-extra reserved words in project files: 
+extra reserved words in project files:
 ``all``, ``at``, ``case``, ``end``, ``for``, ``is``, ``limited``,
 ``null``, ``others``, ``package``, ``renames``, ``type``, ``use``, ``when``,
 ``with``, **extends**, **external**, **project**.
@@ -2980,7 +2982,7 @@ in the cycle is a **limited with**.
      with "other_project.gpr";
      project My_Project extends "extended.gpr" is
      end My_Project;
-  
+
 These dependencies form a **directed graph**, potentially cyclic when using
 **limited with**. The subgraph reflecting the **extends** relations is a tree.
 
@@ -3010,7 +3012,7 @@ in the child project.
         project <project_>name is
           {declarative_item}
         end <project_>simple_name;
-  
+
 
 .. _Qualified_Projects:
 
@@ -3021,7 +3023,7 @@ Before the reserved `project`, there may be one or two **qualifiers**, that
 is identifiers or reserved words, to qualify the project.
 The current list of qualifiers is:
 
-**abstract**: 
+**abstract**:
   Qualifies a project with no sources.
   Such a   project must either have no declaration of attributes `Source_Dirs`,
   `Source_Files`, `Languages` or `Source_List_File`, or one of
@@ -3029,11 +3031,11 @@ The current list of qualifiers is:
   as empty. If it extends another project, the project it extends must also be a
   qualified abstract project.
 
-**standard**: 
+**standard**:
   A standard project is a non library project with sources.
   This is the default (implicit) qualifier.
 
-**aggregate**: 
+**aggregate**:
   A project whose sources are aggregated from other project files.
 
 **aggregate library**:
@@ -3071,7 +3073,7 @@ declaration. Others can appear within a project or within a package.
       | empty_declaration
 
     empty_declaration ::= *null* ;
-  
+
 An empty declaration is allowed anywhere a declaration is allowed. It has
 no effect.
 
@@ -3177,9 +3179,9 @@ The following packages are currently supported in project files
   used to automatically find all source files in the source directories,
   or given a file name to find out its language for proper processing.
   See :ref:`Naming_Schemes`.
+
  .. only: PRO or GPL
+
   *Pretty_Printer*
     This package specifies the options used when calling the formatting tool
     *gnatpp* via the *gnat* driver. Its attributes
@@ -3208,7 +3210,7 @@ In its simplest form, a package may be empty:
        package Builder is
        end Builder;
      end Simple;
-  
+
 A package may contain **attribute declarations**,
 **variable declarations** and **case constructions**, as will be
 described below.
@@ -3306,7 +3308,7 @@ following Ada declarations show the existing operators:
      function "&" (X : String;      Y : String)      return String;
      function "&" (X : String_List; Y : String)      return String_List;
      function "&" (X : String_List; Y : String_List) return String_List;
-  
+
 
 Here are some specific examples:
 
@@ -3316,7 +3318,7 @@ Here are some specific examples:
      List2 := List & (File_Name & ".orig"); -- Two strings
      Big_List := List & Lists2;  --  Three strings
      Illegal := "gnat.adc" & List2;  --  Illegal, must start with list
-  
+
 
 .. _External_Values:
 
@@ -3333,7 +3335,7 @@ one that returns a string list.
 The syntax of a single string external value is::
 
     external_value ::= *external* ( string_literal [, string_literal] )
-  
+
 
 The first string_literal is the string to be used on the command line or
 in the environment to specify the external value. The second string_literal,
@@ -3363,7 +3365,7 @@ attributes in various scenarios. Thus such variables are often called
 The syntax for a string list external value is::
 
     external_value ::= *external_as_list* ( string_literal , string_literal )
-  
+
 
 The first string_literal is the string to be used on the command line or
 in the environment to specify the external value. The second string_literal is
@@ -3382,7 +3384,7 @@ last separator and the end are components of the string list.
 ::
 
      *external_as_list* ("SWITCHES", ",")
-  
+
 If the external value is "-O2,-g",
 the result is ("-O2", "-g").
 
@@ -3412,7 +3414,7 @@ level, not inside a package.
 
      typed_string_declaration ::=
        *type* *<typed_string_>*_simple_name *is* ( string_literal {, string_literal} );
-  
+
 The string literals in the list are case sensitive and must all be different.
 They may include any graphic characters allowed in Ada, including spaces.
 Here is an example of a string type declaration:
@@ -3420,7 +3422,7 @@ Here is an example of a string type declaration:
 .. code-block:: ada
 
      type OS is ("NT", "nt", "Unix", "GNU/Linux", "other OS");
-  
+
 Variables of a string type are called **typed variables**; all other
 variables are called **untyped variables**. Typed variables are
 particularly useful in `case` constructions, to support conditional
@@ -3465,9 +3467,9 @@ A variable may be declared at the project file level, or within a package.
 
      typed_variable_declaration ::=
        *<typed_variable_>*simple_name : *<typed_string_>*name := string_expression;
-  
+
      variable_declaration ::= *<variable_>*simple_name := expression;
-  
+
 Here are some examples of variable declarations:
 
 .. code-block:: gpr
@@ -3482,7 +3484,7 @@ Here are some examples of variable declarations:
      List_With_One_Element := ("-gnaty");
      List_With_Two_Elements := List_With_One_Element & "-gnatg";
      Long_List := ("main.ada", "pack1_.ada", "pack1.ada", "pack2_.ada");
-  
+
 A **variable reference** may take several forms:
 
 * The simple variable name, for a variable in the current package (if any)
@@ -3543,7 +3545,7 @@ variables that have already been declared before the case construction.
            | empty_declaration}
 
      discrete_choice_list ::= string_literal {| string_literal} | *others*
-  
+
 Here is a typical example, with a typed string variable:
 
 .. code-block:: gpr
@@ -3565,7 +3567,7 @@ Here is a typical example, with a typed string variable:
           end case;
         end Compiler;
      end MyProj;
-  
+
 
 .. _Attributes:
 
@@ -3589,7 +3591,7 @@ others have values that are string lists.
      attribute_designator ::=
        *<simple_attribute_>*simple_name
        | *<indexed_attribute_>*simple_name ( string_literal )
-  
+
 There are two categories of attributes: **simple attributes**
 and **indexed attributes**.
 Each simple attribute has a default value: the empty string (for string
@@ -3624,7 +3626,7 @@ Here are some examples of attribute declarations:
      --  The package name must always be specified, even if it is the current
      --  package.
      for Default_Switches use Default.Builder'Default_Switches;
-  
+
 Attributes references may appear anywhere in expressions, and are used
 to retrieve the value previously assigned to the attribute. If an attribute
 has not been set in a given package or project, its value defaults to the
@@ -3638,7 +3640,7 @@ empty string or the empty list, with some exceptions.
       | *<project_>*simple_name
       | package_identifier
       | *<project_>*simple_name . package_identifier
-  
+
 Examples are::
 
      <project>'Object_Dir
@@ -3646,7 +3648,7 @@ Examples are::
      Imported_Project'Source_Dirs
      Imported_Project.Naming'Casing
      Builder'Default_Switches ("Ada")
-  
+
 The exceptions to the empty defaults are:
 
 * Object_Dir: default is "."
@@ -4596,7 +4598,9 @@ Package Install Attributes
   An array attribute to declare a set of files not part of the sources
   to be installed. The array discriminant is the directory where the
   file is to be installed. If a relative directory then Prefix (see
-  below) is prepended.
+  below) is prepended. Note also that if the same file name occurs
+  multiple time in the attribute list, the last one will be the one
+  installed.
 
 * **Prefix**: single
 
@@ -4873,5 +4877,3 @@ Package Synchronize Attributes
 
   Index is a source file name. Value is the list of switches to be used when
   invoking `gnatsync` for the source.
-
-
index 30eb860789e9c1ebc52d3c46454a53a25a79d7fd..80634d0eec7ccb46f8c16fd5dec38f2cc5d80309 100644 (file)
@@ -4465,7 +4465,7 @@ If you want to generate a single Ada file and not the transitive closure, you
 can use instead the *-fdump-ada-spec-slim* switch.
 
 You can optionally specify a parent unit, of which all generated units will
-be children, using `-fada-spec-parent=``unit`.
+be children, using `-fada-spec-parent=<unit>`.
 
 Note that we recommend when possible to use the *g++* driver to
 generate bindings, even for most C headers, since this will in general
index 281cb382bd7c5b1cf4b9c9393a071ed7d07f19db..5e3c590b47ae80ffc30643fc19c87e6f4464d731 100644 (file)
@@ -21,7 +21,7 @@
 
 @copying
 @quotation
-GNAT Reference Manual , May 12, 2015
+GNAT Reference Manual , October 20, 2015
 
 AdaCore
 
@@ -118,7 +118,6 @@ Implementation Defined Pragmas
 * Pragma Check_Float_Overflow:: 
 * Pragma Check_Name:: 
 * Pragma Check_Policy:: 
-* Pragma CIL_Constructor:: 
 * Pragma Comment:: 
 * Pragma Common_Object:: 
 * Pragma Compile_Time_Error:: 
@@ -183,8 +182,6 @@ Implementation Defined Pragmas
 * Pragma Interrupt_Handler:: 
 * Pragma Interrupt_State:: 
 * Pragma Invariant:: 
-* Pragma Java_Constructor:: 
-* Pragma Java_Interface:: 
 * Pragma Keep_Names:: 
 * Pragma License:: 
 * Pragma Link_With:: 
@@ -439,6 +436,7 @@ Partition-Wide Restrictions
 * No_Access_Subprograms:: 
 * No_Allocators:: 
 * No_Anonymous_Allocators:: 
+* No_Asynchronous_Control:: 
 * No_Calendar:: 
 * No_Coextensions:: 
 * No_Default_Initialization:: 
@@ -491,6 +489,8 @@ Partition-Wide Restrictions
 * No_Tasking:: 
 * No_Terminate_Alternatives:: 
 * No_Unchecked_Access:: 
+* No_Unchecked_Conversion:: 
+* No_Unchecked_Deallocation:: 
 * No_Use_Of_Entity:: 
 * Simple_Barriers:: 
 * Static_Priorities:: 
@@ -693,6 +693,7 @@ The GNAT Library
 * 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.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. 
@@ -1152,7 +1153,6 @@ consideration, the use of these pragmas should be minimized.
 * Pragma Check_Float_Overflow:: 
 * Pragma Check_Name:: 
 * Pragma Check_Policy:: 
-* Pragma CIL_Constructor:: 
 * Pragma Comment:: 
 * Pragma Common_Object:: 
 * Pragma Compile_Time_Error:: 
@@ -1217,8 +1217,6 @@ consideration, the use of these pragmas should be minimized.
 * Pragma Interrupt_Handler:: 
 * Pragma Interrupt_State:: 
 * Pragma Invariant:: 
-* Pragma Java_Constructor:: 
-* Pragma Java_Interface:: 
 * Pragma Keep_Names:: 
 * Pragma License:: 
 * Pragma Link_With:: 
@@ -2060,7 +2058,7 @@ are mentioned in @cite{with} clauses).
 Check names introduced by this pragma are subject to control by compiler
 switches (in particular -gnatp) in the usual manner.
 
-@node Pragma Check_Policy,Pragma CIL_Constructor,Pragma Check_Name,Implementation Defined Pragmas
+@node Pragma Check_Policy,Pragma Comment,Pragma Check_Name,Implementation Defined Pragmas
 @anchor{gnat_rm/implementation_defined_pragmas pragma-check-policy}@anchor{31}
 @section Pragma Check_Policy
 
@@ -2140,26 +2138,8 @@ compatibility with the standard @cite{Assertion_Policy} pragma. The check
 policy setting @cite{DISABLE} causes the second argument of a corresponding
 @cite{Check} pragma to be completely ignored and not analyzed.
 
-@node Pragma CIL_Constructor,Pragma Comment,Pragma Check_Policy,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-cil-constructor}@anchor{32}
-@section Pragma CIL_Constructor
-
-
-Syntax:
-
-@example
-pragma CIL_Constructor ([Entity =>] function_LOCAL_NAME);
-@end example
-
-This pragma is used to assert that the specified Ada function should be
-mapped to the .NET constructor for some Ada tagged record type.
-
-See section 4.1 of the
-@cite{GNAT User's Guide: Supplement for the .NET Platform.}
-for related information.
-
-@node Pragma Comment,Pragma Common_Object,Pragma CIL_Constructor,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-comment}@anchor{33}
+@node Pragma Comment,Pragma Common_Object,Pragma Check_Policy,Implementation Defined Pragmas
+@anchor{gnat_rm/implementation_defined_pragmas pragma-comment}@anchor{32}
 @section Pragma Comment
 
 
@@ -2178,7 +2158,7 @@ anywhere in the main source unit), and if more than one pragma
 is used, all comments are retained.
 
 @node Pragma Common_Object,Pragma Compile_Time_Error,Pragma Comment,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-common-object}@anchor{34}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-common-object}@anchor{33}
 @section Pragma Common_Object
 
 
@@ -2210,7 +2190,7 @@ indicating that the necessary attribute for implementation of this
 pragma is not available.
 
 @node Pragma Compile_Time_Error,Pragma Compile_Time_Warning,Pragma Common_Object,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-compile-time-error}@anchor{35}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-compile-time-error}@anchor{34}
 @section Pragma Compile_Time_Error
 
 
@@ -2237,7 +2217,7 @@ the value given as the second argument. This string value may contain
 embedded ASCII.LF characters to break the message into multiple lines.
 
 @node Pragma Compile_Time_Warning,Pragma Compiler_Unit,Pragma Compile_Time_Error,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-compile-time-warning}@anchor{36}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-compile-time-warning}@anchor{35}
 @section Pragma Compile_Time_Warning
 
 
@@ -2260,7 +2240,7 @@ with a first parameter of True is to warn a client about use of a package,
 for example that it is not fully implemented.
 
 @node Pragma Compiler_Unit,Pragma Compiler_Unit_Warning,Pragma Compile_Time_Warning,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-compiler-unit}@anchor{37}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-compiler-unit}@anchor{36}
 @section Pragma Compiler_Unit
 
 
@@ -2275,7 +2255,7 @@ retained so that old versions of the GNAT run-time that use this pragma can
 be compiled with newer versions of the compiler.
 
 @node Pragma Compiler_Unit_Warning,Pragma Complete_Representation,Pragma Compiler_Unit,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-compiler-unit-warning}@anchor{38}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-compiler-unit-warning}@anchor{37}
 @section Pragma Compiler_Unit_Warning
 
 
@@ -2293,7 +2273,7 @@ version of GNAT. For the exact list of restrictions, see the compiler sources
 and references to Check_Compiler_Unit.
 
 @node Pragma Complete_Representation,Pragma Complex_Representation,Pragma Compiler_Unit_Warning,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-complete-representation}@anchor{39}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-complete-representation}@anchor{38}
 @section Pragma Complete_Representation
 
 
@@ -2312,7 +2292,7 @@ complete, and that this invariant is maintained if fields are
 added to the record in the future.
 
 @node Pragma Complex_Representation,Pragma Component_Alignment,Pragma Complete_Representation,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-complex-representation}@anchor{3a}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-complex-representation}@anchor{39}
 @section Pragma Complex_Representation
 
 
@@ -2334,7 +2314,7 @@ records by pointer, and the use of this pragma may result in passing
 this type in floating-point registers.
 
 @node Pragma Component_Alignment,Pragma Contract_Cases,Pragma Complex_Representation,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-component-alignment}@anchor{3b}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-component-alignment}@anchor{3a}
 @section Pragma Component_Alignment
 
 
@@ -2425,7 +2405,7 @@ pragma @cite{Pack}, pragma @cite{Component_Alignment}, or a record rep
 clause), the GNAT uses the default alignment as described previously.
 
 @node Pragma Contract_Cases,Pragma Convention_Identifier,Pragma Component_Alignment,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-contract-cases}@anchor{3c}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-contract-cases}@anchor{3b}
 @section Pragma Contract_Cases
 
 
@@ -2506,7 +2486,7 @@ and that the consequence for this case should hold when the subprogram
 returns.
 
 @node Pragma Convention_Identifier,Pragma CPP_Class,Pragma Contract_Cases,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-convention-identifier}@anchor{3d}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-convention-identifier}@anchor{3c}
 @section Pragma Convention_Identifier
 
 
@@ -2542,7 +2522,7 @@ define a convention identifier @cite{Library} and use a single
 would be used system-wide.
 
 @node Pragma CPP_Class,Pragma CPP_Constructor,Pragma Convention_Identifier,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-cpp-class}@anchor{3e}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-cpp-class}@anchor{3d}
 @section Pragma CPP_Class
 
 
@@ -2567,14 +2547,14 @@ functions (see pragma @cite{CPP_Constructor}). Such types are implicitly
 limited if not explicitly declared as limited or derived from a limited
 type, and an error is issued in that case.
 
-See @ref{3f,,Interfacing to C++} for related information.
+See @ref{3e,,Interfacing to C++} for related information.
 
 Note: Pragma @cite{CPP_Class} is currently obsolete. It is supported
 for backward compatibility but its functionality is available
 using pragma @cite{Import} with @cite{Convention} = @cite{CPP}.
 
 @node Pragma CPP_Constructor,Pragma CPP_Virtual,Pragma CPP_Class,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-cpp-constructor}@anchor{40}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-cpp-constructor}@anchor{3f}
 @section Pragma CPP_Constructor
 
 
@@ -2625,7 +2605,7 @@ on the Ada side and the type is implicitly declared abstract.
 Pragma @cite{CPP_Constructor} is intended primarily for automatic generation
 using an automatic binding generator tool (such as the @cite{-fdump-ada-spec}
 GCC switch).
-See @ref{3f,,Interfacing to C++} for more related information.
+See @ref{3e,,Interfacing to C++} for more related information.
 
 Note: The use of functions returning class-wide types for constructors is
 currently obsolete. They are supported for backward compatibility. The
@@ -2634,7 +2614,7 @@ because the imported C++ constructors always return an object of type T;
 that is, they never return an object whose type is a descendant of type T.
 
 @node Pragma CPP_Virtual,Pragma CPP_Vtable,Pragma CPP_Constructor,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-cpp-virtual}@anchor{41}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-cpp-virtual}@anchor{40}
 @section Pragma CPP_Virtual
 
 
@@ -2647,10 +2627,10 @@ purposes. It used to be required to ensure compoatibility with C++, but
 is no longer required for that purpose because GNAT generates
 the same object layout as the G++ compiler by default.
 
-See @ref{3f,,Interfacing to C++} for related information.
+See @ref{3e,,Interfacing to C++} for related information.
 
 @node Pragma CPP_Vtable,Pragma CPU,Pragma CPP_Virtual,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-cpp-vtable}@anchor{42}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-cpp-vtable}@anchor{41}
 @section Pragma CPP_Vtable
 
 
@@ -2662,10 +2642,10 @@ It used to be required to ensure compatibility with C++, but
 is no longer required for that purpose because GNAT generates
 the same object layout as the G++ compiler by default.
 
-See @ref{3f,,Interfacing to C++} for related information.
+See @ref{3e,,Interfacing to C++} for related information.
 
 @node Pragma CPU,Pragma Debug,Pragma CPP_Vtable,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-cpu}@anchor{43}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-cpu}@anchor{42}
 @section Pragma CPU
 
 
@@ -2680,7 +2660,7 @@ versions of Ada as an implementation-defined pragma.
 See Ada 2012 Reference Manual for details.
 
 @node Pragma Debug,Pragma Debug_Policy,Pragma CPU,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-debug}@anchor{44}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-debug}@anchor{43}
 @section Pragma Debug
 
 
@@ -2708,7 +2688,7 @@ or by use of the pragma @cite{Check_Policy} with a first argument of
 @cite{Debug}.
 
 @node Pragma Debug_Policy,Pragma Default_Scalar_Storage_Order,Pragma Debug,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-debug-policy}@anchor{45}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-debug-policy}@anchor{44}
 @section Pragma Debug_Policy
 
 
@@ -2723,7 +2703,7 @@ with a first argument of @cite{Debug}. It is retained for historical
 compatibility reasons.
 
 @node Pragma Default_Scalar_Storage_Order,Pragma Default_Storage_Pool,Pragma Debug_Policy,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-default-scalar-storage-order}@anchor{46}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-default-scalar-storage-order}@anchor{45}
 @section Pragma Default_Scalar_Storage_Order
 
 
@@ -2796,7 +2776,7 @@ it may significantly degrade the run-time performance of the software, instead
 the default scalar storage order ought to be changed only on a local basis.
 
 @node Pragma Default_Storage_Pool,Pragma Depends,Pragma Default_Scalar_Storage_Order,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-default-storage-pool}@anchor{47}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-default-storage-pool}@anchor{46}
 @section Pragma Default_Storage_Pool
 
 
@@ -2813,7 +2793,7 @@ versions of Ada as an implementation-defined pragma.
 See Ada 2012 Reference Manual for details.
 
 @node Pragma Depends,Pragma Detect_Blocking,Pragma Default_Storage_Pool,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-depends}@anchor{48}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-depends}@anchor{47}
 @section Pragma Depends
 
 
@@ -2821,7 +2801,7 @@ For the description of this pragma, see SPARK 2014 Reference Manual,
 section 6.1.5.
 
 @node Pragma Detect_Blocking,Pragma Disable_Atomic_Synchronization,Pragma Depends,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-detect-blocking}@anchor{49}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-detect-blocking}@anchor{48}
 @section Pragma Detect_Blocking
 
 
@@ -2839,7 +2819,7 @@ blocking operations within a protected operation, and to raise Program_Error
 if that happens.
 
 @node Pragma Disable_Atomic_Synchronization,Pragma Dispatching_Domain,Pragma Detect_Blocking,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-disable-atomic-synchronization}@anchor{4a}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-disable-atomic-synchronization}@anchor{49}
 @section Pragma Disable_Atomic_Synchronization
 
 
@@ -2865,7 +2845,7 @@ till the end of the scope. If an @cite{Entity} argument is present,
 the action applies only to that entity.
 
 @node Pragma Dispatching_Domain,Pragma Effective_Reads,Pragma Disable_Atomic_Synchronization,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-dispatching-domain}@anchor{4b}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-dispatching-domain}@anchor{4a}
 @section Pragma Dispatching_Domain
 
 
@@ -2880,7 +2860,7 @@ versions of Ada as an implementation-defined pragma.
 See Ada 2012 Reference Manual for details.
 
 @node Pragma Effective_Reads,Pragma Effective_Writes,Pragma Dispatching_Domain,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-effective-reads}@anchor{4c}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-effective-reads}@anchor{4b}
 @section Pragma Effective_Reads
 
 
@@ -2888,7 +2868,7 @@ For the description of this pragma, see SPARK 2014 Reference Manual,
 section 7.1.2.
 
 @node Pragma Effective_Writes,Pragma Elaboration_Checks,Pragma Effective_Reads,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-effective-writes}@anchor{4d}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-effective-writes}@anchor{4c}
 @section Pragma Effective_Writes
 
 
@@ -2896,7 +2876,7 @@ For the description of this pragma, see SPARK 2014 Reference Manual,
 section 7.1.2.
 
 @node Pragma Elaboration_Checks,Pragma Eliminate,Pragma Effective_Writes,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-elaboration-checks}@anchor{4e}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-elaboration-checks}@anchor{4d}
 @section Pragma Elaboration_Checks
 
 
@@ -2921,7 +2901,7 @@ used by the GNAT compiler, see the chapter on elaboration order handling
 in the @emph{GNAT User's Guide}.
 
 @node Pragma Eliminate,Pragma Enable_Atomic_Synchronization,Pragma Elaboration_Checks,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-eliminate}@anchor{4f}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-eliminate}@anchor{4e}
 @section Pragma Eliminate
 
 
@@ -2999,7 +2979,7 @@ dispatch are considered to be unused (are never called as a result of a direct
 or a dispatching call).
 
 @node Pragma Enable_Atomic_Synchronization,Pragma Export_Function,Pragma Eliminate,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-enable-atomic-synchronization}@anchor{50}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-enable-atomic-synchronization}@anchor{4f}
 @section Pragma Enable_Atomic_Synchronization
 
 
@@ -3027,7 +3007,7 @@ till the end of the scope. If an @cite{Entity} argument is present,
 the action applies only to that entity.
 
 @node Pragma Export_Function,Pragma Export_Object,Pragma Enable_Atomic_Synchronization,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-export-function}@anchor{51}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-export-function}@anchor{50}
 @section Pragma Export_Function
 
 
@@ -3096,7 +3076,7 @@ string. In this case, no external name is generated. This form
 still allows the specification of parameter mechanisms.
 
 @node Pragma Export_Object,Pragma Export_Procedure,Pragma Export_Function,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-export-object}@anchor{52}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-export-object}@anchor{51}
 @section Pragma Export_Object
 
 
@@ -3121,7 +3101,7 @@ of portability), but it is not required.  @cite{Size} is syntax checked,
 but otherwise ignored by GNAT.
 
 @node Pragma Export_Procedure,Pragma Export_Value,Pragma Export_Object,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-export-procedure}@anchor{53}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-export-procedure}@anchor{52}
 @section Pragma Export_Procedure
 
 
@@ -3174,7 +3154,7 @@ string. In this case, no external name is generated. This form
 still allows the specification of parameter mechanisms.
 
 @node Pragma Export_Value,Pragma Export_Valued_Procedure,Pragma Export_Procedure,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-export-value}@anchor{54}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-export-value}@anchor{53}
 @section Pragma Export_Value
 
 
@@ -3195,7 +3175,7 @@ the application. This pragma is currently supported only for the
 AAMP target and is ignored for other targets.
 
 @node Pragma Export_Valued_Procedure,Pragma Extend_System,Pragma Export_Value,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-export-valued-procedure}@anchor{55}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-export-valued-procedure}@anchor{54}
 @section Pragma Export_Valued_Procedure
 
 
@@ -3253,7 +3233,7 @@ string. In this case, no external name is generated. This form
 still allows the specification of parameter mechanisms.
 
 @node Pragma Extend_System,Pragma Extensions_Allowed,Pragma Export_Valued_Procedure,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-extend-system}@anchor{56}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-extend-system}@anchor{55}
 @section Pragma Extend_System
 
 
@@ -3304,7 +3284,7 @@ for compiling System units, as explained in the
 GNAT User's Guide.
 
 @node Pragma Extensions_Allowed,Pragma External,Pragma Extend_System,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-extensions-allowed}@anchor{57}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-extensions-allowed}@anchor{56}
 @section Pragma Extensions_Allowed
 
 
@@ -3337,7 +3317,7 @@ is constrained.
 @end table
 
 @node Pragma External,Pragma External_Name_Casing,Pragma Extensions_Allowed,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-external}@anchor{58}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-external}@anchor{57}
 @section Pragma External
 
 
@@ -3358,7 +3338,7 @@ used this pragma for exactly the same purposes as pragma
 @cite{Export} before the latter was standardized.
 
 @node Pragma External_Name_Casing,Pragma Fast_Math,Pragma External,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-external-name-casing}@anchor{59}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-external-name-casing}@anchor{58}
 @section Pragma External_Name_Casing
 
 
@@ -3447,7 +3427,7 @@ pragma External_Name_Casing (Uppercase, Uppercase);
 to enforce the upper casing of all external symbols.
 
 @node Pragma Fast_Math,Pragma Favor_Top_Level,Pragma External_Name_Casing,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-fast-math}@anchor{5a}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-fast-math}@anchor{59}
 @section Pragma Fast_Math
 
 
@@ -3476,7 +3456,7 @@ under control of the pragma, rather than use the preinstantiated versions.
 @end table
 
 @node Pragma Favor_Top_Level,Pragma Finalize_Storage_Only,Pragma Fast_Math,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-favor-top-level}@anchor{5b}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-favor-top-level}@anchor{5a}
 @section Pragma Favor_Top_Level
 
 
@@ -3496,7 +3476,7 @@ trampolines may be used on some targets for nested subprograms.
 See also the No_Implicit_Dynamic_Code restriction.
 
 @node Pragma Finalize_Storage_Only,Pragma Float_Representation,Pragma Favor_Top_Level,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-finalize-storage-only}@anchor{5c}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-finalize-storage-only}@anchor{5b}
 @section Pragma Finalize_Storage_Only
 
 
@@ -3513,7 +3493,7 @@ environments it is not necessary to reclaim memory just before terminating
 execution, hence the name.
 
 @node Pragma Float_Representation,Pragma Global,Pragma Finalize_Storage_Only,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-float-representation}@anchor{5d}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-float-representation}@anchor{5c}
 @section Pragma Float_Representation
 
 
@@ -3548,7 +3528,7 @@ No other value of digits is permitted.
 @end itemize
 
 @node Pragma Global,Pragma Ident,Pragma Float_Representation,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-global}@anchor{5e}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-global}@anchor{5d}
 @section Pragma Global
 
 
@@ -3556,7 +3536,7 @@ For the description of this pragma, see SPARK 2014 Reference Manual,
 section 6.1.4.
 
 @node Pragma Ident,Pragma Ignore_Pragma,Pragma Global,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-ident}@anchor{5f}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-ident}@anchor{5e}
 @section Pragma Ident
 
 
@@ -3570,7 +3550,7 @@ This pragma is identical in effect to pragma @cite{Comment}. It is provided
 for compatibility with other Ada compilers providing this pragma.
 
 @node Pragma Ignore_Pragma,Pragma Implementation_Defined,Pragma Ident,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-ignore-pragma}@anchor{60}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-ignore-pragma}@anchor{5f}
 @section Pragma Ignore_Pragma
 
 
@@ -3590,7 +3570,7 @@ pragma allows such pragmas to be ignored, which may be useful in @cite{CodePeer}
 mode, or during porting of legacy code.
 
 @node Pragma Implementation_Defined,Pragma Implemented,Pragma Ignore_Pragma,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-implementation-defined}@anchor{61}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-implementation-defined}@anchor{60}
 @section Pragma Implementation_Defined
 
 
@@ -3617,7 +3597,7 @@ for the purpose of implementing the No_Implementation_Identifiers
 restriction.
 
 @node Pragma Implemented,Pragma Implicit_Packing,Pragma Implementation_Defined,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-implemented}@anchor{62}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-implemented}@anchor{61}
 @section Pragma Implemented
 
 
@@ -3663,7 +3643,7 @@ By_Any shares the behavior of By_Entry and By_Protected_Procedure depending on
 the target's overriding subprogram kind.
 
 @node Pragma Implicit_Packing,Pragma Import_Function,Pragma Implemented,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-implicit-packing}@anchor{63}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-implicit-packing}@anchor{62}
 @section Pragma Implicit_Packing
 
 
@@ -3717,7 +3697,7 @@ sufficient. The use of pragma Implicit_Packing allows this record
 declaration to compile without an explicit pragma Pack.
 
 @node Pragma Import_Function,Pragma Import_Object,Pragma Implicit_Packing,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-import-function}@anchor{64}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-import-function}@anchor{63}
 @section Pragma Import_Function
 
 
@@ -3782,7 +3762,7 @@ notation.  If the mechanism is not specified, the default mechanism
 is used.
 
 @node Pragma Import_Object,Pragma Import_Procedure,Pragma Import_Function,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-import-object}@anchor{65}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-import-object}@anchor{64}
 @section Pragma Import_Object
 
 
@@ -3808,7 +3788,7 @@ point of view).  @cite{size} is syntax checked, but otherwise ignored by
 GNAT.
 
 @node Pragma Import_Procedure,Pragma Import_Valued_Procedure,Pragma Import_Object,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-import-procedure}@anchor{66}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-import-procedure}@anchor{65}
 @section Pragma Import_Procedure
 
 
@@ -3848,7 +3828,7 @@ applies to a procedure rather than a function and the parameters
 @cite{Result_Type} and @cite{Result_Mechanism} are not permitted.
 
 @node Pragma Import_Valued_Procedure,Pragma Independent,Pragma Import_Procedure,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-import-valued-procedure}@anchor{67}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-import-valued-procedure}@anchor{66}
 @section Pragma Import_Valued_Procedure
 
 
@@ -3901,7 +3881,7 @@ pragma Import that specifies the desired convention, since otherwise the
 default convention is Ada, which is almost certainly not what is required.
 
 @node Pragma Independent,Pragma Independent_Components,Pragma Import_Valued_Procedure,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-independent}@anchor{68}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-independent}@anchor{67}
 @section Pragma Independent
 
 
@@ -3923,7 +3903,7 @@ constraints on the representation of the object (for instance prohibiting
 tight packing).
 
 @node Pragma Independent_Components,Pragma Initial_Condition,Pragma Independent,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-independent-components}@anchor{69}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-independent-components}@anchor{68}
 @section Pragma Independent_Components
 
 
@@ -3944,7 +3924,7 @@ constraints on the representation of the object (for instance prohibiting
 tight packing).
 
 @node Pragma Initial_Condition,Pragma Initialize_Scalars,Pragma Independent_Components,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-initial-condition}@anchor{6a}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-initial-condition}@anchor{69}
 @section Pragma Initial_Condition
 
 
@@ -3952,7 +3932,7 @@ For the description of this pragma, see SPARK 2014 Reference Manual,
 section 7.1.6.
 
 @node Pragma Initialize_Scalars,Pragma Initializes,Pragma Initial_Condition,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-initialize-scalars}@anchor{6b}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-initialize-scalars}@anchor{6a}
 @section Pragma Initialize_Scalars
 
 
@@ -4015,7 +3995,7 @@ checking (see description of stack checking in the GNAT
 User's Guide) when using this pragma.
 
 @node Pragma Initializes,Pragma Inline_Always,Pragma Initialize_Scalars,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-initializes}@anchor{6c}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-initializes}@anchor{6b}
 @section Pragma Initializes
 
 
@@ -4023,7 +4003,7 @@ For the description of this pragma, see SPARK 2014 Reference Manual,
 section 7.1.5.
 
 @node Pragma Inline_Always,Pragma Inline_Generic,Pragma Initializes,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-inline-always}@anchor{6d}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-inline-always}@anchor{6c}
 @section Pragma Inline_Always
 
 
@@ -4038,7 +4018,7 @@ the use of option @emph{-gnatn} or @emph{-gnatN} and the inlining
 happens regardless of whether these options are used.
 
 @node Pragma Inline_Generic,Pragma Interface,Pragma Inline_Always,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-inline-generic}@anchor{6e}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-inline-generic}@anchor{6d}
 @section Pragma Inline_Generic
 
 
@@ -4056,7 +4036,7 @@ than to check that the given names are all names of generic units or
 generic instances.
 
 @node Pragma Interface,Pragma Interface_Name,Pragma Inline_Generic,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-interface}@anchor{6f}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-interface}@anchor{6e}
 @section Pragma Interface
 
 
@@ -4083,7 +4063,7 @@ maintaining Ada 83/Ada 95 compatibility and is compatible with other
 Ada 83 compilers.
 
 @node Pragma Interface_Name,Pragma Interrupt_Handler,Pragma Interface,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-interface-name}@anchor{70}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-interface-name}@anchor{6f}
 @section Pragma Interface_Name
 
 
@@ -4102,7 +4082,7 @@ for an interfaced subprogram, and is provided for compatibility with Ada
 least one of @cite{External_Name} or @cite{Link_Name}.
 
 @node Pragma Interrupt_Handler,Pragma Interrupt_State,Pragma Interface_Name,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-interrupt-handler}@anchor{71}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-interrupt-handler}@anchor{70}
 @section Pragma Interrupt_Handler
 
 
@@ -4122,7 +4102,7 @@ when this pragma is applied to a nonprotected procedure, the instruction
 maskable interrupts, in place of the normal return instruction.
 
 @node Pragma Interrupt_State,Pragma Invariant,Pragma Interrupt_Handler,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-interrupt-state}@anchor{72}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-interrupt-state}@anchor{71}
 @section Pragma Interrupt_State
 
 
@@ -4204,8 +4184,8 @@ Overriding the default state of signals used by the Ada runtime may interfere
 with an application's runtime behavior in the cases of the synchronous signals,
 and in the case of the signal used to implement the @cite{abort} statement.
 
-@node Pragma Invariant,Pragma Java_Constructor,Pragma Interrupt_State,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-invariant}@anchor{73}
+@node Pragma Invariant,Pragma Keep_Names,Pragma Interrupt_State,Implementation Defined Pragmas
+@anchor{gnat_rm/implementation_defined_pragmas pragma-invariant}@anchor{72}
 @section Pragma Invariant
 
 
@@ -4243,44 +4223,8 @@ invariant pragma for the same entity.
 For further details on the use of this pragma, see the Ada 2012 documentation
 of the Type_Invariant aspect.
 
-@node Pragma Java_Constructor,Pragma Java_Interface,Pragma Invariant,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-java-constructor}@anchor{74}
-@section Pragma Java_Constructor
-
-
-Syntax:
-
-@example
-pragma Java_Constructor ([Entity =>] function_LOCAL_NAME);
-@end example
-
-This pragma is used to assert that the specified Ada function should be
-mapped to the Java constructor for some Ada tagged record type.
-
-See section 7.3.2 of the
-@cite{GNAT User's Guide: Supplement for the JVM Platform.}
-for related information.
-
-@node Pragma Java_Interface,Pragma Keep_Names,Pragma Java_Constructor,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-java-interface}@anchor{75}
-@section Pragma Java_Interface
-
-
-Syntax:
-
-@example
-pragma Java_Interface ([Entity =>] abstract_tagged_type_LOCAL_NAME);
-@end example
-
-This pragma is used to assert that the specified Ada abstract tagged type
-is to be mapped to a Java interface name.
-
-See sections 7.1 and 7.2 of the
-@cite{GNAT User's Guide: Supplement for the JVM Platform.}
-for related information.
-
-@node Pragma Keep_Names,Pragma License,Pragma Java_Interface,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-keep-names}@anchor{76}
+@node Pragma Keep_Names,Pragma License,Pragma Invariant,Implementation Defined Pragmas
+@anchor{gnat_rm/implementation_defined_pragmas pragma-keep-names}@anchor{73}
 @section Pragma Keep_Names
 
 
@@ -4300,7 +4244,7 @@ use a @cite{Discard_Names} pragma in the @code{gnat.adc} file, but you
 want to retain the names for specific enumeration types.
 
 @node Pragma License,Pragma Link_With,Pragma Keep_Names,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-license}@anchor{77}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-license}@anchor{74}
 @section Pragma License
 
 
@@ -4395,7 +4339,7 @@ GPL, but no warning for @cite{GNAT.Sockets} which is part of the GNAT
 run time, and is therefore licensed under the modified GPL.
 
 @node Pragma Link_With,Pragma Linker_Alias,Pragma License,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-link-with}@anchor{78}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-link-with}@anchor{75}
 @section Pragma Link_With
 
 
@@ -4419,7 +4363,7 @@ separate arguments to the linker. In addition pragma Link_With allows
 multiple arguments, with the same effect as successive pragmas.
 
 @node Pragma Linker_Alias,Pragma Linker_Constructor,Pragma Link_With,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-linker-alias}@anchor{79}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-linker-alias}@anchor{76}
 @section Pragma Linker_Alias
 
 
@@ -4460,7 +4404,7 @@ end p;
 @end example
 
 @node Pragma Linker_Constructor,Pragma Linker_Destructor,Pragma Linker_Alias,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-linker-constructor}@anchor{7a}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-linker-constructor}@anchor{77}
 @section Pragma Linker_Constructor
 
 
@@ -4490,7 +4434,7 @@ listed above. Where possible, the use of Stand Alone Libraries is preferable
 to the use of this pragma.
 
 @node Pragma Linker_Destructor,Pragma Linker_Section,Pragma Linker_Constructor,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-linker-destructor}@anchor{7b}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-linker-destructor}@anchor{78}
 @section Pragma Linker_Destructor
 
 
@@ -4513,7 +4457,7 @@ See @cite{pragma Linker_Constructor} for the set of restrictions that apply
 because of these specific contexts.
 
 @node Pragma Linker_Section,Pragma Lock_Free,Pragma Linker_Destructor,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-linker-section}@anchor{7c}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-linker-section}@anchor{79}
 @section Pragma Linker_Section
 
 
@@ -4587,7 +4531,7 @@ end IO_Card;
 @end example
 
 @node Pragma Lock_Free,Pragma Loop_Invariant,Pragma Linker_Section,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-lock-free}@anchor{7d}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-lock-free}@anchor{7a}
 @section Pragma Lock_Free
 
 
@@ -4598,7 +4542,7 @@ Compilation fails if the compiler cannot generate lock-free code for the
 operations.
 
 @node Pragma Loop_Invariant,Pragma Loop_Optimize,Pragma Lock_Free,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-loop-invariant}@anchor{7e}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-loop-invariant}@anchor{7b}
 @section Pragma Loop_Invariant
 
 
@@ -4631,7 +4575,7 @@ attribute can only be used within the expression of a @cite{Loop_Invariant}
 pragma. For full details, see documentation of attribute @cite{Loop_Entry}.
 
 @node Pragma Loop_Optimize,Pragma Loop_Variant,Pragma Loop_Invariant,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-loop-optimize}@anchor{7f}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-loop-optimize}@anchor{7c}
 @section Pragma Loop_Optimize
 
 
@@ -4693,7 +4637,7 @@ compiler in order to enable the relevant optimizations, that is to say
 vectorization.
 
 @node Pragma Loop_Variant,Pragma Machine_Attribute,Pragma Loop_Optimize,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-loop-variant}@anchor{80}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-loop-variant}@anchor{7d}
 @section Pragma Loop_Variant
 
 
@@ -4740,7 +4684,7 @@ The @cite{Loop_Entry} attribute may be used within the expressions of the
 @cite{Loop_Variant} pragma to refer to values on entry to the loop.
 
 @node Pragma Machine_Attribute,Pragma Main,Pragma Loop_Variant,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-machine-attribute}@anchor{81}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-machine-attribute}@anchor{7e}
 @section Pragma Machine_Attribute
 
 
@@ -4765,7 +4709,7 @@ for some attributes.
 For further information see @cite{GNU Compiler Collection (GCC) Internals}.
 
 @node Pragma Main,Pragma Main_Storage,Pragma Machine_Attribute,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-main}@anchor{82}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-main}@anchor{7f}
 @section Pragma Main
 
 
@@ -4785,7 +4729,7 @@ This pragma is provided for compatibility with OpenVMS VAX Systems.  It has
 no effect in GNAT, other than being syntax checked.
 
 @node Pragma Main_Storage,Pragma No_Body,Pragma Main,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-main-storage}@anchor{83}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-main-storage}@anchor{80}
 @section Pragma Main_Storage
 
 
@@ -4804,7 +4748,7 @@ This pragma is provided for compatibility with OpenVMS VAX Systems.  It has
 no effect in GNAT, other than being syntax checked.
 
 @node Pragma No_Body,Pragma No_Elaboration_Code_All,Pragma Main_Storage,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-no-body}@anchor{84}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-no-body}@anchor{81}
 @section Pragma No_Body
 
 
@@ -4827,7 +4771,7 @@ dummy body with a No_Body pragma ensures that there is no interference from
 earlier versions of the package body.
 
 @node Pragma No_Elaboration_Code_All,Pragma No_Inline,Pragma No_Body,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-no-elaboration-code-all}@anchor{85}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-no-elaboration-code-all}@anchor{82}
 @section Pragma No_Elaboration_Code_All
 
 
@@ -4846,7 +4790,7 @@ current unit, it must also have the No_Elaboration_Code_All aspect set.
 It may be applied to package or subprogram specs or their generic versions.
 
 @node Pragma No_Inline,Pragma No_Return,Pragma No_Elaboration_Code_All,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-no-inline}@anchor{86}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-no-inline}@anchor{83}
 @section Pragma No_Inline
 
 
@@ -4864,7 +4808,7 @@ in particular it is not subject to the use of option @emph{-gnatn} or
 pragma @cite{Inline_Always} for the same @cite{NAME}.
 
 @node Pragma No_Return,Pragma No_Run_Time,Pragma No_Inline,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-no-return}@anchor{87}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-no-return}@anchor{84}
 @section Pragma No_Return
 
 
@@ -4891,7 +4835,7 @@ available in all earlier versions of Ada as an implementation-defined
 pragma.
 
 @node Pragma No_Run_Time,Pragma No_Strict_Aliasing,Pragma No_Return,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-no-run-time}@anchor{88}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-no-run-time}@anchor{85}
 @section Pragma No_Run_Time
 
 
@@ -4907,7 +4851,7 @@ internal testing. The pragma has been superseded by the reconfigurable
 runtime capability of @cite{GNAT}.
 
 @node Pragma No_Strict_Aliasing,Pragma No_Tagged_Streams,Pragma No_Run_Time,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-no-strict-aliasing}@anchor{89}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-no-strict-aliasing}@anchor{86}
 @section Pragma No_Strict_Aliasing
 
 
@@ -4929,7 +4873,7 @@ in the @cite{GNAT User's Guide}.
 This pragma currently has no effects on access to unconstrained array types.
 
 @node Pragma No_Tagged_Streams,Pragma Normalize_Scalars,Pragma No_Strict_Aliasing,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-no-tagged-streams}@anchor{8a}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-no-tagged-streams}@anchor{87}
 @section Pragma No_Tagged_Streams
 
 
@@ -4964,7 +4908,7 @@ applies to a complete hierarchy (this is necessary to deal with the class-wide
 dispatching versions of the stream routines).
 
 @node Pragma Normalize_Scalars,Pragma Obsolescent,Pragma No_Tagged_Streams,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-normalize-scalars}@anchor{8b}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-normalize-scalars}@anchor{88}
 @section Pragma Normalize_Scalars
 
 
@@ -5046,7 +4990,7 @@ will always generate an invalid value if one exists.
 @end table
 
 @node Pragma Obsolescent,Pragma Optimize_Alignment,Pragma Normalize_Scalars,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-obsolescent}@anchor{8c}@anchor{gnat_rm/implementation_defined_pragmas id2}@anchor{8d}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-obsolescent}@anchor{89}@anchor{gnat_rm/implementation_defined_pragmas id2}@anchor{8a}
 @section Pragma Obsolescent
 
 
@@ -5142,7 +5086,7 @@ So if you specify "Entity =>" for the Entity argument, and a Message
 argument is present, it must be preceded by "Message =>".
 
 @node Pragma Optimize_Alignment,Pragma Ordered,Pragma Obsolescent,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-optimize-alignment}@anchor{8e}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-optimize-alignment}@anchor{8b}
 @section Pragma Optimize_Alignment
 
 
@@ -5225,7 +5169,7 @@ latter are compiled by default in pragma Optimize_Alignment (Off) mode if no
 pragma appears at the start of the file.
 
 @node Pragma Ordered,Pragma Overflow_Mode,Pragma Optimize_Alignment,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-ordered}@anchor{8f}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-ordered}@anchor{8c}
 @section Pragma Ordered
 
 
@@ -5317,7 +5261,7 @@ For additional information please refer to the description of the
 @emph{-gnatw.u} switch in the GNAT User's Guide.
 
 @node Pragma Overflow_Mode,Pragma Overriding_Renamings,Pragma Ordered,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-overflow-mode}@anchor{90}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-overflow-mode}@anchor{8d}
 @section Pragma Overflow_Mode
 
 
@@ -5356,7 +5300,7 @@ The pragma @cite{Unsuppress (Overflow_Check)} unsuppresses (enables)
 overflow checking, but does not affect the overflow mode.
 
 @node Pragma Overriding_Renamings,Pragma Partition_Elaboration_Policy,Pragma Overflow_Mode,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-overriding-renamings}@anchor{91}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-overriding-renamings}@anchor{8e}
 @section Pragma Overriding_Renamings
 
 
@@ -5391,7 +5335,7 @@ RM 8.3 (15) stipulates that an overridden operation is not visible within the
 declaration of the overriding operation.
 
 @node Pragma Partition_Elaboration_Policy,Pragma Part_Of,Pragma Overriding_Renamings,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-partition-elaboration-policy}@anchor{92}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-partition-elaboration-policy}@anchor{8f}
 @section Pragma Partition_Elaboration_Policy
 
 
@@ -5408,7 +5352,7 @@ versions of Ada as an implementation-defined pragma.
 See Ada 2012 Reference Manual for details.
 
 @node Pragma Part_Of,Pragma Passive,Pragma Partition_Elaboration_Policy,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-part-of}@anchor{93}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-part-of}@anchor{90}
 @section Pragma Part_Of
 
 
@@ -5416,7 +5360,7 @@ For the description of this pragma, see SPARK 2014 Reference Manual,
 section 7.2.6.
 
 @node Pragma Passive,Pragma Persistent_BSS,Pragma Part_Of,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-passive}@anchor{94}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-passive}@anchor{91}
 @section Pragma Passive
 
 
@@ -5440,7 +5384,7 @@ For more information on the subject of passive tasks, see the section
 'Passive Task Optimization' in the GNAT Users Guide.
 
 @node Pragma Persistent_BSS,Pragma Polling,Pragma Passive,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-persistent-bss}@anchor{95}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-persistent-bss}@anchor{92}
 @section Pragma Persistent_BSS
 
 
@@ -5471,7 +5415,7 @@ If this pragma is used on a target where this feature is not supported,
 then the pragma will be ignored. See also @cite{pragma Linker_Section}.
 
 @node Pragma Polling,Pragma Post,Pragma Persistent_BSS,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-polling}@anchor{96}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-polling}@anchor{93}
 @section Pragma Polling
 
 
@@ -5513,7 +5457,7 @@ Note that polling can also be enabled by use of the @emph{-gnatP} switch.
 See the section on switches for gcc in the @cite{GNAT User's Guide}.
 
 @node Pragma Post,Pragma Postcondition,Pragma Polling,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-post}@anchor{97}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-post}@anchor{94}
 @section Pragma Post
 
 
@@ -5538,7 +5482,7 @@ appear at the start of the declarations in a subprogram body
 (preceded only by other pragmas).
 
 @node Pragma Postcondition,Pragma Post_Class,Pragma Post,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-postcondition}@anchor{98}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-postcondition}@anchor{95}
 @section Pragma Postcondition
 
 
@@ -5703,7 +5647,7 @@ Ada 2012, and has been retained in its original form for
 compatibility purposes.
 
 @node Pragma Post_Class,Pragma Pre,Pragma Postcondition,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-post-class}@anchor{99}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-post-class}@anchor{96}
 @section Pragma Post_Class
 
 
@@ -5738,7 +5682,7 @@ policy that controls this pragma is @cite{Post'Class}, not
 @cite{Post_Class}.
 
 @node Pragma Pre,Pragma Precondition,Pragma Post_Class,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-pre}@anchor{9a}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-pre}@anchor{97}
 @section Pragma Pre
 
 
@@ -5763,7 +5707,7 @@ appear at the start of the declarations in a subprogram body
 (preceded only by other pragmas).
 
 @node Pragma Precondition,Pragma Predicate,Pragma Pre,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-precondition}@anchor{9b}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-precondition}@anchor{98}
 @section Pragma Precondition
 
 
@@ -5822,7 +5766,7 @@ Ada 2012, and has been retained in its original form for
 compatibility purposes.
 
 @node Pragma Predicate,Pragma Preelaborable_Initialization,Pragma Precondition,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-predicate}@anchor{9c}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-predicate}@anchor{99}
 @section Pragma Predicate
 
 
@@ -5876,7 +5820,7 @@ defined for subtype B). When following this approach, the
 use of predicates should be avoided.
 
 @node Pragma Preelaborable_Initialization,Pragma Prefix_Exception_Messages,Pragma Predicate,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-preelaborable-initialization}@anchor{9d}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-preelaborable-initialization}@anchor{9a}
 @section Pragma Preelaborable_Initialization
 
 
@@ -5891,7 +5835,7 @@ versions of Ada as an implementation-defined pragma.
 See Ada 2012 Reference Manual for details.
 
 @node Pragma Prefix_Exception_Messages,Pragma Pre_Class,Pragma Preelaborable_Initialization,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-prefix-exception-messages}@anchor{9e}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-prefix-exception-messages}@anchor{9b}
 @section Pragma Prefix_Exception_Messages
 
 
@@ -5922,7 +5866,7 @@ prefixing in this case, you can always call
 @cite{GNAT.Source_Info.Enclosing_Entity} and prepend the string manually.
 
 @node Pragma Pre_Class,Pragma Priority_Specific_Dispatching,Pragma Prefix_Exception_Messages,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-pre-class}@anchor{9f}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-pre-class}@anchor{9c}
 @section Pragma Pre_Class
 
 
@@ -5957,7 +5901,7 @@ policy that controls this pragma is @cite{Pre'Class}, not
 @cite{Pre_Class}.
 
 @node Pragma Priority_Specific_Dispatching,Pragma Profile,Pragma Pre_Class,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-priority-specific-dispatching}@anchor{a0}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-priority-specific-dispatching}@anchor{9d}
 @section Pragma Priority_Specific_Dispatching
 
 
@@ -5981,7 +5925,7 @@ versions of Ada as an implementation-defined pragma.
 See Ada 2012 Reference Manual for details.
 
 @node Pragma Profile,Pragma Profile_Warnings,Pragma Priority_Specific_Dispatching,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-profile}@anchor{a1}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-profile}@anchor{9e}
 @section Pragma Profile
 
 
@@ -6229,7 +6173,7 @@ conforming Ada constructs.  The profile enables the following three pragmas:
 @end itemize
 
 @node Pragma Profile_Warnings,Pragma Propagate_Exceptions,Pragma Profile,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-profile-warnings}@anchor{a2}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-profile-warnings}@anchor{9f}
 @section Pragma Profile_Warnings
 
 
@@ -6247,7 +6191,7 @@ violations of the profile generate warning messages instead
 of error messages.
 
 @node Pragma Propagate_Exceptions,Pragma Provide_Shift_Operators,Pragma Profile_Warnings,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-propagate-exceptions}@anchor{a3}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-propagate-exceptions}@anchor{a0}
 @section Pragma Propagate_Exceptions
 
 
@@ -6266,7 +6210,7 @@ purposes. It used to be used in connection with optimization of
 a now-obsolete mechanism for implementation of exceptions.
 
 @node Pragma Provide_Shift_Operators,Pragma Psect_Object,Pragma Propagate_Exceptions,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-provide-shift-operators}@anchor{a4}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-provide-shift-operators}@anchor{a1}
 @section Pragma Provide_Shift_Operators
 
 
@@ -6286,7 +6230,7 @@ including the function declarations for these five operators, together
 with the pragma Import (Intrinsic, ...) statements.
 
 @node Pragma Psect_Object,Pragma Pure_Function,Pragma Provide_Shift_Operators,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-psect-object}@anchor{a5}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-psect-object}@anchor{a2}
 @section Pragma Psect_Object
 
 
@@ -6306,7 +6250,7 @@ EXTERNAL_SYMBOL ::=
 This pragma is identical in effect to pragma @cite{Common_Object}.
 
 @node Pragma Pure_Function,Pragma Rational,Pragma Psect_Object,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-pure-function}@anchor{a6}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-pure-function}@anchor{a3}
 @section Pragma Pure_Function
 
 
@@ -6368,7 +6312,7 @@ unit is not a Pure unit in the categorization sense. So for example, a function
 thus marked is free to @cite{with} non-pure units.
 
 @node Pragma Rational,Pragma Ravenscar,Pragma Pure_Function,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-rational}@anchor{a7}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-rational}@anchor{a4}
 @section Pragma Rational
 
 
@@ -6386,7 +6330,7 @@ pragma Profile (Rational);
 @end example
 
 @node Pragma Ravenscar,Pragma Refined_Depends,Pragma Rational,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-ravenscar}@anchor{a8}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-ravenscar}@anchor{a5}
 @section Pragma Ravenscar
 
 
@@ -6406,7 +6350,7 @@ pragma Profile (Ravenscar);
 which is the preferred method of setting the @cite{Ravenscar} profile.
 
 @node Pragma Refined_Depends,Pragma Refined_Global,Pragma Ravenscar,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-refined-depends}@anchor{a9}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-refined-depends}@anchor{a6}
 @section Pragma Refined_Depends
 
 
@@ -6414,7 +6358,7 @@ For the description of this pragma, see SPARK 2014 Reference Manual,
 section 6.1.5.
 
 @node Pragma Refined_Global,Pragma Refined_Post,Pragma Refined_Depends,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-refined-global}@anchor{aa}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-refined-global}@anchor{a7}
 @section Pragma Refined_Global
 
 
@@ -6422,7 +6366,7 @@ For the description of this pragma, see SPARK 2014 Reference Manual,
 section 6.1.4.
 
 @node Pragma Refined_Post,Pragma Refined_State,Pragma Refined_Global,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-refined-post}@anchor{ab}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-refined-post}@anchor{a8}
 @section Pragma Refined_Post
 
 
@@ -6430,7 +6374,7 @@ For the description of this pragma, see SPARK 2014 Reference Manual,
 section 7.2.7.
 
 @node Pragma Refined_State,Pragma Relative_Deadline,Pragma Refined_Post,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-refined-state}@anchor{ac}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-refined-state}@anchor{a9}
 @section Pragma Refined_State
 
 
@@ -6438,7 +6382,7 @@ For the description of this pragma, see SPARK 2014 Reference Manual,
 section 7.2.2.
 
 @node Pragma Relative_Deadline,Pragma Remote_Access_Type,Pragma Refined_State,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-relative-deadline}@anchor{ad}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-relative-deadline}@anchor{aa}
 @section Pragma Relative_Deadline
 
 
@@ -6453,7 +6397,7 @@ versions of Ada as an implementation-defined pragma.
 See Ada 2012 Reference Manual for details.
 
 @node Pragma Remote_Access_Type,Pragma Restricted_Run_Time,Pragma Relative_Deadline,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-remote-access-type}@anchor{ae}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-remote-access-type}@anchor{ab}
 @section Pragma Remote_Access_Type
 
 
@@ -6479,7 +6423,7 @@ pertaining to remote access to class-wide types. At instantiation, the
 actual type must be a remote access to class-wide type.
 
 @node Pragma Restricted_Run_Time,Pragma Restriction_Warnings,Pragma Remote_Access_Type,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-restricted-run-time}@anchor{af}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-restricted-run-time}@anchor{ac}
 @section Pragma Restricted_Run_Time
 
 
@@ -6500,7 +6444,7 @@ which is the preferred method of setting the restricted run time
 profile.
 
 @node Pragma Restriction_Warnings,Pragma Reviewable,Pragma Restricted_Run_Time,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-restriction-warnings}@anchor{b0}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-restriction-warnings}@anchor{ad}
 @section Pragma Restriction_Warnings
 
 
@@ -6538,7 +6482,7 @@ generating a warning, but any other use of implementation
 defined pragmas will cause a warning to be generated.
 
 @node Pragma Reviewable,Pragma Share_Generic,Pragma Restriction_Warnings,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-reviewable}@anchor{b1}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-reviewable}@anchor{ae}
 @section Pragma Reviewable
 
 
@@ -6642,7 +6586,7 @@ comprehensive messages identifying possible problems based on this
 information.
 
 @node Pragma Share_Generic,Pragma Shared,Pragma Reviewable,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-share-generic}@anchor{b2}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-share-generic}@anchor{af}
 @section Pragma Share_Generic
 
 
@@ -6660,7 +6604,7 @@ than to check that the given names are all names of generic units or
 generic instances.
 
 @node Pragma Shared,Pragma Short_Circuit_And_Or,Pragma Share_Generic,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-shared}@anchor{b3}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-shared}@anchor{b0}
 @section Pragma Shared
 
 
@@ -6668,7 +6612,7 @@ This pragma is provided for compatibility with Ada 83. The syntax and
 semantics are identical to pragma Atomic.
 
 @node Pragma Short_Circuit_And_Or,Pragma Short_Descriptors,Pragma Shared,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-short-circuit-and-or}@anchor{b4}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-short-circuit-and-or}@anchor{b1}
 @section Pragma Short_Circuit_And_Or
 
 
@@ -6687,7 +6631,7 @@ within the file being compiled, it applies only to the file being compiled.
 There is no requirement that all units in a partition use this option.
 
 @node Pragma Short_Descriptors,Pragma Simple_Storage_Pool_Type,Pragma Short_Circuit_And_Or,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-short-descriptors}@anchor{b5}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-short-descriptors}@anchor{b2}
 @section Pragma Short_Descriptors
 
 
@@ -6701,7 +6645,7 @@ This pragma is provided for compatibility with other Ada implementations. It
 is recognized but ignored by all current versions of GNAT.
 
 @node Pragma Simple_Storage_Pool_Type,Pragma Source_File_Name,Pragma Short_Descriptors,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-simple-storage-pool-type}@anchor{b6}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-simple-storage-pool-type}@anchor{b3}
 @section Pragma Simple_Storage_Pool_Type
 
 
@@ -6755,7 +6699,7 @@ storage-management discipline).
 
 An object of a simple storage pool type can be associated with an access
 type by specifying the attribute
-@ref{b7,,Simple_Storage_Pool}. For example:
+@ref{b4,,Simple_Storage_Pool}. For example:
 
 @example
 My_Pool : My_Simple_Storage_Pool_Type;
@@ -6765,11 +6709,11 @@ type Acc is access My_Data_Type;
 for Acc'Simple_Storage_Pool use My_Pool;
 @end example
 
-See attribute @ref{b7,,Simple_Storage_Pool}
+See attribute @ref{b4,,Simple_Storage_Pool}
 for further details.
 
 @node Pragma Source_File_Name,Pragma Source_File_Name_Project,Pragma Simple_Storage_Pool_Type,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-source-file-name}@anchor{b8}@anchor{gnat_rm/implementation_defined_pragmas id3}@anchor{b9}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-source-file-name}@anchor{b5}@anchor{gnat_rm/implementation_defined_pragmas id3}@anchor{b6}
 @section Pragma Source_File_Name
 
 
@@ -6861,19 +6805,19 @@ aware of these pragmas, and so other tools that use the projet file would not
 be aware of the intended naming conventions. If you are using project files,
 file naming is controlled by Source_File_Name_Project pragmas, which are
 usually supplied automatically by the project manager. A pragma
-Source_File_Name cannot appear after a @ref{ba,,Pragma Source_File_Name_Project}.
+Source_File_Name cannot appear after a @ref{b7,,Pragma Source_File_Name_Project}.
 
 For more details on the use of the @cite{Source_File_Name} pragma, see the
 sections on @cite{Using Other File Names} and @cite{Alternative File Naming Schemes' in the :title:`GNAT User's Guide}.
 
 @node Pragma Source_File_Name_Project,Pragma Source_Reference,Pragma Source_File_Name,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas id4}@anchor{bb}@anchor{gnat_rm/implementation_defined_pragmas pragma-source-file-name-project}@anchor{ba}
+@anchor{gnat_rm/implementation_defined_pragmas id4}@anchor{b8}@anchor{gnat_rm/implementation_defined_pragmas pragma-source-file-name-project}@anchor{b7}
 @section Pragma Source_File_Name_Project
 
 
 This pragma has the same syntax and semantics as pragma Source_File_Name.
 It is only allowed as a stand alone configuration pragma.
-It cannot appear after a @ref{b8,,Pragma Source_File_Name}, and
+It cannot appear after a @ref{b5,,Pragma Source_File_Name}, and
 most importantly, once pragma Source_File_Name_Project appears,
 no further Source_File_Name pragmas are allowed.
 
@@ -6885,7 +6829,7 @@ Source_File_Name or Source_File_Name_Project pragmas (which would not be
 known to the project manager).
 
 @node Pragma Source_Reference,Pragma SPARK_Mode,Pragma Source_File_Name_Project,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-source-reference}@anchor{bc}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-source-reference}@anchor{b9}
 @section Pragma Source_Reference
 
 
@@ -6909,7 +6853,7 @@ string expression other than a string literal.  This is because its value
 is needed for error messages issued by all phases of the compiler.
 
 @node Pragma SPARK_Mode,Pragma Static_Elaboration_Desired,Pragma Source_Reference,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-spark-mode}@anchor{bd}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-spark-mode}@anchor{ba}
 @section Pragma SPARK_Mode
 
 
@@ -6991,7 +6935,7 @@ SPARK_Mode (@cite{Off}), then that pragma will need to be repeated in
 the package body.
 
 @node Pragma Static_Elaboration_Desired,Pragma Stream_Convert,Pragma SPARK_Mode,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-static-elaboration-desired}@anchor{be}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-static-elaboration-desired}@anchor{bb}
 @section Pragma Static_Elaboration_Desired
 
 
@@ -7015,7 +6959,7 @@ construction of larger aggregates with static components that include an others
 choice.)
 
 @node Pragma Stream_Convert,Pragma Style_Checks,Pragma Static_Elaboration_Desired,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-stream-convert}@anchor{bf}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-stream-convert}@anchor{bc}
 @section Pragma Stream_Convert
 
 
@@ -7092,7 +7036,7 @@ the pragma is silently ignored, and the default implementation of the stream
 attributes is used instead.
 
 @node Pragma Style_Checks,Pragma Subtitle,Pragma Stream_Convert,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-style-checks}@anchor{c0}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-style-checks}@anchor{bd}
 @section Pragma Style_Checks
 
 
@@ -7165,7 +7109,7 @@ Rf2 : Integer := ARG;      -- OK, no error
 @end example
 
 @node Pragma Subtitle,Pragma Suppress,Pragma Style_Checks,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-subtitle}@anchor{c1}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-subtitle}@anchor{be}
 @section Pragma Subtitle
 
 
@@ -7179,7 +7123,7 @@ This pragma is recognized for compatibility with other Ada compilers
 but is ignored by GNAT.
 
 @node Pragma Suppress,Pragma Suppress_All,Pragma Subtitle,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-suppress}@anchor{c2}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-suppress}@anchor{bf}
 @section Pragma Suppress
 
 
@@ -7214,6 +7158,13 @@ that use such variables for synchronization purposes.
 @cite{Duplicated_Tag_Check} Can be used to suppress the check that is generated
 for a duplicated tag value when a tagged type is declared.
 
+@item 
+@cite{Container_Checks} Can be used to suppress all checks within Ada.Containers
+and instances of its children, including Tampering_Check.
+
+@item 
+@cite{Tampering_Check} Can be used to suppress tampering check in the containers.
+
 @item 
 @cite{Predicate_Check} can be used to control whether predicate checks are
 active. It is applicable only to predicates for which the policy is
@@ -7245,7 +7196,7 @@ Of course, run-time checks are omitted whenever the compiler can prove
 that they will not fail, whether or not checks are suppressed.
 
 @node Pragma Suppress_All,Pragma Suppress_Debug_Info,Pragma Suppress,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-suppress-all}@anchor{c3}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-suppress-all}@anchor{c0}
 @section Pragma Suppress_All
 
 
@@ -7264,7 +7215,7 @@ The use of the standard Ada pragma @cite{Suppress (All_Checks)}
 as a normal configuration pragma is the preferred usage in GNAT.
 
 @node Pragma Suppress_Debug_Info,Pragma Suppress_Exception_Locations,Pragma Suppress_All,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-suppress-debug-info}@anchor{c4}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-suppress-debug-info}@anchor{c1}
 @section Pragma Suppress_Debug_Info
 
 
@@ -7279,7 +7230,7 @@ for the specified entity. It is intended primarily for use in debugging
 the debugger, and navigating around debugger problems.
 
 @node Pragma Suppress_Exception_Locations,Pragma Suppress_Initialization,Pragma Suppress_Debug_Info,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-suppress-exception-locations}@anchor{c5}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-suppress-exception-locations}@anchor{c2}
 @section Pragma Suppress_Exception_Locations
 
 
@@ -7302,7 +7253,7 @@ a partition, so it is fine to have some units within a partition compiled
 with this pragma and others compiled in normal mode without it.
 
 @node Pragma Suppress_Initialization,Pragma Task_Name,Pragma Suppress_Exception_Locations,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-suppress-initialization}@anchor{c6}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-suppress-initialization}@anchor{c3}
 @section Pragma Suppress_Initialization
 
 
@@ -7347,7 +7298,7 @@ is suppressed, just as though its subtype had been given in a pragma
 Suppress_Initialization, as described above.
 
 @node Pragma Task_Name,Pragma Task_Storage,Pragma Suppress_Initialization,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-task-name}@anchor{c7}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-task-name}@anchor{c4}
 @section Pragma Task_Name
 
 
@@ -7403,7 +7354,7 @@ end;
 @end example
 
 @node Pragma Task_Storage,Pragma Test_Case,Pragma Task_Name,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-task-storage}@anchor{c8}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-task-storage}@anchor{c5}
 @section Pragma Task_Storage
 
 
@@ -7423,7 +7374,7 @@ created, depending on the target.  This pragma can appear anywhere a
 type.
 
 @node Pragma Test_Case,Pragma Thread_Local_Storage,Pragma Task_Storage,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-test-case}@anchor{c9}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-test-case}@anchor{c6}
 @section Pragma Test_Case
 
 
@@ -7479,7 +7430,7 @@ postcondition. Mode @cite{Robustness} indicates that the precondition and
 postcondition of the subprogram should be ignored for this test case.
 
 @node Pragma Thread_Local_Storage,Pragma Time_Slice,Pragma Test_Case,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-thread-local-storage}@anchor{ca}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-thread-local-storage}@anchor{c7}
 @section Pragma Thread_Local_Storage
 
 
@@ -7513,7 +7464,7 @@ If this pragma is used on a system where @cite{TLS} is not supported,
 then an error message will be generated and the program will be rejected.
 
 @node Pragma Time_Slice,Pragma Title,Pragma Thread_Local_Storage,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-time-slice}@anchor{cb}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-time-slice}@anchor{c8}
 @section Pragma Time_Slice
 
 
@@ -7529,7 +7480,7 @@ It is ignored if it is used in a system that does not allow this control,
 or if it appears in other than the main program unit.
 
 @node Pragma Title,Pragma Type_Invariant,Pragma Time_Slice,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-title}@anchor{cc}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-title}@anchor{c9}
 @section Pragma Title
 
 
@@ -7554,7 +7505,7 @@ notation is used, and named and positional notation can be mixed
 following the normal rules for procedure calls in Ada.
 
 @node Pragma Type_Invariant,Pragma Type_Invariant_Class,Pragma Title,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-type-invariant}@anchor{cd}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-type-invariant}@anchor{ca}
 @section Pragma Type_Invariant
 
 
@@ -7575,7 +7526,7 @@ controlled by the assertion identifier @cite{Type_Invariant}
 rather than @cite{Invariant}.
 
 @node Pragma Type_Invariant_Class,Pragma Unchecked_Union,Pragma Type_Invariant,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-type-invariant-class}@anchor{ce}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-type-invariant-class}@anchor{cb}
 @section Pragma Type_Invariant_Class
 
 
@@ -7602,7 +7553,7 @@ policy that controls this pragma is @cite{Type_Invariant'Class},
 not @cite{Type_Invariant_Class}.
 
 @node Pragma Unchecked_Union,Pragma Unevaluated_Use_Of_Old,Pragma Type_Invariant_Class,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-unchecked-union}@anchor{cf}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-unchecked-union}@anchor{cc}
 @section Pragma Unchecked_Union
 
 
@@ -7622,7 +7573,7 @@ version in all language modes (Ada 83, Ada 95, and Ada 2005). For full
 details, consult the Ada 2012 Reference Manual, section B.3.3.
 
 @node Pragma Unevaluated_Use_Of_Old,Pragma Unimplemented_Unit,Pragma Unchecked_Union,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-unevaluated-use-of-old}@anchor{d0}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-unevaluated-use-of-old}@anchor{cd}
 @section Pragma Unevaluated_Use_Of_Old
 
 
@@ -7677,7 +7628,7 @@ uses up to the end of the corresponding statement sequence or
 sequence of package declarations.
 
 @node Pragma Unimplemented_Unit,Pragma Universal_Aliasing,Pragma Unevaluated_Use_Of_Old,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-unimplemented-unit}@anchor{d1}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-unimplemented-unit}@anchor{ce}
 @section Pragma Unimplemented_Unit
 
 
@@ -7697,7 +7648,7 @@ The abort only happens if code is being generated.  Thus you can use
 specs of unimplemented packages in syntax or semantic checking mode.
 
 @node Pragma Universal_Aliasing,Pragma Universal_Data,Pragma Unimplemented_Unit,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-universal-aliasing}@anchor{d2}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-universal-aliasing}@anchor{cf}
 @section Pragma Universal_Aliasing
 
 
@@ -7716,7 +7667,7 @@ situations in which it must be suppressed, see the section on
 @cite{Optimization and Strict Aliasing} in the @cite{GNAT User's Guide}.
 
 @node Pragma Universal_Data,Pragma Unmodified,Pragma Universal_Aliasing,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-universal-data}@anchor{d3}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-universal-data}@anchor{d0}
 @section Pragma Universal_Data
 
 
@@ -7740,7 +7691,7 @@ of this pragma is also available by applying the -univ switch on the
 compilations of units where universal addressing of the data is desired.
 
 @node Pragma Unmodified,Pragma Unreferenced,Pragma Universal_Data,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-unmodified}@anchor{d4}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-unmodified}@anchor{d1}
 @section Pragma Unmodified
 
 
@@ -7774,7 +7725,7 @@ Thus it is never necessary to use @cite{pragma Unmodified} for such
 variables, though it is harmless to do so.
 
 @node Pragma Unreferenced,Pragma Unreferenced_Objects,Pragma Unmodified,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-unreferenced}@anchor{d5}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-unreferenced}@anchor{d2}
 @section Pragma Unreferenced
 
 
@@ -7818,7 +7769,7 @@ Note that if a warning is desired for all calls to a given subprogram,
 regardless of whether they occur in the same unit as the subprogram
 declaration, then this pragma should not be used (calls from another
 unit would not be flagged); pragma Obsolescent can be used instead
-for this purpose, see @ref{8c,,Pragma Obsolescent}.
+for this purpose, see @ref{89,,Pragma Obsolescent}.
 
 The second form of pragma @cite{Unreferenced} is used within a context
 clause. In this case the arguments must be unit names of units previously
@@ -7834,7 +7785,7 @@ Thus it is never necessary to use @cite{pragma Unreferenced} for such
 variables, though it is harmless to do so.
 
 @node Pragma Unreferenced_Objects,Pragma Unreserve_All_Interrupts,Pragma Unreferenced,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-unreferenced-objects}@anchor{d6}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-unreferenced-objects}@anchor{d3}
 @section Pragma Unreferenced_Objects
 
 
@@ -7859,7 +7810,7 @@ compiler will automatically suppress unwanted warnings about these variables
 not being referenced.
 
 @node Pragma Unreserve_All_Interrupts,Pragma Unsuppress,Pragma Unreferenced_Objects,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-unreserve-all-interrupts}@anchor{d7}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-unreserve-all-interrupts}@anchor{d4}
 @section Pragma Unreserve_All_Interrupts
 
 
@@ -7895,7 +7846,7 @@ handled, see pragma @cite{Interrupt_State}, which subsumes the functionality
 of the @cite{Unreserve_All_Interrupts} pragma.
 
 @node Pragma Unsuppress,Pragma Use_VADS_Size,Pragma Unreserve_All_Interrupts,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-unsuppress}@anchor{d8}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-unsuppress}@anchor{d5}
 @section Pragma Unsuppress
 
 
@@ -7926,12 +7877,12 @@ pragma Unsuppress (Duplicated_Tag_Check);
 This pragma is standard in Ada 2005. It is available in all earlier versions
 of Ada as an implementation-defined pragma.
 
-Note that in addition to the checks defined in the Ada RM, GNAT recogizes
-a number of implementation-defined check names. See description of pragma
+Note that in addition to the checks defined in the Ada RM, GNAT recogizes a
+number of implementation-defined check names. See the description of pragma
 @cite{Suppress} for full details.
 
 @node Pragma Use_VADS_Size,Pragma Validity_Checks,Pragma Unsuppress,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-use-vads-size}@anchor{d9}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-use-vads-size}@anchor{d6}
 @section Pragma Use_VADS_Size
 
 
@@ -7955,7 +7906,7 @@ as implemented in the VADS compiler.  See description of the VADS_Size
 attribute for further details.
 
 @node Pragma Validity_Checks,Pragma Volatile,Pragma Use_VADS_Size,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-validity-checks}@anchor{da}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-validity-checks}@anchor{d7}
 @section Pragma Validity_Checks
 
 
@@ -8012,7 +7963,7 @@ A := C;                       -- C will be validity checked
 @end example
 
 @node Pragma Volatile,Pragma Volatile_Full_Access,Pragma Validity_Checks,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-volatile}@anchor{db}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-volatile}@anchor{d8}
 @section Pragma Volatile
 
 
@@ -8030,7 +7981,7 @@ implementation of pragma Volatile is upwards compatible with the
 implementation in DEC Ada 83.
 
 @node Pragma Volatile_Full_Access,Pragma Warning_As_Error,Pragma Volatile,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-volatile-full-access}@anchor{dc}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-volatile-full-access}@anchor{d9}
 @section Pragma Volatile_Full_Access
 
 
@@ -8062,7 +8013,7 @@ It is not permissible to specify @cite{Volatile_Full_Access} for a composite
 (record or array) type or object that has at least one @cite{Aliased} component.
 
 @node Pragma Warning_As_Error,Pragma Warnings,Pragma Volatile_Full_Access,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-warning-as-error}@anchor{dd}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-warning-as-error}@anchor{da}
 @section Pragma Warning_As_Error
 
 
@@ -8097,7 +8048,7 @@ as shown in the example below, to treat a class of warnings as errors.
 
 The above use of patterns to match the message applies only to warning
 messages generated by the front end. This pragma can also be applied to
-warnings provided by the back end and mentioned in @ref{de,,Pragma Warnings}.
+warnings provided by the back end and mentioned in @ref{db,,Pragma Warnings}.
 By using a single full @emph{-Wxxx} switch in the pragma, such warnings
 can also be treated as errors.
 
@@ -8147,7 +8098,7 @@ the tag is changed from "warning:" to "error:" and the string
 "[warning-as-error]" is appended to the end of the message.
 
 @node Pragma Warnings,Pragma Weak_External,Pragma Warning_As_Error,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas id5}@anchor{df}@anchor{gnat_rm/implementation_defined_pragmas pragma-warnings}@anchor{de}
+@anchor{gnat_rm/implementation_defined_pragmas id5}@anchor{dc}@anchor{gnat_rm/implementation_defined_pragmas pragma-warnings}@anchor{db}
 @section Pragma Warnings
 
 
@@ -8299,7 +8250,7 @@ selectively for each tool, and as a consequence to detect useless pragma
 Warnings with switch @cite{-gnatw.w}.
 
 @node Pragma Weak_External,Pragma Wide_Character_Encoding,Pragma Warnings,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-weak-external}@anchor{e0}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-weak-external}@anchor{dd}
 @section Pragma Weak_External
 
 
@@ -8350,7 +8301,7 @@ end External_Module;
 @end example
 
 @node Pragma Wide_Character_Encoding,,Pragma Weak_External,Implementation Defined Pragmas
-@anchor{gnat_rm/implementation_defined_pragmas pragma-wide-character-encoding}@anchor{e1}
+@anchor{gnat_rm/implementation_defined_pragmas pragma-wide-character-encoding}@anchor{de}
 @section Pragma Wide_Character_Encoding
 
 
@@ -8377,7 +8328,7 @@ encoding within that file, and does not affect withed units, specs,
 or subunits.
 
 @node Implementation Defined Aspects,Implementation Defined Attributes,Implementation Defined Pragmas,Top
-@anchor{gnat_rm/implementation_defined_aspects implementation-defined-aspects}@anchor{e2}@anchor{gnat_rm/implementation_defined_aspects doc}@anchor{e3}@anchor{gnat_rm/implementation_defined_aspects id1}@anchor{e4}
+@anchor{gnat_rm/implementation_defined_aspects implementation-defined-aspects}@anchor{df}@anchor{gnat_rm/implementation_defined_aspects doc}@anchor{e0}@anchor{gnat_rm/implementation_defined_aspects id1}@anchor{e1}
 @chapter Implementation Defined Aspects
 
 
@@ -8487,7 +8438,7 @@ or attribute definition clause.
 @end menu
 
 @node Aspect Abstract_State,Annotate,,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-abstract-state}@anchor{e5}
+@anchor{gnat_rm/implementation_defined_aspects aspect-abstract-state}@anchor{e2}
 @section Aspect Abstract_State
 
 
@@ -8496,7 +8447,7 @@ or attribute definition clause.
 This aspect is equivalent to pragma @cite{Abstract_State}.
 
 @node Annotate,Aspect Async_Readers,Aspect Abstract_State,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects annotate}@anchor{e6}
+@anchor{gnat_rm/implementation_defined_aspects annotate}@anchor{e3}
 @section Annotate
 
 
@@ -8522,7 +8473,7 @@ Equivalent to @cite{pragma Annotate (ID@comma{} ID @{@comma{} ARG@}@comma{} Enti
 @end table
 
 @node Aspect Async_Readers,Aspect Async_Writers,Annotate,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-async-readers}@anchor{e7}
+@anchor{gnat_rm/implementation_defined_aspects aspect-async-readers}@anchor{e4}
 @section Aspect Async_Readers
 
 
@@ -8531,7 +8482,7 @@ Equivalent to @cite{pragma Annotate (ID@comma{} ID @{@comma{} ARG@}@comma{} Enti
 This boolean aspect is equivalent to pragma @cite{Async_Readers}.
 
 @node Aspect Async_Writers,Aspect Contract_Cases,Aspect Async_Readers,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-async-writers}@anchor{e8}
+@anchor{gnat_rm/implementation_defined_aspects aspect-async-writers}@anchor{e5}
 @section Aspect Async_Writers
 
 
@@ -8540,7 +8491,7 @@ This boolean aspect is equivalent to pragma @cite{Async_Readers}.
 This boolean aspect is equivalent to pragma @cite{Async_Writers}.
 
 @node Aspect Contract_Cases,Aspect Depends,Aspect Async_Writers,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-contract-cases}@anchor{e9}
+@anchor{gnat_rm/implementation_defined_aspects aspect-contract-cases}@anchor{e6}
 @section Aspect Contract_Cases
 
 
@@ -8551,7 +8502,7 @@ of clauses being enclosed in parentheses so that syntactically it is an
 aggregate.
 
 @node Aspect Depends,Aspect Dimension,Aspect Contract_Cases,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-depends}@anchor{ea}
+@anchor{gnat_rm/implementation_defined_aspects aspect-depends}@anchor{e7}
 @section Aspect Depends
 
 
@@ -8560,7 +8511,7 @@ aggregate.
 This aspect is equivalent to pragma @cite{Depends}.
 
 @node Aspect Dimension,Aspect Dimension_System,Aspect Depends,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-dimension}@anchor{eb}
+@anchor{gnat_rm/implementation_defined_aspects aspect-dimension}@anchor{e8}
 @section Aspect Dimension
 
 
@@ -8596,7 +8547,7 @@ Note that when the dimensioned type is an integer type, then any
 dimension value must be an integer literal.
 
 @node Aspect Dimension_System,Aspect Disable_Controlled,Aspect Dimension,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-dimension-system}@anchor{ec}
+@anchor{gnat_rm/implementation_defined_aspects aspect-dimension-system}@anchor{e9}
 @section Aspect Dimension_System
 
 
@@ -8656,7 +8607,7 @@ See section 'Performing Dimensionality Analysis in GNAT' in the GNAT Users
 Guide for detailed examples of use of the dimension system.
 
 @node Aspect Disable_Controlled,Aspect Effective_Reads,Aspect Dimension_System,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-disable-controlled}@anchor{ed}
+@anchor{gnat_rm/implementation_defined_aspects aspect-disable-controlled}@anchor{ea}
 @section Aspect Disable_Controlled
 
 
@@ -8669,7 +8620,7 @@ where for example you might want a record to be controlled or not depending on
 whether some run-time check is enabled or suppressed.
 
 @node Aspect Effective_Reads,Aspect Effective_Writes,Aspect Disable_Controlled,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-effective-reads}@anchor{ee}
+@anchor{gnat_rm/implementation_defined_aspects aspect-effective-reads}@anchor{eb}
 @section Aspect Effective_Reads
 
 
@@ -8678,7 +8629,7 @@ whether some run-time check is enabled or suppressed.
 This aspect is equivalent to pragma @cite{Effective_Reads}.
 
 @node Aspect Effective_Writes,Aspect Favor_Top_Level,Aspect Effective_Reads,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-effective-writes}@anchor{ef}
+@anchor{gnat_rm/implementation_defined_aspects aspect-effective-writes}@anchor{ec}
 @section Aspect Effective_Writes
 
 
@@ -8687,7 +8638,7 @@ This aspect is equivalent to pragma @cite{Effective_Reads}.
 This aspect is equivalent to pragma @cite{Effective_Writes}.
 
 @node Aspect Favor_Top_Level,Aspect Global,Aspect Effective_Writes,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-favor-top-level}@anchor{f0}
+@anchor{gnat_rm/implementation_defined_aspects aspect-favor-top-level}@anchor{ed}
 @section Aspect Favor_Top_Level
 
 
@@ -8696,7 +8647,7 @@ This aspect is equivalent to pragma @cite{Effective_Writes}.
 This boolean aspect is equivalent to pragma @cite{Favor_Top_Level}.
 
 @node Aspect Global,Aspect Initial_Condition,Aspect Favor_Top_Level,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-global}@anchor{f1}
+@anchor{gnat_rm/implementation_defined_aspects aspect-global}@anchor{ee}
 @section Aspect Global
 
 
@@ -8705,7 +8656,7 @@ This boolean aspect is equivalent to pragma @cite{Favor_Top_Level}.
 This aspect is equivalent to pragma @cite{Global}.
 
 @node Aspect Initial_Condition,Aspect Initializes,Aspect Global,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-initial-condition}@anchor{f2}
+@anchor{gnat_rm/implementation_defined_aspects aspect-initial-condition}@anchor{ef}
 @section Aspect Initial_Condition
 
 
@@ -8714,7 +8665,7 @@ This aspect is equivalent to pragma @cite{Global}.
 This aspect is equivalent to pragma @cite{Initial_Condition}.
 
 @node Aspect Initializes,Aspect Inline_Always,Aspect Initial_Condition,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-initializes}@anchor{f3}
+@anchor{gnat_rm/implementation_defined_aspects aspect-initializes}@anchor{f0}
 @section Aspect Initializes
 
 
@@ -8723,7 +8674,7 @@ This aspect is equivalent to pragma @cite{Initial_Condition}.
 This aspect is equivalent to pragma @cite{Initializes}.
 
 @node Aspect Inline_Always,Aspect Invariant,Aspect Initializes,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-inline-always}@anchor{f4}
+@anchor{gnat_rm/implementation_defined_aspects aspect-inline-always}@anchor{f1}
 @section Aspect Inline_Always
 
 
@@ -8732,7 +8683,7 @@ This aspect is equivalent to pragma @cite{Initializes}.
 This boolean aspect is equivalent to pragma @cite{Inline_Always}.
 
 @node Aspect Invariant,Aspect Invariant'Class,Aspect Inline_Always,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-invariant}@anchor{f5}
+@anchor{gnat_rm/implementation_defined_aspects aspect-invariant}@anchor{f2}
 @section Aspect Invariant
 
 
@@ -8743,7 +8694,7 @@ synonym for the language defined aspect @cite{Type_Invariant} except
 that it is separately controllable using pragma @cite{Assertion_Policy}.
 
 @node Aspect Invariant'Class,Aspect Iterable,Aspect Invariant,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-invariant-class}@anchor{f6}
+@anchor{gnat_rm/implementation_defined_aspects aspect-invariant-class}@anchor{f3}
 @section Aspect Invariant'Class
 
 
@@ -8754,7 +8705,7 @@ synonym for the language defined aspect @cite{Type_Invariant'Class} except
 that it is separately controllable using pragma @cite{Assertion_Policy}.
 
 @node Aspect Iterable,Aspect Linker_Section,Aspect Invariant'Class,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-iterable}@anchor{f7}
+@anchor{gnat_rm/implementation_defined_aspects aspect-iterable}@anchor{f4}
 @section Aspect Iterable
 
 
@@ -8830,7 +8781,7 @@ function Get_Element (Cont : Container; Position : Cursor) return Element_Type;
 This aspect is used in the GNAT-defined formal container packages.
 
 @node Aspect Linker_Section,Aspect Lock_Free,Aspect Iterable,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-linker-section}@anchor{f8}
+@anchor{gnat_rm/implementation_defined_aspects aspect-linker-section}@anchor{f5}
 @section Aspect Linker_Section
 
 
@@ -8839,7 +8790,7 @@ This aspect is used in the GNAT-defined formal container packages.
 This aspect is equivalent to an @cite{Linker_Section} pragma.
 
 @node Aspect Lock_Free,Aspect No_Elaboration_Code_All,Aspect Linker_Section,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-lock-free}@anchor{f9}
+@anchor{gnat_rm/implementation_defined_aspects aspect-lock-free}@anchor{f6}
 @section Aspect Lock_Free
 
 
@@ -8848,7 +8799,7 @@ This aspect is equivalent to an @cite{Linker_Section} pragma.
 This boolean aspect is equivalent to pragma @cite{Lock_Free}.
 
 @node Aspect No_Elaboration_Code_All,Aspect No_Tagged_Streams,Aspect Lock_Free,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-no-elaboration-code-all}@anchor{fa}
+@anchor{gnat_rm/implementation_defined_aspects aspect-no-elaboration-code-all}@anchor{f7}
 @section Aspect No_Elaboration_Code_All
 
 
@@ -8858,7 +8809,7 @@ This aspect is equivalent to a @cite{pragma No_Elaboration_Code_All}
 statement for a program unit.
 
 @node Aspect No_Tagged_Streams,Aspect Object_Size,Aspect No_Elaboration_Code_All,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-no-tagged-streams}@anchor{fb}
+@anchor{gnat_rm/implementation_defined_aspects aspect-no-tagged-streams}@anchor{f8}
 @section Aspect No_Tagged_Streams
 
 
@@ -8869,7 +8820,7 @@ argument specifying a root tagged type (thus this aspect can only be
 applied to such a type).
 
 @node Aspect Object_Size,Aspect Obsolescent,Aspect No_Tagged_Streams,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-object-size}@anchor{fc}
+@anchor{gnat_rm/implementation_defined_aspects aspect-object-size}@anchor{f9}
 @section Aspect Object_Size
 
 
@@ -8879,7 +8830,7 @@ This aspect is equivalent to an @cite{Object_Size} attribute definition
 clause.
 
 @node Aspect Obsolescent,Aspect Part_Of,Aspect Object_Size,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-obsolescent}@anchor{fd}
+@anchor{gnat_rm/implementation_defined_aspects aspect-obsolescent}@anchor{fa}
 @section Aspect Obsolescent
 
 
@@ -8890,7 +8841,7 @@ evaluation of this aspect happens at the point of occurrence, it is not
 delayed until the freeze point.
 
 @node Aspect Part_Of,Aspect Persistent_BSS,Aspect Obsolescent,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-part-of}@anchor{fe}
+@anchor{gnat_rm/implementation_defined_aspects aspect-part-of}@anchor{fb}
 @section Aspect Part_Of
 
 
@@ -8899,7 +8850,7 @@ delayed until the freeze point.
 This aspect is equivalent to pragma @cite{Part_Of}.
 
 @node Aspect Persistent_BSS,Aspect Predicate,Aspect Part_Of,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-persistent-bss}@anchor{ff}
+@anchor{gnat_rm/implementation_defined_aspects aspect-persistent-bss}@anchor{fc}
 @section Aspect Persistent_BSS
 
 
@@ -8908,7 +8859,7 @@ This aspect is equivalent to pragma @cite{Part_Of}.
 This boolean aspect is equivalent to pragma @cite{Persistent_BSS}.
 
 @node Aspect Predicate,Aspect Pure_Function,Aspect Persistent_BSS,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-predicate}@anchor{100}
+@anchor{gnat_rm/implementation_defined_aspects aspect-predicate}@anchor{fd}
 @section Aspect Predicate
 
 
@@ -8922,7 +8873,7 @@ expression. It is also separately controllable using pragma
 @cite{Assertion_Policy}.
 
 @node Aspect Pure_Function,Aspect Refined_Depends,Aspect Predicate,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-pure-function}@anchor{101}
+@anchor{gnat_rm/implementation_defined_aspects aspect-pure-function}@anchor{fe}
 @section Aspect Pure_Function
 
 
@@ -8931,7 +8882,7 @@ expression. It is also separately controllable using pragma
 This boolean aspect is equivalent to pragma @cite{Pure_Function}.
 
 @node Aspect Refined_Depends,Aspect Refined_Global,Aspect Pure_Function,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-refined-depends}@anchor{102}
+@anchor{gnat_rm/implementation_defined_aspects aspect-refined-depends}@anchor{ff}
 @section Aspect Refined_Depends
 
 
@@ -8940,7 +8891,7 @@ This boolean aspect is equivalent to pragma @cite{Pure_Function}.
 This aspect is equivalent to pragma @cite{Refined_Depends}.
 
 @node Aspect Refined_Global,Aspect Refined_Post,Aspect Refined_Depends,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-refined-global}@anchor{103}
+@anchor{gnat_rm/implementation_defined_aspects aspect-refined-global}@anchor{100}
 @section Aspect Refined_Global
 
 
@@ -8949,7 +8900,7 @@ This aspect is equivalent to pragma @cite{Refined_Depends}.
 This aspect is equivalent to pragma @cite{Refined_Global}.
 
 @node Aspect Refined_Post,Aspect Refined_State,Aspect Refined_Global,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-refined-post}@anchor{104}
+@anchor{gnat_rm/implementation_defined_aspects aspect-refined-post}@anchor{101}
 @section Aspect Refined_Post
 
 
@@ -8958,7 +8909,7 @@ This aspect is equivalent to pragma @cite{Refined_Global}.
 This aspect is equivalent to pragma @cite{Refined_Post}.
 
 @node Aspect Refined_State,Aspect Remote_Access_Type,Aspect Refined_Post,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-refined-state}@anchor{105}
+@anchor{gnat_rm/implementation_defined_aspects aspect-refined-state}@anchor{102}
 @section Aspect Refined_State
 
 
@@ -8967,7 +8918,7 @@ This aspect is equivalent to pragma @cite{Refined_Post}.
 This aspect is equivalent to pragma @cite{Refined_State}.
 
 @node Aspect Remote_Access_Type,Aspect Scalar_Storage_Order,Aspect Refined_State,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-remote-access-type}@anchor{106}
+@anchor{gnat_rm/implementation_defined_aspects aspect-remote-access-type}@anchor{103}
 @section Aspect Remote_Access_Type
 
 
@@ -8976,7 +8927,7 @@ This aspect is equivalent to pragma @cite{Refined_State}.
 This aspect is equivalent to pragma @cite{Remote_Access_Type}.
 
 @node Aspect Scalar_Storage_Order,Aspect Shared,Aspect Remote_Access_Type,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-scalar-storage-order}@anchor{107}
+@anchor{gnat_rm/implementation_defined_aspects aspect-scalar-storage-order}@anchor{104}
 @section Aspect Scalar_Storage_Order
 
 
@@ -8986,7 +8937,7 @@ This aspect is equivalent to a @cite{Scalar_Storage_Order}
 attribute definition clause.
 
 @node Aspect Shared,Aspect Simple_Storage_Pool,Aspect Scalar_Storage_Order,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-shared}@anchor{108}
+@anchor{gnat_rm/implementation_defined_aspects aspect-shared}@anchor{105}
 @section Aspect Shared
 
 
@@ -8996,7 +8947,7 @@ This boolean aspect is equivalent to pragma @cite{Shared},
 and is thus a synonym for aspect @cite{Atomic}.
 
 @node Aspect Simple_Storage_Pool,Aspect Simple_Storage_Pool_Type,Aspect Shared,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-simple-storage-pool}@anchor{109}
+@anchor{gnat_rm/implementation_defined_aspects aspect-simple-storage-pool}@anchor{106}
 @section Aspect Simple_Storage_Pool
 
 
@@ -9006,7 +8957,7 @@ This aspect is equivalent to a @cite{Simple_Storage_Pool}
 attribute definition clause.
 
 @node Aspect Simple_Storage_Pool_Type,Aspect SPARK_Mode,Aspect Simple_Storage_Pool,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-simple-storage-pool-type}@anchor{10a}
+@anchor{gnat_rm/implementation_defined_aspects aspect-simple-storage-pool-type}@anchor{107}
 @section Aspect Simple_Storage_Pool_Type
 
 
@@ -9015,7 +8966,7 @@ attribute definition clause.
 This boolean aspect is equivalent to pragma @cite{Simple_Storage_Pool_Type}.
 
 @node Aspect SPARK_Mode,Aspect Suppress_Debug_Info,Aspect Simple_Storage_Pool_Type,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-spark-mode}@anchor{10b}
+@anchor{gnat_rm/implementation_defined_aspects aspect-spark-mode}@anchor{108}
 @section Aspect SPARK_Mode
 
 
@@ -9026,7 +8977,7 @@ may be specified for either or both of the specification and body
 of a subprogram or package.
 
 @node Aspect Suppress_Debug_Info,Aspect Suppress_Initialization,Aspect SPARK_Mode,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-suppress-debug-info}@anchor{10c}
+@anchor{gnat_rm/implementation_defined_aspects aspect-suppress-debug-info}@anchor{109}
 @section Aspect Suppress_Debug_Info
 
 
@@ -9035,7 +8986,7 @@ of a subprogram or package.
 This boolean aspect is equivalent to pragma @cite{Suppress_Debug_Info}.
 
 @node Aspect Suppress_Initialization,Aspect Test_Case,Aspect Suppress_Debug_Info,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-suppress-initialization}@anchor{10d}
+@anchor{gnat_rm/implementation_defined_aspects aspect-suppress-initialization}@anchor{10a}
 @section Aspect Suppress_Initialization
 
 
@@ -9044,7 +8995,7 @@ This boolean aspect is equivalent to pragma @cite{Suppress_Debug_Info}.
 This boolean aspect is equivalent to pragma @cite{Suppress_Initialization}.
 
 @node Aspect Test_Case,Aspect Thread_Local_Storage,Aspect Suppress_Initialization,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-test-case}@anchor{10e}
+@anchor{gnat_rm/implementation_defined_aspects aspect-test-case}@anchor{10b}
 @section Aspect Test_Case
 
 
@@ -9053,7 +9004,7 @@ This boolean aspect is equivalent to pragma @cite{Suppress_Initialization}.
 This aspect is equivalent to pragma @cite{Test_Case}.
 
 @node Aspect Thread_Local_Storage,Aspect Universal_Aliasing,Aspect Test_Case,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-thread-local-storage}@anchor{10f}
+@anchor{gnat_rm/implementation_defined_aspects aspect-thread-local-storage}@anchor{10c}
 @section Aspect Thread_Local_Storage
 
 
@@ -9062,7 +9013,7 @@ This aspect is equivalent to pragma @cite{Test_Case}.
 This boolean aspect is equivalent to pragma @cite{Thread_Local_Storage}.
 
 @node Aspect Universal_Aliasing,Aspect Universal_Data,Aspect Thread_Local_Storage,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-universal-aliasing}@anchor{110}
+@anchor{gnat_rm/implementation_defined_aspects aspect-universal-aliasing}@anchor{10d}
 @section Aspect Universal_Aliasing
 
 
@@ -9071,7 +9022,7 @@ This boolean aspect is equivalent to pragma @cite{Thread_Local_Storage}.
 This boolean aspect is equivalent to pragma @cite{Universal_Aliasing}.
 
 @node Aspect Universal_Data,Aspect Unmodified,Aspect Universal_Aliasing,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-universal-data}@anchor{111}
+@anchor{gnat_rm/implementation_defined_aspects aspect-universal-data}@anchor{10e}
 @section Aspect Universal_Data
 
 
@@ -9080,7 +9031,7 @@ This boolean aspect is equivalent to pragma @cite{Universal_Aliasing}.
 This aspect is equivalent to pragma @cite{Universal_Data}.
 
 @node Aspect Unmodified,Aspect Unreferenced,Aspect Universal_Data,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-unmodified}@anchor{112}
+@anchor{gnat_rm/implementation_defined_aspects aspect-unmodified}@anchor{10f}
 @section Aspect Unmodified
 
 
@@ -9089,7 +9040,7 @@ This aspect is equivalent to pragma @cite{Universal_Data}.
 This boolean aspect is equivalent to pragma @cite{Unmodified}.
 
 @node Aspect Unreferenced,Aspect Unreferenced_Objects,Aspect Unmodified,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-unreferenced}@anchor{113}
+@anchor{gnat_rm/implementation_defined_aspects aspect-unreferenced}@anchor{110}
 @section Aspect Unreferenced
 
 
@@ -9100,7 +9051,7 @@ in the case of formal parameters, it is not permitted to have aspects for
 a formal parameter, so in this case the pragma form must be used.
 
 @node Aspect Unreferenced_Objects,Aspect Value_Size,Aspect Unreferenced,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-unreferenced-objects}@anchor{114}
+@anchor{gnat_rm/implementation_defined_aspects aspect-unreferenced-objects}@anchor{111}
 @section Aspect Unreferenced_Objects
 
 
@@ -9109,7 +9060,7 @@ a formal parameter, so in this case the pragma form must be used.
 This boolean aspect is equivalent to pragma @cite{Unreferenced_Objects}.
 
 @node Aspect Value_Size,Aspect Volatile_Full_Access,Aspect Unreferenced_Objects,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-value-size}@anchor{115}
+@anchor{gnat_rm/implementation_defined_aspects aspect-value-size}@anchor{112}
 @section Aspect Value_Size
 
 
@@ -9119,7 +9070,7 @@ This aspect is equivalent to a @cite{Value_Size}
 attribute definition clause.
 
 @node Aspect Volatile_Full_Access,Aspect Warnings,Aspect Value_Size,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-volatile-full-access}@anchor{116}
+@anchor{gnat_rm/implementation_defined_aspects aspect-volatile-full-access}@anchor{113}
 @section Aspect Volatile_Full_Access
 
 
@@ -9128,7 +9079,7 @@ attribute definition clause.
 This boolean aspect is equivalent to pragma @cite{Volatile_Full_Access}.
 
 @node Aspect Warnings,,Aspect Volatile_Full_Access,Implementation Defined Aspects
-@anchor{gnat_rm/implementation_defined_aspects aspect-warnings}@anchor{117}
+@anchor{gnat_rm/implementation_defined_aspects aspect-warnings}@anchor{114}
 @section Aspect Warnings
 
 
@@ -9139,7 +9090,7 @@ where the first argument is @cite{ON} or @cite{OFF} and the second argument
 is the entity.
 
 @node Implementation Defined Attributes,Standard and Implementation Defined Restrictions,Implementation Defined Aspects,Top
-@anchor{gnat_rm/implementation_defined_attributes doc}@anchor{118}@anchor{gnat_rm/implementation_defined_attributes implementation-defined-attributes}@anchor{8}@anchor{gnat_rm/implementation_defined_attributes id1}@anchor{119}
+@anchor{gnat_rm/implementation_defined_attributes doc}@anchor{115}@anchor{gnat_rm/implementation_defined_attributes implementation-defined-attributes}@anchor{8}@anchor{gnat_rm/implementation_defined_attributes id1}@anchor{116}
 @chapter Implementation Defined Attributes
 
 
@@ -9240,7 +9191,7 @@ consideration, you should minimize the use of these attributes.
 @end menu
 
 @node Attribute Abort_Signal,Attribute Address_Size,,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-abort-signal}@anchor{11a}
+@anchor{gnat_rm/implementation_defined_attributes attribute-abort-signal}@anchor{117}
 @section Attribute Abort_Signal
 
 
@@ -9254,7 +9205,7 @@ completely outside the normal semantics of Ada, for a user program to
 intercept the abort exception).
 
 @node Attribute Address_Size,Attribute Asm_Input,Attribute Abort_Signal,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-address-size}@anchor{11b}
+@anchor{gnat_rm/implementation_defined_attributes attribute-address-size}@anchor{118}
 @section Attribute Address_Size
 
 
@@ -9270,7 +9221,7 @@ reference to System.Address'Size is non-static because Address
 is a private type.
 
 @node Attribute Asm_Input,Attribute Asm_Output,Attribute Address_Size,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-asm-input}@anchor{11c}
+@anchor{gnat_rm/implementation_defined_attributes attribute-asm-input}@anchor{119}
 @section Attribute Asm_Input
 
 
@@ -9284,10 +9235,10 @@ to be a static expression, and is the constraint for the parameter,
 value to be used as the input argument.  The possible values for the
 constant are the same as those used in the RTL, and are dependent on
 the configuration file used to built the GCC back end.
-@ref{11d,,Machine Code Insertions}
+@ref{11a,,Machine Code Insertions}
 
 @node Attribute Asm_Output,Attribute Atomic_Always_Lock_Free,Attribute Asm_Input,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-asm-output}@anchor{11e}
+@anchor{gnat_rm/implementation_defined_attributes attribute-asm-output}@anchor{11b}
 @section Attribute Asm_Output
 
 
@@ -9303,10 +9254,10 @@ result.  The possible values for constraint are the same as those used in
 the RTL, and are dependent on the configuration file used to build the
 GCC back end.  If there are no output operands, then this argument may
 either be omitted, or explicitly given as @cite{No_Output_Operands}.
-@ref{11d,,Machine Code Insertions}
+@ref{11a,,Machine Code Insertions}
 
 @node Attribute Atomic_Always_Lock_Free,Attribute Bit,Attribute Asm_Output,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-atomic-always-lock-free}@anchor{11f}
+@anchor{gnat_rm/implementation_defined_attributes attribute-atomic-always-lock-free}@anchor{11c}
 @section Attribute Atomic_Always_Lock_Free
 
 
@@ -9318,7 +9269,7 @@ and False otherwise.  The result indicate whether atomic operations are
 supported by the target for the given type.
 
 @node Attribute Bit,Attribute Bit_Position,Attribute Atomic_Always_Lock_Free,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-bit}@anchor{120}
+@anchor{gnat_rm/implementation_defined_attributes attribute-bit}@anchor{11d}
 @section Attribute Bit
 
 
@@ -9349,7 +9300,7 @@ This attribute is designed to be compatible with the DEC Ada 83 definition
 and implementation of the @cite{Bit} attribute.
 
 @node Attribute Bit_Position,Attribute Code_Address,Attribute Bit,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-bit-position}@anchor{121}
+@anchor{gnat_rm/implementation_defined_attributes attribute-bit-position}@anchor{11e}
 @section Attribute Bit_Position
 
 
@@ -9364,7 +9315,7 @@ type @cite{Universal_Integer}.  The value depends only on the field
 the containing record @cite{R}.
 
 @node Attribute Code_Address,Attribute Compiler_Version,Attribute Bit_Position,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-code-address}@anchor{122}
+@anchor{gnat_rm/implementation_defined_attributes attribute-code-address}@anchor{11f}
 @section Attribute Code_Address
 
 
@@ -9407,7 +9358,7 @@ the same value as is returned by the corresponding @cite{'Address}
 attribute.
 
 @node Attribute Compiler_Version,Attribute Constrained,Attribute Code_Address,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-compiler-version}@anchor{123}
+@anchor{gnat_rm/implementation_defined_attributes attribute-compiler-version}@anchor{120}
 @section Attribute Compiler_Version
 
 
@@ -9418,7 +9369,7 @@ prefix) yields a static string identifying the version of the compiler
 being used to compile the unit containing the attribute reference.
 
 @node Attribute Constrained,Attribute Default_Bit_Order,Attribute Compiler_Version,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-constrained}@anchor{124}
+@anchor{gnat_rm/implementation_defined_attributes attribute-constrained}@anchor{121}
 @section Attribute Constrained
 
 
@@ -9433,7 +9384,7 @@ record type without discriminants is always @cite{True}. This usage is
 compatible with older Ada compilers, including notably DEC Ada.
 
 @node Attribute Default_Bit_Order,Attribute Default_Scalar_Storage_Order,Attribute Constrained,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-default-bit-order}@anchor{125}
+@anchor{gnat_rm/implementation_defined_attributes attribute-default-bit-order}@anchor{122}
 @section Attribute Default_Bit_Order
 
 
@@ -9450,7 +9401,7 @@ as a @cite{Pos} value (0 for @cite{High_Order_First}, 1 for
 @cite{Default_Bit_Order} in package @cite{System}.
 
 @node Attribute Default_Scalar_Storage_Order,Attribute Deref,Attribute Default_Bit_Order,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-default-scalar-storage-order}@anchor{126}
+@anchor{gnat_rm/implementation_defined_attributes attribute-default-scalar-storage-order}@anchor{123}
 @section Attribute Default_Scalar_Storage_Order
 
 
@@ -9467,7 +9418,7 @@ equal to @cite{Default_Bit_Order} if unspecified) as a
 @cite{System.Bit_Order} value. This is a static attribute.
 
 @node Attribute Deref,Attribute Descriptor_Size,Attribute Default_Scalar_Storage_Order,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-deref}@anchor{127}
+@anchor{gnat_rm/implementation_defined_attributes attribute-deref}@anchor{124}
 @section Attribute Deref
 
 
@@ -9480,7 +9431,7 @@ a named access-to-@cite{typ} type, except that it yields a variable, so it can b
 used on the left side of an assignment.
 
 @node Attribute Descriptor_Size,Attribute Elaborated,Attribute Deref,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-descriptor-size}@anchor{128}
+@anchor{gnat_rm/implementation_defined_attributes attribute-descriptor-size}@anchor{125}
 @section Attribute Descriptor_Size
 
 
@@ -9507,7 +9458,7 @@ In the example above, the descriptor contains two values of type
 a size of 31 bits and an alignment of 4, the descriptor size is @cite{2 * Positive'Size + 2} or 64 bits.
 
 @node Attribute Elaborated,Attribute Elab_Body,Attribute Descriptor_Size,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-elaborated}@anchor{129}
+@anchor{gnat_rm/implementation_defined_attributes attribute-elaborated}@anchor{126}
 @section Attribute Elaborated
 
 
@@ -9522,7 +9473,7 @@ units has been completed.  An exception is for units which need no
 elaboration, the value is always False for such units.
 
 @node Attribute Elab_Body,Attribute Elab_Spec,Attribute Elaborated,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-elab-body}@anchor{12a}
+@anchor{gnat_rm/implementation_defined_attributes attribute-elab-body}@anchor{127}
 @section Attribute Elab_Body
 
 
@@ -9538,7 +9489,7 @@ e.g., if it is necessary to do selective re-elaboration to fix some
 error.
 
 @node Attribute Elab_Spec,Attribute Elab_Subp_Body,Attribute Elab_Body,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-elab-spec}@anchor{12b}
+@anchor{gnat_rm/implementation_defined_attributes attribute-elab-spec}@anchor{128}
 @section Attribute Elab_Spec
 
 
@@ -9554,7 +9505,7 @@ Ada code, e.g., if it is necessary to do selective re-elaboration to fix
 some error.
 
 @node Attribute Elab_Subp_Body,Attribute Emax,Attribute Elab_Spec,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-elab-subp-body}@anchor{12c}
+@anchor{gnat_rm/implementation_defined_attributes attribute-elab-subp-body}@anchor{129}
 @section Attribute Elab_Subp_Body
 
 
@@ -9568,7 +9519,7 @@ elaboration procedure by the binder in CodePeer mode only and is unrecognized
 otherwise.
 
 @node Attribute Emax,Attribute Enabled,Attribute Elab_Subp_Body,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-emax}@anchor{12d}
+@anchor{gnat_rm/implementation_defined_attributes attribute-emax}@anchor{12a}
 @section Attribute Emax
 
 
@@ -9581,7 +9532,7 @@ the Ada 83 reference manual for an exact description of the semantics of
 this attribute.
 
 @node Attribute Enabled,Attribute Enum_Rep,Attribute Emax,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-enabled}@anchor{12e}
+@anchor{gnat_rm/implementation_defined_attributes attribute-enabled}@anchor{12b}
 @section Attribute Enabled
 
 
@@ -9605,7 +9556,7 @@ a @cite{pragma Suppress} or @cite{pragma Unsuppress} before instantiating
 the package or subprogram, controlling whether the check will be present.
 
 @node Attribute Enum_Rep,Attribute Enum_Val,Attribute Enabled,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-enum-rep}@anchor{12f}
+@anchor{gnat_rm/implementation_defined_attributes attribute-enum-rep}@anchor{12c}
 @section Attribute Enum_Rep
 
 
@@ -9642,7 +9593,7 @@ integer calculation is done at run time, then the call to @cite{Enum_Rep}
 may raise @cite{Constraint_Error}.
 
 @node Attribute Enum_Val,Attribute Epsilon,Attribute Enum_Rep,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-enum-val}@anchor{130}
+@anchor{gnat_rm/implementation_defined_attributes attribute-enum-val}@anchor{12d}
 @section Attribute Enum_Val
 
 
@@ -9665,7 +9616,7 @@ absence of an enumeration representation clause.  This is a static
 attribute (i.e., the result is static if the argument is static).
 
 @node Attribute Epsilon,Attribute Fast_Math,Attribute Enum_Val,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-epsilon}@anchor{131}
+@anchor{gnat_rm/implementation_defined_attributes attribute-epsilon}@anchor{12e}
 @section Attribute Epsilon
 
 
@@ -9678,7 +9629,7 @@ the Ada 83 reference manual for an exact description of the semantics of
 this attribute.
 
 @node Attribute Fast_Math,Attribute Fixed_Value,Attribute Epsilon,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-fast-math}@anchor{132}
+@anchor{gnat_rm/implementation_defined_attributes attribute-fast-math}@anchor{12f}
 @section Attribute Fast_Math
 
 
@@ -9689,7 +9640,7 @@ prefix) yields a static Boolean value that is True if pragma
 @cite{Fast_Math} is active, and False otherwise.
 
 @node Attribute Fixed_Value,Attribute From_Any,Attribute Fast_Math,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-fixed-value}@anchor{133}
+@anchor{gnat_rm/implementation_defined_attributes attribute-fixed-value}@anchor{130}
 @section Attribute Fixed_Value
 
 
@@ -9716,7 +9667,7 @@ This attribute is primarily intended for use in implementation of the
 input-output functions for fixed-point values.
 
 @node Attribute From_Any,Attribute Has_Access_Values,Attribute Fixed_Value,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-from-any}@anchor{134}
+@anchor{gnat_rm/implementation_defined_attributes attribute-from-any}@anchor{131}
 @section Attribute From_Any
 
 
@@ -9726,7 +9677,7 @@ This internal attribute is used for the generation of remote subprogram
 stubs in the context of the Distributed Systems Annex.
 
 @node Attribute Has_Access_Values,Attribute Has_Discriminants,Attribute From_Any,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-has-access-values}@anchor{135}
+@anchor{gnat_rm/implementation_defined_attributes attribute-has-access-values}@anchor{132}
 @section Attribute Has_Access_Values
 
 
@@ -9744,7 +9695,7 @@ definitions.  If the attribute is applied to a generic private type, it
 indicates whether or not the corresponding actual type has access values.
 
 @node Attribute Has_Discriminants,Attribute Img,Attribute Has_Access_Values,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-has-discriminants}@anchor{136}
+@anchor{gnat_rm/implementation_defined_attributes attribute-has-discriminants}@anchor{133}
 @section Attribute Has_Discriminants
 
 
@@ -9760,7 +9711,7 @@ definitions.  If the attribute is applied to a generic private type, it
 indicates whether or not the corresponding actual type has discriminants.
 
 @node Attribute Img,Attribute Integer_Value,Attribute Has_Discriminants,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-img}@anchor{137}
+@anchor{gnat_rm/implementation_defined_attributes attribute-img}@anchor{134}
 @section Attribute Img
 
 
@@ -9790,7 +9741,7 @@ that returns the appropriate string when called. This means that
 in an instantiation as a function parameter.
 
 @node Attribute Integer_Value,Attribute Invalid_Value,Attribute Img,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-integer-value}@anchor{138}
+@anchor{gnat_rm/implementation_defined_attributes attribute-integer-value}@anchor{135}
 @section Attribute Integer_Value
 
 
@@ -9818,7 +9769,7 @@ This attribute is primarily intended for use in implementation of the
 standard input-output functions for fixed-point values.
 
 @node Attribute Invalid_Value,Attribute Iterable,Attribute Integer_Value,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-invalid-value}@anchor{139}
+@anchor{gnat_rm/implementation_defined_attributes attribute-invalid-value}@anchor{136}
 @section Attribute Invalid_Value
 
 
@@ -9832,7 +9783,7 @@ including the ability to modify the value with the binder -Sxx flag and
 relevant environment variables at run time.
 
 @node Attribute Iterable,Attribute Large,Attribute Invalid_Value,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-iterable}@anchor{13a}
+@anchor{gnat_rm/implementation_defined_attributes attribute-iterable}@anchor{137}
 @section Attribute Iterable
 
 
@@ -9841,7 +9792,7 @@ relevant environment variables at run time.
 Equivalent to Aspect Iterable.
 
 @node Attribute Large,Attribute Library_Level,Attribute Iterable,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-large}@anchor{13b}
+@anchor{gnat_rm/implementation_defined_attributes attribute-large}@anchor{138}
 @section Attribute Large
 
 
@@ -9854,7 +9805,7 @@ the Ada 83 reference manual for an exact description of the semantics of
 this attribute.
 
 @node Attribute Library_Level,Attribute Lock_Free,Attribute Large,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-library-level}@anchor{13c}
+@anchor{gnat_rm/implementation_defined_attributes attribute-library-level}@anchor{139}
 @section Attribute Library_Level
 
 
@@ -9880,7 +9831,7 @@ end Gen;
 @end example
 
 @node Attribute Lock_Free,Attribute Loop_Entry,Attribute Library_Level,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-lock-free}@anchor{13d}
+@anchor{gnat_rm/implementation_defined_attributes attribute-lock-free}@anchor{13a}
 @section Attribute Lock_Free
 
 
@@ -9890,7 +9841,7 @@ end Gen;
 pragma @cite{Lock_Free} applies to P.
 
 @node Attribute Loop_Entry,Attribute Machine_Size,Attribute Lock_Free,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-loop-entry}@anchor{13e}
+@anchor{gnat_rm/implementation_defined_attributes attribute-loop-entry}@anchor{13b}
 @section Attribute Loop_Entry
 
 
@@ -9920,7 +9871,7 @@ entry. This copy is not performed if the loop is not entered, or if the
 corresponding pragmas are ignored or disabled.
 
 @node Attribute Machine_Size,Attribute Mantissa,Attribute Loop_Entry,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-machine-size}@anchor{13f}
+@anchor{gnat_rm/implementation_defined_attributes attribute-machine-size}@anchor{13c}
 @section Attribute Machine_Size
 
 
@@ -9930,7 +9881,7 @@ This attribute is identical to the @cite{Object_Size} attribute.  It is
 provided for compatibility with the DEC Ada 83 attribute of this name.
 
 @node Attribute Mantissa,Attribute Maximum_Alignment,Attribute Machine_Size,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-mantissa}@anchor{140}
+@anchor{gnat_rm/implementation_defined_attributes attribute-mantissa}@anchor{13d}
 @section Attribute Mantissa
 
 
@@ -9943,7 +9894,7 @@ the Ada 83 reference manual for an exact description of the semantics of
 this attribute.
 
 @node Attribute Maximum_Alignment,Attribute Mechanism_Code,Attribute Mantissa,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-maximum-alignment}@anchor{141}@anchor{gnat_rm/implementation_defined_attributes id2}@anchor{142}
+@anchor{gnat_rm/implementation_defined_attributes attribute-maximum-alignment}@anchor{13e}@anchor{gnat_rm/implementation_defined_attributes id2}@anchor{13f}
 @section Attribute Maximum_Alignment
 
 
@@ -9959,7 +9910,7 @@ for an object, guaranteeing that it is properly aligned in all
 cases.
 
 @node Attribute Mechanism_Code,Attribute Null_Parameter,Attribute Maximum_Alignment,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-mechanism-code}@anchor{143}
+@anchor{gnat_rm/implementation_defined_attributes attribute-mechanism-code}@anchor{140}
 @section Attribute Mechanism_Code
 
 
@@ -9990,7 +9941,7 @@ by reference
 @end table
 
 @node Attribute Null_Parameter,Attribute Object_Size,Attribute Mechanism_Code,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-null-parameter}@anchor{144}
+@anchor{gnat_rm/implementation_defined_attributes attribute-null-parameter}@anchor{141}
 @section Attribute Null_Parameter
 
 
@@ -10015,7 +9966,7 @@ There is no way of indicating this without the @cite{Null_Parameter}
 attribute.
 
 @node Attribute Object_Size,Attribute Old,Attribute Null_Parameter,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-object-size}@anchor{145}
+@anchor{gnat_rm/implementation_defined_attributes attribute-object-size}@anchor{142}
 @section Attribute Object_Size
 
 
@@ -10085,7 +10036,7 @@ Similar additional checks are performed in other contexts requiring
 statically matching subtypes.
 
 @node Attribute Old,Attribute Passed_By_Reference,Attribute Object_Size,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-old}@anchor{146}
+@anchor{gnat_rm/implementation_defined_attributes attribute-old}@anchor{143}
 @section Attribute Old
 
 
@@ -10100,7 +10051,7 @@ definition are allowed under control of
 implementation defined pragma @cite{Unevaluated_Use_Of_Old}.
 
 @node Attribute Passed_By_Reference,Attribute Pool_Address,Attribute Old,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-passed-by-reference}@anchor{147}
+@anchor{gnat_rm/implementation_defined_attributes attribute-passed-by-reference}@anchor{144}
 @section Attribute Passed_By_Reference
 
 
@@ -10116,7 +10067,7 @@ passed by copy in calls.  For scalar types, the result is always @cite{False}
 and is static.  For non-scalar types, the result is non-static.
 
 @node Attribute Pool_Address,Attribute Range_Length,Attribute Passed_By_Reference,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-pool-address}@anchor{148}
+@anchor{gnat_rm/implementation_defined_attributes attribute-pool-address}@anchor{145}
 @section Attribute Pool_Address
 
 
@@ -10141,7 +10092,7 @@ For an object created by @cite{new}, @code{Ptr.all'Pool_Address} is
 what is passed to @cite{Allocate} and returned from @cite{Deallocate}.
 
 @node Attribute Range_Length,Attribute Restriction_Set,Attribute Pool_Address,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-range-length}@anchor{149}
+@anchor{gnat_rm/implementation_defined_attributes attribute-range-length}@anchor{146}
 @section Attribute Range_Length
 
 
@@ -10154,7 +10105,7 @@ applied to the index subtype of a one dimensional array always gives the
 same result as @cite{Length} applied to the array itself.
 
 @node Attribute Restriction_Set,Attribute Result,Attribute Range_Length,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-restriction-set}@anchor{14a}
+@anchor{gnat_rm/implementation_defined_attributes attribute-restriction-set}@anchor{147}
 @section Attribute Restriction_Set
 
 
@@ -10224,7 +10175,7 @@ Restrictions pragma, they are not analyzed semantically,
 so they do not have a type.
 
 @node Attribute Result,Attribute Safe_Emax,Attribute Restriction_Set,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-result}@anchor{14b}
+@anchor{gnat_rm/implementation_defined_attributes attribute-result}@anchor{148}
 @section Attribute Result
 
 
@@ -10237,7 +10188,7 @@ For a further discussion of the use of this attribute and examples of its use,
 see the description of pragma Postcondition.
 
 @node Attribute Safe_Emax,Attribute Safe_Large,Attribute Result,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-safe-emax}@anchor{14c}
+@anchor{gnat_rm/implementation_defined_attributes attribute-safe-emax}@anchor{149}
 @section Attribute Safe_Emax
 
 
@@ -10250,7 +10201,7 @@ the Ada 83 reference manual for an exact description of the semantics of
 this attribute.
 
 @node Attribute Safe_Large,Attribute Safe_Small,Attribute Safe_Emax,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-safe-large}@anchor{14d}
+@anchor{gnat_rm/implementation_defined_attributes attribute-safe-large}@anchor{14a}
 @section Attribute Safe_Large
 
 
@@ -10263,7 +10214,7 @@ the Ada 83 reference manual for an exact description of the semantics of
 this attribute.
 
 @node Attribute Safe_Small,Attribute Scalar_Storage_Order,Attribute Safe_Large,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-safe-small}@anchor{14e}
+@anchor{gnat_rm/implementation_defined_attributes attribute-safe-small}@anchor{14b}
 @section Attribute Safe_Small
 
 
@@ -10276,7 +10227,7 @@ the Ada 83 reference manual for an exact description of the semantics of
 this attribute.
 
 @node Attribute Scalar_Storage_Order,Attribute Simple_Storage_Pool,Attribute Safe_Small,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-scalar-storage-order}@anchor{14f}
+@anchor{gnat_rm/implementation_defined_attributes attribute-scalar-storage-order}@anchor{14c}
 @section Attribute Scalar_Storage_Order
 
 
@@ -10393,7 +10344,7 @@ representation. It has no effect on the representation used by stream
 attributes.
 
 @node Attribute Simple_Storage_Pool,Attribute Small,Attribute Scalar_Storage_Order,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-simple-storage-pool}@anchor{b7}@anchor{gnat_rm/implementation_defined_attributes id3}@anchor{150}
+@anchor{gnat_rm/implementation_defined_attributes attribute-simple-storage-pool}@anchor{b4}@anchor{gnat_rm/implementation_defined_attributes id3}@anchor{14d}
 @section Attribute Simple_Storage_Pool
 
 
@@ -10456,7 +10407,7 @@ as defined in section 13.11.2 of the Ada Reference Manual, except that the
 term 'simple storage pool' is substituted for 'storage pool'.
 
 @node Attribute Small,Attribute Storage_Unit,Attribute Simple_Storage_Pool,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-small}@anchor{151}
+@anchor{gnat_rm/implementation_defined_attributes attribute-small}@anchor{14e}
 @section Attribute Small
 
 
@@ -10472,7 +10423,7 @@ the Ada 83 reference manual for an exact description of the semantics of
 this attribute when applied to floating-point types.
 
 @node Attribute Storage_Unit,Attribute Stub_Type,Attribute Small,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-storage-unit}@anchor{152}
+@anchor{gnat_rm/implementation_defined_attributes attribute-storage-unit}@anchor{14f}
 @section Attribute Storage_Unit
 
 
@@ -10482,7 +10433,7 @@ this attribute when applied to floating-point types.
 prefix) provides the same value as @cite{System.Storage_Unit}.
 
 @node Attribute Stub_Type,Attribute System_Allocator_Alignment,Attribute Storage_Unit,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-stub-type}@anchor{153}
+@anchor{gnat_rm/implementation_defined_attributes attribute-stub-type}@anchor{150}
 @section Attribute Stub_Type
 
 
@@ -10506,7 +10457,7 @@ unit @cite{System.Partition_Interface}. Use of this attribute will create
 an implicit dependency on this unit.
 
 @node Attribute System_Allocator_Alignment,Attribute Target_Name,Attribute Stub_Type,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-system-allocator-alignment}@anchor{154}
+@anchor{gnat_rm/implementation_defined_attributes attribute-system-allocator-alignment}@anchor{151}
 @section Attribute System_Allocator_Alignment
 
 
@@ -10523,7 +10474,7 @@ with alignment too large or to enable a realignment circuitry if the
 alignment request is larger than this value.
 
 @node Attribute Target_Name,Attribute To_Address,Attribute System_Allocator_Alignment,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-target-name}@anchor{155}
+@anchor{gnat_rm/implementation_defined_attributes attribute-target-name}@anchor{152}
 @section Attribute Target_Name
 
 
@@ -10536,7 +10487,7 @@ standard gcc target name without the terminating slash (for
 example, GNAT 5.0 on windows yields "i586-pc-mingw32msv").
 
 @node Attribute To_Address,Attribute To_Any,Attribute Target_Name,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-to-address}@anchor{156}
+@anchor{gnat_rm/implementation_defined_attributes attribute-to-address}@anchor{153}
 @section Attribute To_Address
 
 
@@ -10559,7 +10510,7 @@ modular manner (e.g., -1 means the same as 16#FFFF_FFFF# on
 a 32 bits machine).
 
 @node Attribute To_Any,Attribute Type_Class,Attribute To_Address,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-to-any}@anchor{157}
+@anchor{gnat_rm/implementation_defined_attributes attribute-to-any}@anchor{154}
 @section Attribute To_Any
 
 
@@ -10569,7 +10520,7 @@ This internal attribute is used for the generation of remote subprogram
 stubs in the context of the Distributed Systems Annex.
 
 @node Attribute Type_Class,Attribute Type_Key,Attribute To_Any,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-type-class}@anchor{158}
+@anchor{gnat_rm/implementation_defined_attributes attribute-type-class}@anchor{155}
 @section Attribute Type_Class
 
 
@@ -10599,7 +10550,7 @@ applies to all concurrent types.  This attribute is designed to
 be compatible with the DEC Ada 83 attribute of the same name.
 
 @node Attribute Type_Key,Attribute TypeCode,Attribute Type_Class,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-type-key}@anchor{159}
+@anchor{gnat_rm/implementation_defined_attributes attribute-type-key}@anchor{156}
 @section Attribute Type_Key
 
 
@@ -10611,7 +10562,7 @@ about the type or subtype. This provides improved compatibility with
 other implementations that support this attribute.
 
 @node Attribute TypeCode,Attribute UET_Address,Attribute Type_Key,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-typecode}@anchor{15a}
+@anchor{gnat_rm/implementation_defined_attributes attribute-typecode}@anchor{157}
 @section Attribute TypeCode
 
 
@@ -10621,7 +10572,7 @@ This internal attribute is used for the generation of remote subprogram
 stubs in the context of the Distributed Systems Annex.
 
 @node Attribute UET_Address,Attribute Unconstrained_Array,Attribute TypeCode,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-uet-address}@anchor{15b}
+@anchor{gnat_rm/implementation_defined_attributes attribute-uet-address}@anchor{158}
 @section Attribute UET_Address
 
 
@@ -10635,7 +10586,7 @@ intended only for use within the GNAT implementation.  See the unit
 for details on how this attribute is used in the implementation.
 
 @node Attribute Unconstrained_Array,Attribute Universal_Literal_String,Attribute UET_Address,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-unconstrained-array}@anchor{15c}
+@anchor{gnat_rm/implementation_defined_attributes attribute-unconstrained-array}@anchor{159}
 @section Attribute Unconstrained_Array
 
 
@@ -10649,7 +10600,7 @@ still static, and yields the result of applying this test to the
 generic actual.
 
 @node Attribute Universal_Literal_String,Attribute Unrestricted_Access,Attribute Unconstrained_Array,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-universal-literal-string}@anchor{15d}
+@anchor{gnat_rm/implementation_defined_attributes attribute-universal-literal-string}@anchor{15a}
 @section Attribute Universal_Literal_String
 
 
@@ -10677,7 +10628,7 @@ end;
 @end example
 
 @node Attribute Unrestricted_Access,Attribute Update,Attribute Universal_Literal_String,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-unrestricted-access}@anchor{15e}
+@anchor{gnat_rm/implementation_defined_attributes attribute-unrestricted-access}@anchor{15b}
 @section Attribute Unrestricted_Access
 
 
@@ -10864,7 +10815,7 @@ In general this is a risky approach. It may appear to "work" but such uses of
 of @cite{GNAT} to another, so are best avoided if possible.
 
 @node Attribute Update,Attribute Valid_Scalars,Attribute Unrestricted_Access,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-update}@anchor{15f}
+@anchor{gnat_rm/implementation_defined_attributes attribute-update}@anchor{15c}
 @section Attribute Update
 
 
@@ -10945,7 +10896,7 @@ A := A'Update ((1, 2) => 20, (3, 4) => 30);
 which changes element (1,2) to 20 and (3,4) to 30.
 
 @node Attribute Valid_Scalars,Attribute VADS_Size,Attribute Update,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-valid-scalars}@anchor{160}
+@anchor{gnat_rm/implementation_defined_attributes attribute-valid-scalars}@anchor{15d}
 @section Attribute Valid_Scalars
 
 
@@ -10980,7 +10931,7 @@ to write a function with a single use of the attribute, and then call that
 function from multiple places.
 
 @node Attribute VADS_Size,Attribute Value_Size,Attribute Valid_Scalars,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-vads-size}@anchor{161}
+@anchor{gnat_rm/implementation_defined_attributes attribute-vads-size}@anchor{15e}
 @section Attribute VADS_Size
 
 
@@ -11000,7 +10951,7 @@ gives the result that would be obtained by applying the attribute to
 the corresponding type.
 
 @node Attribute Value_Size,Attribute Wchar_T_Size,Attribute VADS_Size,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-value-size}@anchor{162}
+@anchor{gnat_rm/implementation_defined_attributes attribute-value-size}@anchor{15f}
 @section Attribute Value_Size
 
 
@@ -11014,7 +10965,7 @@ a value of the given subtype.  It is the same as @code{type'Size},
 but, unlike @cite{Size}, may be set for non-first subtypes.
 
 @node Attribute Wchar_T_Size,Attribute Word_Size,Attribute Value_Size,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-wchar-t-size}@anchor{163}
+@anchor{gnat_rm/implementation_defined_attributes attribute-wchar-t-size}@anchor{160}
 @section Attribute Wchar_T_Size
 
 
@@ -11026,7 +10977,7 @@ primarily for constructing the definition of this type in
 package @cite{Interfaces.C}. The result is a static constant.
 
 @node Attribute Word_Size,,Attribute Wchar_T_Size,Implementation Defined Attributes
-@anchor{gnat_rm/implementation_defined_attributes attribute-word-size}@anchor{164}
+@anchor{gnat_rm/implementation_defined_attributes attribute-word-size}@anchor{161}
 @section Attribute Word_Size
 
 
@@ -11037,7 +10988,7 @@ prefix) provides the value @cite{System.Word_Size}. The result is
 a static constant.
 
 @node Standard and Implementation Defined Restrictions,Implementation Advice,Implementation Defined Attributes,Top
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions standard-and-implementation-defined-restrictions}@anchor{9}@anchor{gnat_rm/standard_and_implementation_defined_restrictions doc}@anchor{165}@anchor{gnat_rm/standard_and_implementation_defined_restrictions id1}@anchor{166}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions standard-and-implementation-defined-restrictions}@anchor{9}@anchor{gnat_rm/standard_and_implementation_defined_restrictions doc}@anchor{162}@anchor{gnat_rm/standard_and_implementation_defined_restrictions id1}@anchor{163}
 @chapter Standard and Implementation Defined Restrictions
 
 
@@ -11066,7 +11017,7 @@ language defined or GNAT-specific, are listed in the following.
 @end menu
 
 @node Partition-Wide Restrictions,Program Unit Level Restrictions,,Standard and Implementation Defined Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions partition-wide-restrictions}@anchor{167}@anchor{gnat_rm/standard_and_implementation_defined_restrictions id2}@anchor{168}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions partition-wide-restrictions}@anchor{164}@anchor{gnat_rm/standard_and_implementation_defined_restrictions id2}@anchor{165}
 @section Partition-Wide Restrictions
 
 
@@ -11089,6 +11040,7 @@ then all compilation units in the partition must obey the restriction).
 * No_Access_Subprograms:: 
 * No_Allocators:: 
 * No_Anonymous_Allocators:: 
+* No_Asynchronous_Control:: 
 * No_Calendar:: 
 * No_Coextensions:: 
 * No_Default_Initialization:: 
@@ -11141,6 +11093,8 @@ then all compilation units in the partition must obey the restriction).
 * No_Tasking:: 
 * No_Terminate_Alternatives:: 
 * No_Unchecked_Access:: 
+* No_Unchecked_Conversion:: 
+* No_Unchecked_Deallocation:: 
 * No_Use_Of_Entity:: 
 * Simple_Barriers:: 
 * Static_Priorities:: 
@@ -11149,7 +11103,7 @@ then all compilation units in the partition must obey the restriction).
 @end menu
 
 @node Immediate_Reclamation,Max_Asynchronous_Select_Nesting,,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions immediate-reclamation}@anchor{169}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions immediate-reclamation}@anchor{166}
 @subsection Immediate_Reclamation
 
 
@@ -11161,7 +11115,7 @@ deallocation, any storage reserved at run time for an object is
 immediately reclaimed when the object no longer exists.
 
 @node Max_Asynchronous_Select_Nesting,Max_Entry_Queue_Length,Immediate_Reclamation,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions max-asynchronous-select-nesting}@anchor{16a}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions max-asynchronous-select-nesting}@anchor{167}
 @subsection Max_Asynchronous_Select_Nesting
 
 
@@ -11173,7 +11127,7 @@ detected at compile time. Violations of this restriction with values
 other than zero cause Storage_Error to be raised.
 
 @node Max_Entry_Queue_Length,Max_Protected_Entries,Max_Asynchronous_Select_Nesting,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions max-entry-queue-length}@anchor{16b}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions max-entry-queue-length}@anchor{168}
 @subsection Max_Entry_Queue_Length
 
 
@@ -11194,7 +11148,7 @@ compatibility purposes (and a warning will be generated for its use if
 warnings on obsolescent features are activated).
 
 @node Max_Protected_Entries,Max_Select_Alternatives,Max_Entry_Queue_Length,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions max-protected-entries}@anchor{16c}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions max-protected-entries}@anchor{169}
 @subsection Max_Protected_Entries
 
 
@@ -11205,7 +11159,7 @@ bounds of every entry family of a protected unit shall be static, or shall be
 defined by a discriminant of a subtype whose corresponding bound is static.
 
 @node Max_Select_Alternatives,Max_Storage_At_Blocking,Max_Protected_Entries,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions max-select-alternatives}@anchor{16d}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions max-select-alternatives}@anchor{16a}
 @subsection Max_Select_Alternatives
 
 
@@ -11214,7 +11168,7 @@ defined by a discriminant of a subtype whose corresponding bound is static.
 [RM D.7] Specifies the maximum number of alternatives in a selective accept.
 
 @node Max_Storage_At_Blocking,Max_Task_Entries,Max_Select_Alternatives,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions max-storage-at-blocking}@anchor{16e}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions max-storage-at-blocking}@anchor{16b}
 @subsection Max_Storage_At_Blocking
 
 
@@ -11225,7 +11179,7 @@ Storage_Size that can be retained by a blocked task. A violation of this
 restriction causes Storage_Error to be raised.
 
 @node Max_Task_Entries,Max_Tasks,Max_Storage_At_Blocking,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions max-task-entries}@anchor{16f}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions max-task-entries}@anchor{16c}
 @subsection Max_Task_Entries
 
 
@@ -11238,7 +11192,7 @@ defined by a discriminant of a subtype whose
 corresponding bound is static.
 
 @node Max_Tasks,No_Abort_Statements,Max_Task_Entries,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions max-tasks}@anchor{170}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions max-tasks}@anchor{16d}
 @subsection Max_Tasks
 
 
@@ -11251,7 +11205,7 @@ time. Violations of this restriction with values other than zero cause
 Storage_Error to be raised.
 
 @node No_Abort_Statements,No_Access_Parameter_Allocators,Max_Tasks,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-abort-statements}@anchor{171}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-abort-statements}@anchor{16e}
 @subsection No_Abort_Statements
 
 
@@ -11261,7 +11215,7 @@ Storage_Error to be raised.
 no calls to Task_Identification.Abort_Task.
 
 @node No_Access_Parameter_Allocators,No_Access_Subprograms,No_Abort_Statements,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-access-parameter-allocators}@anchor{172}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-access-parameter-allocators}@anchor{16f}
 @subsection No_Access_Parameter_Allocators
 
 
@@ -11272,7 +11226,7 @@ occurrences of an allocator as the actual parameter to an access
 parameter.
 
 @node No_Access_Subprograms,No_Allocators,No_Access_Parameter_Allocators,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-access-subprograms}@anchor{173}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-access-subprograms}@anchor{170}
 @subsection No_Access_Subprograms
 
 
@@ -11282,7 +11236,7 @@ parameter.
 declarations of access-to-subprogram types.
 
 @node No_Allocators,No_Anonymous_Allocators,No_Access_Subprograms,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-allocators}@anchor{174}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-allocators}@anchor{171}
 @subsection No_Allocators
 
 
@@ -11291,8 +11245,8 @@ declarations of access-to-subprogram types.
 [RM H.4] This restriction ensures at compile time that there are no
 occurrences of an allocator.
 
-@node No_Anonymous_Allocators,No_Calendar,No_Allocators,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-anonymous-allocators}@anchor{175}
+@node No_Anonymous_Allocators,No_Asynchronous_Control,No_Allocators,Partition-Wide Restrictions
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-anonymous-allocators}@anchor{172}
 @subsection No_Anonymous_Allocators
 
 
@@ -11301,18 +11255,28 @@ occurrences of an allocator.
 [RM H.4] This restriction ensures at compile time that there are no
 occurrences of an allocator of anonymous access type.
 
-@node No_Calendar,No_Coextensions,No_Anonymous_Allocators,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-calendar}@anchor{176}
+@node No_Asynchronous_Control,No_Calendar,No_Anonymous_Allocators,Partition-Wide Restrictions
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-asynchronous-control}@anchor{173}
+@subsection No_Asynchronous_Control
+
+
+@geindex No_Asynchronous_Control
+
+[RM J.13] This restriction ensures at compile time that there are no semantic
+dependences on the predefined package Asynchronous_Task_Control.
+
+@node No_Calendar,No_Coextensions,No_Asynchronous_Control,Partition-Wide Restrictions
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-calendar}@anchor{174}
 @subsection No_Calendar
 
 
 @geindex No_Calendar
 
-[GNAT] This restriction ensures at compile time that there is no implicit or
-explicit dependence on the package @cite{Ada.Calendar}.
+[GNAT] This restriction ensures at compile time that there are no semantic
+dependences on package Calendar.
 
 @node No_Coextensions,No_Default_Initialization,No_Calendar,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-coextensions}@anchor{177}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-coextensions}@anchor{175}
 @subsection No_Coextensions
 
 
@@ -11322,7 +11286,7 @@ explicit dependence on the package @cite{Ada.Calendar}.
 coextensions. See 3.10.2.
 
 @node No_Default_Initialization,No_Delay,No_Coextensions,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-default-initialization}@anchor{178}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-default-initialization}@anchor{176}
 @subsection No_Default_Initialization
 
 
@@ -11339,27 +11303,27 @@ is to prohibit all cases of variables declared without a specific
 initializer (including the case of OUT scalar parameters).
 
 @node No_Delay,No_Dependence,No_Default_Initialization,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-delay}@anchor{179}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-delay}@anchor{177}
 @subsection No_Delay
 
 
 @geindex No_Delay
 
 [RM H.4] This restriction ensures at compile time that there are no
-delay statements and no dependences on package Calendar.
+delay statements and no semantic dependences on package Calendar.
 
 @node No_Dependence,No_Direct_Boolean_Operators,No_Delay,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-dependence}@anchor{17a}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-dependence}@anchor{178}
 @subsection No_Dependence
 
 
 @geindex No_Dependence
 
-[RM 13.12.1] This restriction checks at compile time that there are no
-dependence on a library unit.
+[RM 13.12.1] This restriction ensures at compile time that there are no
+dependences on a library unit.
 
 @node No_Direct_Boolean_Operators,No_Dispatch,No_Dependence,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-direct-boolean-operators}@anchor{17b}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-direct-boolean-operators}@anchor{179}
 @subsection No_Direct_Boolean_Operators
 
 
@@ -11372,7 +11336,7 @@ protocol requires the use of short-circuit (and then, or else) forms for all
 composite boolean operations.
 
 @node No_Dispatch,No_Dispatching_Calls,No_Direct_Boolean_Operators,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-dispatch}@anchor{17c}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-dispatch}@anchor{17a}
 @subsection No_Dispatch
 
 
@@ -11382,7 +11346,7 @@ composite boolean operations.
 occurrences of @cite{T'Class}, for any (tagged) subtype @cite{T}.
 
 @node No_Dispatching_Calls,No_Dynamic_Attachment,No_Dispatch,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-dispatching-calls}@anchor{17d}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-dispatching-calls}@anchor{17b}
 @subsection No_Dispatching_Calls
 
 
@@ -11443,7 +11407,7 @@ end Example;
 @end example
 
 @node No_Dynamic_Attachment,No_Dynamic_Priorities,No_Dispatching_Calls,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-dynamic-attachment}@anchor{17e}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-dynamic-attachment}@anchor{17c}
 @subsection No_Dynamic_Attachment
 
 
@@ -11462,7 +11426,7 @@ compatibility purposes (and a warning will be generated for its use if
 warnings on obsolescent features are activated).
 
 @node No_Dynamic_Priorities,No_Entry_Calls_In_Elaboration_Code,No_Dynamic_Attachment,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-dynamic-priorities}@anchor{17f}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-dynamic-priorities}@anchor{17d}
 @subsection No_Dynamic_Priorities
 
 
@@ -11471,7 +11435,7 @@ warnings on obsolescent features are activated).
 [RM D.7] There are no semantic dependencies on the package Dynamic_Priorities.
 
 @node No_Entry_Calls_In_Elaboration_Code,No_Enumeration_Maps,No_Dynamic_Priorities,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-entry-calls-in-elaboration-code}@anchor{180}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-entry-calls-in-elaboration-code}@anchor{17e}
 @subsection No_Entry_Calls_In_Elaboration_Code
 
 
@@ -11483,7 +11447,7 @@ restriction, the compiler can assume that no code past an accept statement
 in a task can be executed at elaboration time.
 
 @node No_Enumeration_Maps,No_Exception_Handlers,No_Entry_Calls_In_Elaboration_Code,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-enumeration-maps}@anchor{181}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-enumeration-maps}@anchor{17f}
 @subsection No_Enumeration_Maps
 
 
@@ -11494,7 +11458,7 @@ enumeration maps are used (that is Image and Value attributes applied
 to enumeration types).
 
 @node No_Exception_Handlers,No_Exception_Propagation,No_Enumeration_Maps,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-exception-handlers}@anchor{182}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-exception-handlers}@anchor{180}
 @subsection No_Exception_Handlers
 
 
@@ -11519,7 +11483,7 @@ statement generated by the compiler). The Line parameter when nonzero
 represents the line number in the source program where the raise occurs.
 
 @node No_Exception_Propagation,No_Exception_Registration,No_Exception_Handlers,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-exception-propagation}@anchor{183}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-exception-propagation}@anchor{181}
 @subsection No_Exception_Propagation
 
 
@@ -11536,7 +11500,7 @@ the package GNAT.Current_Exception is not permitted, and reraise
 statements (raise with no operand) are not permitted.
 
 @node No_Exception_Registration,No_Exceptions,No_Exception_Propagation,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-exception-registration}@anchor{184}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-exception-registration}@anchor{182}
 @subsection No_Exception_Registration
 
 
@@ -11550,7 +11514,7 @@ code is simplified by omitting the otherwise-required global registration
 of exceptions when they are declared.
 
 @node No_Exceptions,No_Finalization,No_Exception_Registration,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-exceptions}@anchor{185}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-exceptions}@anchor{183}
 @subsection No_Exceptions
 
 
@@ -11560,7 +11524,7 @@ of exceptions when they are declared.
 raise statements and no exception handlers.
 
 @node No_Finalization,No_Fixed_Point,No_Exceptions,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-finalization}@anchor{186}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-finalization}@anchor{184}
 @subsection No_Finalization
 
 
@@ -11601,7 +11565,7 @@ object or a nested component, either declared on the stack or on the heap. The
 deallocation of a controlled object no longer finalizes its contents.
 
 @node No_Fixed_Point,No_Floating_Point,No_Finalization,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-fixed-point}@anchor{187}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-fixed-point}@anchor{185}
 @subsection No_Fixed_Point
 
 
@@ -11611,7 +11575,7 @@ deallocation of a controlled object no longer finalizes its contents.
 occurrences of fixed point types and operations.
 
 @node No_Floating_Point,No_Implicit_Conditionals,No_Fixed_Point,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-floating-point}@anchor{188}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-floating-point}@anchor{186}
 @subsection No_Floating_Point
 
 
@@ -11621,7 +11585,7 @@ occurrences of fixed point types and operations.
 occurrences of floating point types and operations.
 
 @node No_Implicit_Conditionals,No_Implicit_Dynamic_Code,No_Floating_Point,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-implicit-conditionals}@anchor{189}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-implicit-conditionals}@anchor{187}
 @subsection No_Implicit_Conditionals
 
 
@@ -11637,7 +11601,7 @@ normal manner. Constructs generating implicit conditionals include comparisons
 of composite objects and the Max/Min attributes.
 
 @node No_Implicit_Dynamic_Code,No_Implicit_Heap_Allocations,No_Implicit_Conditionals,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-implicit-dynamic-code}@anchor{18a}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-implicit-dynamic-code}@anchor{188}
 @subsection No_Implicit_Dynamic_Code
 
 
@@ -11667,7 +11631,7 @@ foreign-language convention; primitive operations of nested tagged
 types.
 
 @node No_Implicit_Heap_Allocations,No_Implicit_Loops,No_Implicit_Dynamic_Code,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-implicit-heap-allocations}@anchor{18b}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-implicit-heap-allocations}@anchor{189}
 @subsection No_Implicit_Heap_Allocations
 
 
@@ -11676,7 +11640,7 @@ types.
 [RM D.7] No constructs are allowed to cause implicit heap allocation.
 
 @node No_Implicit_Loops,No_Initialize_Scalars,No_Implicit_Heap_Allocations,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-implicit-loops}@anchor{18c}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-implicit-loops}@anchor{18a}
 @subsection No_Implicit_Loops
 
 
@@ -11693,7 +11657,7 @@ components. Otherwise, a loop is created for arrays larger than about 5000
 scalar components.
 
 @node No_Initialize_Scalars,No_IO,No_Implicit_Loops,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-initialize-scalars}@anchor{18d}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-initialize-scalars}@anchor{18b}
 @subsection No_Initialize_Scalars
 
 
@@ -11705,7 +11669,7 @@ code, and in particular eliminates dummy null initialization routines that
 are otherwise generated for some record and array types.
 
 @node No_IO,No_Local_Allocators,No_Initialize_Scalars,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-io}@anchor{18e}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-io}@anchor{18c}
 @subsection No_IO
 
 
@@ -11716,7 +11680,7 @@ dependences on any of the library units Sequential_IO, Direct_IO,
 Text_IO, Wide_Text_IO, Wide_Wide_Text_IO, or Stream_IO.
 
 @node No_Local_Allocators,No_Local_Protected_Objects,No_IO,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-local-allocators}@anchor{18f}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-local-allocators}@anchor{18d}
 @subsection No_Local_Allocators
 
 
@@ -11727,7 +11691,7 @@ occurrences of an allocator in subprograms, generic subprograms, tasks,
 and entry bodies.
 
 @node No_Local_Protected_Objects,No_Local_Timing_Events,No_Local_Allocators,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-local-protected-objects}@anchor{190}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-local-protected-objects}@anchor{18e}
 @subsection No_Local_Protected_Objects
 
 
@@ -11737,7 +11701,7 @@ and entry bodies.
 only declared at the library level.
 
 @node No_Local_Timing_Events,No_Long_Long_Integers,No_Local_Protected_Objects,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-local-timing-events}@anchor{191}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-local-timing-events}@anchor{18f}
 @subsection No_Local_Timing_Events
 
 
@@ -11747,7 +11711,7 @@ only declared at the library level.
 declared at the library level.
 
 @node No_Long_Long_Integers,No_Multiple_Elaboration,No_Local_Timing_Events,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-long-long-integers}@anchor{192}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-long-long-integers}@anchor{190}
 @subsection No_Long_Long_Integers
 
 
@@ -11759,7 +11723,7 @@ implicit base type is Long_Long_Integer, and modular types whose size exceeds
 Long_Integer'Size.
 
 @node No_Multiple_Elaboration,No_Nested_Finalization,No_Long_Long_Integers,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-multiple-elaboration}@anchor{193}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-multiple-elaboration}@anchor{191}
 @subsection No_Multiple_Elaboration
 
 
@@ -11780,7 +11744,7 @@ possible, including non-Ada main programs, and Stand Alone libraries, are not
 permitted, and will be diagnosed by the binder.
 
 @node No_Nested_Finalization,No_Protected_Type_Allocators,No_Multiple_Elaboration,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-nested-finalization}@anchor{194}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-nested-finalization}@anchor{192}
 @subsection No_Nested_Finalization
 
 
@@ -11789,7 +11753,7 @@ permitted, and will be diagnosed by the binder.
 [RM D.7] All objects requiring finalization are declared at the library level.
 
 @node No_Protected_Type_Allocators,No_Protected_Types,No_Nested_Finalization,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-protected-type-allocators}@anchor{195}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-protected-type-allocators}@anchor{193}
 @subsection No_Protected_Type_Allocators
 
 
@@ -11799,7 +11763,7 @@ permitted, and will be diagnosed by the binder.
 expressions that attempt to allocate protected objects.
 
 @node No_Protected_Types,No_Recursion,No_Protected_Type_Allocators,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-protected-types}@anchor{196}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-protected-types}@anchor{194}
 @subsection No_Protected_Types
 
 
@@ -11809,7 +11773,7 @@ expressions that attempt to allocate protected objects.
 declarations of protected types or protected objects.
 
 @node No_Recursion,No_Reentrancy,No_Protected_Types,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-recursion}@anchor{197}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-recursion}@anchor{195}
 @subsection No_Recursion
 
 
@@ -11819,7 +11783,7 @@ declarations of protected types or protected objects.
 part of its execution.
 
 @node No_Reentrancy,No_Relative_Delay,No_Recursion,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-reentrancy}@anchor{198}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-reentrancy}@anchor{196}
 @subsection No_Reentrancy
 
 
@@ -11829,7 +11793,7 @@ part of its execution.
 two tasks at the same time.
 
 @node No_Relative_Delay,No_Requeue_Statements,No_Reentrancy,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-relative-delay}@anchor{199}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-relative-delay}@anchor{197}
 @subsection No_Relative_Delay
 
 
@@ -11840,7 +11804,7 @@ relative statements and prevents expressions such as @cite{delay 1.23;} from
 appearing in source code.
 
 @node No_Requeue_Statements,No_Secondary_Stack,No_Relative_Delay,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-requeue-statements}@anchor{19a}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-requeue-statements}@anchor{198}
 @subsection No_Requeue_Statements
 
 
@@ -11858,7 +11822,7 @@ compatibility purposes (and a warning will be generated for its use if
 warnings on oNobsolescent features are activated).
 
 @node No_Secondary_Stack,No_Select_Statements,No_Requeue_Statements,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-secondary-stack}@anchor{19b}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-secondary-stack}@anchor{199}
 @subsection No_Secondary_Stack
 
 
@@ -11870,7 +11834,7 @@ stack is used to implement functions returning unconstrained objects
 (arrays or records) on some targets.
 
 @node No_Select_Statements,No_Specific_Termination_Handlers,No_Secondary_Stack,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-select-statements}@anchor{19c}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-select-statements}@anchor{19a}
 @subsection No_Select_Statements
 
 
@@ -11880,7 +11844,7 @@ stack is used to implement functions returning unconstrained objects
 kind are permitted, that is the keyword @cite{select} may not appear.
 
 @node No_Specific_Termination_Handlers,No_Specification_of_Aspect,No_Select_Statements,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-specific-termination-handlers}@anchor{19d}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-specific-termination-handlers}@anchor{19b}
 @subsection No_Specific_Termination_Handlers
 
 
@@ -11890,7 +11854,7 @@ kind are permitted, that is the keyword @cite{select} may not appear.
 or to Ada.Task_Termination.Specific_Handler.
 
 @node No_Specification_of_Aspect,No_Standard_Allocators_After_Elaboration,No_Specific_Termination_Handlers,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-specification-of-aspect}@anchor{19e}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-specification-of-aspect}@anchor{19c}
 @subsection No_Specification_of_Aspect
 
 
@@ -11901,7 +11865,7 @@ specification, attribute definition clause, or pragma is given for a
 given aspect.
 
 @node No_Standard_Allocators_After_Elaboration,No_Standard_Storage_Pools,No_Specification_of_Aspect,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-standard-allocators-after-elaboration}@anchor{19f}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-standard-allocators-after-elaboration}@anchor{19d}
 @subsection No_Standard_Allocators_After_Elaboration
 
 
@@ -11913,7 +11877,7 @@ library items of the partition has completed. Otherwise, Storage_Error
 is raised.
 
 @node No_Standard_Storage_Pools,No_Stream_Optimizations,No_Standard_Allocators_After_Elaboration,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-standard-storage-pools}@anchor{1a0}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-standard-storage-pools}@anchor{19e}
 @subsection No_Standard_Storage_Pools
 
 
@@ -11925,7 +11889,7 @@ have an explicit Storage_Pool attribute defined specifying a
 user-defined storage pool.
 
 @node No_Stream_Optimizations,No_Streams,No_Standard_Storage_Pools,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-stream-optimizations}@anchor{1a1}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-stream-optimizations}@anchor{19f}
 @subsection No_Stream_Optimizations
 
 
@@ -11938,7 +11902,7 @@ due to their supperior performance. When this restriction is in effect, the
 compiler performs all IO operations on a per-character basis.
 
 @node No_Streams,No_Task_Allocators,No_Stream_Optimizations,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-streams}@anchor{1a2}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-streams}@anchor{1a0}
 @subsection No_Streams
 
 
@@ -11959,7 +11923,7 @@ unit declaring a tagged type should be compiled with the restriction,
 though this is not required.
 
 @node No_Task_Allocators,No_Task_Attributes_Package,No_Streams,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-task-allocators}@anchor{1a3}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-task-allocators}@anchor{1a1}
 @subsection No_Task_Allocators
 
 
@@ -11969,7 +11933,7 @@ though this is not required.
 or types containing task subcomponents.
 
 @node No_Task_Attributes_Package,No_Task_Hierarchy,No_Task_Allocators,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-task-attributes-package}@anchor{1a4}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-task-attributes-package}@anchor{1a2}
 @subsection No_Task_Attributes_Package
 
 
@@ -11986,7 +11950,7 @@ compatibility purposes (and a warning will be generated for its use if
 warnings on obsolescent features are activated).
 
 @node No_Task_Hierarchy,No_Task_Termination,No_Task_Attributes_Package,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-task-hierarchy}@anchor{1a5}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-task-hierarchy}@anchor{1a3}
 @subsection No_Task_Hierarchy
 
 
@@ -11996,7 +11960,7 @@ warnings on obsolescent features are activated).
 directly on the environment task of the partition.
 
 @node No_Task_Termination,No_Tasking,No_Task_Hierarchy,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-task-termination}@anchor{1a6}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-task-termination}@anchor{1a4}
 @subsection No_Task_Termination
 
 
@@ -12005,7 +11969,7 @@ directly on the environment task of the partition.
 [RM D.7] Tasks that terminate are erroneous.
 
 @node No_Tasking,No_Terminate_Alternatives,No_Task_Termination,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-tasking}@anchor{1a7}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-tasking}@anchor{1a5}
 @subsection No_Tasking
 
 
@@ -12018,7 +11982,7 @@ and cause an error message to be output either by the compiler or
 binder.
 
 @node No_Terminate_Alternatives,No_Unchecked_Access,No_Tasking,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-terminate-alternatives}@anchor{1a8}
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-terminate-alternatives}@anchor{1a6}
 @subsection No_Terminate_Alternatives
 
 
@@ -12026,8 +11990,8 @@ binder.
 
 [RM D.7] There are no selective accepts with terminate alternatives.
 
-@node No_Unchecked_Access,No_Use_Of_Entity,No_Terminate_Alternatives,Partition-Wide Restrictions
-@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-unchecked-access}@anchor{1a9}
+@node No_Unchecked_Access,No_Unchecked_Conversion,No_Terminate_Alternatives,Partition-Wide Restrictions
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-unchecked-access}@anchor{1a7}
 @subsection No_Unchecked_Access
 
 
@@ -12036,7 +12000,27 @@ binder.
 [RM H.4] This restriction ensures at compile time that there are no
 occurrences of the Unchecked_Access attribute.
 
-@node No_Use_Of_Entity,Simple_Barriers,No_Unchecked_Access,Partition-Wide Restrictions
+@node No_Unchecked_Conversion,No_Unchecked_Deallocation,No_Unchecked_Access,Partition-Wide Restrictions
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-unchecked-conversion}@anchor{1a8}
+@subsection No_Unchecked_Conversion
+
+
+@geindex No_Unchecked_Conversion
+
+[RM J.13] This restriction ensures at compile time that there are no semantic
+dependences on the predefined generic function Unchecked_Conversion.
+
+@node No_Unchecked_Deallocation,No_Use_Of_Entity,No_Unchecked_Conversion,Partition-Wide Restrictions
+@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-unchecked-deallocation}@anchor{1a9}
+@subsection No_Unchecked_Deallocation
+
+
+@geindex No_Unchecked_Deallocation
+
+[RM J.13] This restriction ensures at compile time that there are no semantic
+dependences on the predefined generic procedure Unchecked_Deallocation.
+
+@node No_Use_Of_Entity,Simple_Barriers,No_Unchecked_Deallocation,Partition-Wide Restrictions
 @anchor{gnat_rm/standard_and_implementation_defined_restrictions no-use-of-entity}@anchor{1aa}
 @subsection No_Use_Of_Entity
 
@@ -15320,18 +15304,11 @@ the last line is a single @cite{LF} character (@cite{16#0A#}).
 "Implementation-defined check names.  See 11.5(27)."
 @end itemize
 
-The implementation defined check name Alignment_Check controls checking of
-address clause values for proper alignment (that is, the address supplied
-must be consistent with the alignment of the type).
-
-The implementation defined check name Predicate_Check controls whether
-predicate checks are generated.
-
-The implementation defined check name Validity_Check controls whether
-validity checks are generated.
-
-In addition, a user program can add implementation-defined check names
-by means of the pragma Check_Name.
+The implementation defined check names include Alignment_Check,
+Atomic_Synchronization, Duplicated_Tag_Check, Container_Checks,
+Tampering_Check, Predicate_Check, and Validity_Check. In addition, a user
+program can add implementation-defined check names by means of the pragma
+Check_Name. See the description of pragma @cite{Suppress} for full details.
 
 
 @itemize *
@@ -17239,7 +17216,7 @@ For primitive types, the alignment is the minimum of the actual size of
 objects of the type divided by @cite{Storage_Unit},
 and the maximum alignment supported by the target.
 (This maximum alignment is given by the GNAT-specific attribute
-@cite{Standard'Maximum_Alignment}; see @ref{141,,Attribute Maximum_Alignment}.)
+@cite{Standard'Maximum_Alignment}; see @ref{13e,,Attribute Maximum_Alignment}.)
 
 @geindex Maximum_Alignment attribute
 
@@ -21884,6 +21861,7 @@ of GNAT, and will generate a warning message.
 * 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.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. 
@@ -22607,7 +22585,7 @@ Useful array-manipulation routines: given a set of separators, split
 an array wherever the separators appear, and provide direct access
 to the resulting slices.
 
-@node GNAT AWK g-awk ads,GNAT Bounded_Buffers g-boubuf ads,GNAT Array_Split g-arrspl ads,The GNAT Library
+@node GNAT AWK g-awk ads,GNAT Bind_Environment g-binenv ads,GNAT Array_Split g-arrspl ads,The GNAT Library
 @anchor{gnat_rm/the_gnat_library id41}@anchor{2c8}@anchor{gnat_rm/the_gnat_library gnat-awk-g-awk-ads}@anchor{2c9}
 @section @cite{GNAT.AWK} (@code{g-awk.ads})
 
@@ -22622,8 +22600,21 @@ Provides AWK-like parsing functions, with an easy interface for parsing one
 or more files containing formatted data.  The file is viewed as a database
 where each record is a line and a field is a data element in this line.
 
-@node GNAT Bounded_Buffers g-boubuf ads,GNAT Bounded_Mailboxes g-boumai ads,GNAT AWK g-awk ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-bounded-buffers-g-boubuf-ads}@anchor{2ca}@anchor{gnat_rm/the_gnat_library id42}@anchor{2cb}
+@node GNAT Bind_Environment g-binenv ads,GNAT Bounded_Buffers g-boubuf ads,GNAT AWK g-awk ads,The GNAT Library
+@anchor{gnat_rm/the_gnat_library gnat-bind-environment-g-binenv-ads}@anchor{2ca}@anchor{gnat_rm/the_gnat_library id42}@anchor{2cb}
+@section @cite{GNAT.Bind_Environment} (@code{g-binenv.ads})
+
+
+@geindex GNAT.Bind_Environment (g-binenv.ads)
+
+@geindex Bind environment
+
+Provides access to key=value associations captured at bind time.
+These associations can be specified using the @cite{-V} binder command
+line switch.
+
+@node GNAT Bounded_Buffers g-boubuf ads,GNAT Bounded_Mailboxes g-boumai ads,GNAT Bind_Environment g-binenv ads,The GNAT Library
+@anchor{gnat_rm/the_gnat_library gnat-bounded-buffers-g-boubuf-ads}@anchor{2cc}@anchor{gnat_rm/the_gnat_library id43}@anchor{2cd}
 @section @cite{GNAT.Bounded_Buffers} (@code{g-boubuf.ads})
 
 
@@ -22638,7 +22629,7 @@ useful directly or as parts of the implementations of other abstractions,
 such as mailboxes.
 
 @node GNAT Bounded_Mailboxes g-boumai ads,GNAT Bubble_Sort g-bubsor ads,GNAT Bounded_Buffers g-boubuf ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-bounded-mailboxes-g-boumai-ads}@anchor{2cc}@anchor{gnat_rm/the_gnat_library id43}@anchor{2cd}
+@anchor{gnat_rm/the_gnat_library id44}@anchor{2ce}@anchor{gnat_rm/the_gnat_library gnat-bounded-mailboxes-g-boumai-ads}@anchor{2cf}
 @section @cite{GNAT.Bounded_Mailboxes} (@code{g-boumai.ads})
 
 
@@ -22651,7 +22642,7 @@ such as mailboxes.
 Provides a thread-safe asynchronous intertask mailbox communication facility.
 
 @node GNAT Bubble_Sort g-bubsor ads,GNAT Bubble_Sort_A g-busora ads,GNAT Bounded_Mailboxes g-boumai ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-bubble-sort-g-bubsor-ads}@anchor{2ce}@anchor{gnat_rm/the_gnat_library id44}@anchor{2cf}
+@anchor{gnat_rm/the_gnat_library gnat-bubble-sort-g-bubsor-ads}@anchor{2d0}@anchor{gnat_rm/the_gnat_library id45}@anchor{2d1}
 @section @cite{GNAT.Bubble_Sort} (@code{g-bubsor.ads})
 
 
@@ -22666,7 +22657,7 @@ data items.  Exchange and comparison procedures are provided by passing
 access-to-procedure values.
 
 @node GNAT Bubble_Sort_A g-busora ads,GNAT Bubble_Sort_G g-busorg ads,GNAT Bubble_Sort g-bubsor ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id45}@anchor{2d0}@anchor{gnat_rm/the_gnat_library gnat-bubble-sort-a-g-busora-ads}@anchor{2d1}
+@anchor{gnat_rm/the_gnat_library id46}@anchor{2d2}@anchor{gnat_rm/the_gnat_library gnat-bubble-sort-a-g-busora-ads}@anchor{2d3}
 @section @cite{GNAT.Bubble_Sort_A} (@code{g-busora.ads})
 
 
@@ -22682,7 +22673,7 @@ access-to-procedure values. This is an older version, retained for
 compatibility. Usually @cite{GNAT.Bubble_Sort} will be preferable.
 
 @node GNAT Bubble_Sort_G g-busorg ads,GNAT Byte_Order_Mark g-byorma ads,GNAT Bubble_Sort_A g-busora ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id46}@anchor{2d2}@anchor{gnat_rm/the_gnat_library gnat-bubble-sort-g-g-busorg-ads}@anchor{2d3}
+@anchor{gnat_rm/the_gnat_library id47}@anchor{2d4}@anchor{gnat_rm/the_gnat_library gnat-bubble-sort-g-g-busorg-ads}@anchor{2d5}
 @section @cite{GNAT.Bubble_Sort_G} (@code{g-busorg.ads})
 
 
@@ -22698,7 +22689,7 @@ if the procedures can be inlined, at the expense of duplicating code for
 multiple instantiations.
 
 @node GNAT Byte_Order_Mark g-byorma ads,GNAT Byte_Swapping g-bytswa ads,GNAT Bubble_Sort_G g-busorg ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id47}@anchor{2d4}@anchor{gnat_rm/the_gnat_library gnat-byte-order-mark-g-byorma-ads}@anchor{2d5}
+@anchor{gnat_rm/the_gnat_library gnat-byte-order-mark-g-byorma-ads}@anchor{2d6}@anchor{gnat_rm/the_gnat_library id48}@anchor{2d7}
 @section @cite{GNAT.Byte_Order_Mark} (@code{g-byorma.ads})
 
 
@@ -22714,7 +22705,7 @@ the encoding of the string. The routine includes detection of special XML
 sequences for various UCS input formats.
 
 @node GNAT Byte_Swapping g-bytswa ads,GNAT Calendar g-calend ads,GNAT Byte_Order_Mark g-byorma ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-byte-swapping-g-bytswa-ads}@anchor{2d6}@anchor{gnat_rm/the_gnat_library id48}@anchor{2d7}
+@anchor{gnat_rm/the_gnat_library gnat-byte-swapping-g-bytswa-ads}@anchor{2d8}@anchor{gnat_rm/the_gnat_library id49}@anchor{2d9}
 @section @cite{GNAT.Byte_Swapping} (@code{g-bytswa.ads})
 
 
@@ -22728,7 +22719,7 @@ General routines for swapping the bytes in 2-, 4-, and 8-byte quantities.
 Machine-specific implementations are available in some cases.
 
 @node GNAT Calendar g-calend ads,GNAT Calendar Time_IO g-catiio ads,GNAT Byte_Swapping g-bytswa ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-calendar-g-calend-ads}@anchor{2d8}@anchor{gnat_rm/the_gnat_library id49}@anchor{2d9}
+@anchor{gnat_rm/the_gnat_library id50}@anchor{2da}@anchor{gnat_rm/the_gnat_library gnat-calendar-g-calend-ads}@anchor{2db}
 @section @cite{GNAT.Calendar} (@code{g-calend.ads})
 
 
@@ -22742,7 +22733,7 @@ Also provides conversion of @cite{Ada.Calendar.Time} values to and from the
 C @cite{timeval} format.
 
 @node GNAT Calendar Time_IO g-catiio ads,GNAT CRC32 g-crc32 ads,GNAT Calendar g-calend ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-calendar-time-io-g-catiio-ads}@anchor{2da}@anchor{gnat_rm/the_gnat_library id50}@anchor{2db}
+@anchor{gnat_rm/the_gnat_library gnat-calendar-time-io-g-catiio-ads}@anchor{2dc}@anchor{gnat_rm/the_gnat_library id51}@anchor{2dd}
 @section @cite{GNAT.Calendar.Time_IO} (@code{g-catiio.ads})
 
 
@@ -22753,7 +22744,7 @@ C @cite{timeval} format.
 @geindex GNAT.Calendar.Time_IO (g-catiio.ads)
 
 @node GNAT CRC32 g-crc32 ads,GNAT Case_Util g-casuti ads,GNAT Calendar Time_IO g-catiio ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id51}@anchor{2dc}@anchor{gnat_rm/the_gnat_library gnat-crc32-g-crc32-ads}@anchor{2dd}
+@anchor{gnat_rm/the_gnat_library id52}@anchor{2de}@anchor{gnat_rm/the_gnat_library gnat-crc32-g-crc32-ads}@anchor{2df}
 @section @cite{GNAT.CRC32} (@code{g-crc32.ads})
 
 
@@ -22770,7 +22761,7 @@ of this algorithm see
 Aug. 1988.  Sarwate, D.V.
 
 @node GNAT Case_Util g-casuti ads,GNAT CGI g-cgi ads,GNAT CRC32 g-crc32 ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-case-util-g-casuti-ads}@anchor{2de}@anchor{gnat_rm/the_gnat_library id52}@anchor{2df}
+@anchor{gnat_rm/the_gnat_library gnat-case-util-g-casuti-ads}@anchor{2e0}@anchor{gnat_rm/the_gnat_library id53}@anchor{2e1}
 @section @cite{GNAT.Case_Util} (@code{g-casuti.ads})
 
 
@@ -22785,7 +22776,7 @@ without the overhead of the full casing tables
 in @cite{Ada.Characters.Handling}.
 
 @node GNAT CGI g-cgi ads,GNAT CGI Cookie g-cgicoo ads,GNAT Case_Util g-casuti ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id53}@anchor{2e0}@anchor{gnat_rm/the_gnat_library gnat-cgi-g-cgi-ads}@anchor{2e1}
+@anchor{gnat_rm/the_gnat_library id54}@anchor{2e2}@anchor{gnat_rm/the_gnat_library gnat-cgi-g-cgi-ads}@anchor{2e3}
 @section @cite{GNAT.CGI} (@code{g-cgi.ads})
 
 
@@ -22800,7 +22791,7 @@ builds a table whose index is the key and provides some services to deal
 with this table.
 
 @node GNAT CGI Cookie g-cgicoo ads,GNAT CGI Debug g-cgideb ads,GNAT CGI g-cgi ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id54}@anchor{2e2}@anchor{gnat_rm/the_gnat_library gnat-cgi-cookie-g-cgicoo-ads}@anchor{2e3}
+@anchor{gnat_rm/the_gnat_library gnat-cgi-cookie-g-cgicoo-ads}@anchor{2e4}@anchor{gnat_rm/the_gnat_library id55}@anchor{2e5}
 @section @cite{GNAT.CGI.Cookie} (@code{g-cgicoo.ads})
 
 
@@ -22815,7 +22806,7 @@ Common Gateway Interface (CGI).  It exports services to deal with Web
 cookies (piece of information kept in the Web client software).
 
 @node GNAT CGI Debug g-cgideb ads,GNAT Command_Line g-comlin ads,GNAT CGI Cookie g-cgicoo ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-cgi-debug-g-cgideb-ads}@anchor{2e4}@anchor{gnat_rm/the_gnat_library id55}@anchor{2e5}
+@anchor{gnat_rm/the_gnat_library gnat-cgi-debug-g-cgideb-ads}@anchor{2e6}@anchor{gnat_rm/the_gnat_library id56}@anchor{2e7}
 @section @cite{GNAT.CGI.Debug} (@code{g-cgideb.ads})
 
 
@@ -22827,7 +22818,7 @@ This is a package to help debugging CGI (Common Gateway Interface)
 programs written in Ada.
 
 @node GNAT Command_Line g-comlin ads,GNAT Compiler_Version g-comver ads,GNAT CGI Debug g-cgideb ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id56}@anchor{2e6}@anchor{gnat_rm/the_gnat_library gnat-command-line-g-comlin-ads}@anchor{2e7}
+@anchor{gnat_rm/the_gnat_library id57}@anchor{2e8}@anchor{gnat_rm/the_gnat_library gnat-command-line-g-comlin-ads}@anchor{2e9}
 @section @cite{GNAT.Command_Line} (@code{g-comlin.ads})
 
 
@@ -22840,7 +22831,7 @@ including the ability to scan for named switches with optional parameters
 and expand file names using wild card notations.
 
 @node GNAT Compiler_Version g-comver ads,GNAT Ctrl_C g-ctrl_c ads,GNAT Command_Line g-comlin ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-compiler-version-g-comver-ads}@anchor{2e8}@anchor{gnat_rm/the_gnat_library id57}@anchor{2e9}
+@anchor{gnat_rm/the_gnat_library gnat-compiler-version-g-comver-ads}@anchor{2ea}@anchor{gnat_rm/the_gnat_library id58}@anchor{2eb}
 @section @cite{GNAT.Compiler_Version} (@code{g-comver.ads})
 
 
@@ -22858,7 +22849,7 @@ of the compiler if a consistent tool set is used to compile all units
 of a partition).
 
 @node GNAT Ctrl_C g-ctrl_c ads,GNAT Current_Exception g-curexc ads,GNAT Compiler_Version g-comver ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id58}@anchor{2ea}@anchor{gnat_rm/the_gnat_library gnat-ctrl-c-g-ctrl-c-ads}@anchor{2eb}
+@anchor{gnat_rm/the_gnat_library gnat-ctrl-c-g-ctrl-c-ads}@anchor{2ec}@anchor{gnat_rm/the_gnat_library id59}@anchor{2ed}
 @section @cite{GNAT.Ctrl_C} (@code{g-ctrl_c.ads})
 
 
@@ -22869,7 +22860,7 @@ of a partition).
 Provides a simple interface to handle Ctrl-C keyboard events.
 
 @node GNAT Current_Exception g-curexc ads,GNAT Debug_Pools g-debpoo ads,GNAT Ctrl_C g-ctrl_c ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id59}@anchor{2ec}@anchor{gnat_rm/the_gnat_library gnat-current-exception-g-curexc-ads}@anchor{2ed}
+@anchor{gnat_rm/the_gnat_library id60}@anchor{2ee}@anchor{gnat_rm/the_gnat_library gnat-current-exception-g-curexc-ads}@anchor{2ef}
 @section @cite{GNAT.Current_Exception} (@code{g-curexc.ads})
 
 
@@ -22886,7 +22877,7 @@ This is particularly useful in simulating typical facilities for
 obtaining information about exceptions provided by Ada 83 compilers.
 
 @node GNAT Debug_Pools g-debpoo ads,GNAT Debug_Utilities g-debuti ads,GNAT Current_Exception g-curexc ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-debug-pools-g-debpoo-ads}@anchor{2ee}@anchor{gnat_rm/the_gnat_library id60}@anchor{2ef}
+@anchor{gnat_rm/the_gnat_library gnat-debug-pools-g-debpoo-ads}@anchor{2f0}@anchor{gnat_rm/the_gnat_library id61}@anchor{2f1}
 @section @cite{GNAT.Debug_Pools} (@code{g-debpoo.ads})
 
 
@@ -22903,7 +22894,7 @@ problems.
 See @cite{The GNAT Debug_Pool Facility} section in the @cite{GNAT User's Guide}.
 
 @node GNAT Debug_Utilities g-debuti ads,GNAT Decode_String g-decstr ads,GNAT Debug_Pools g-debpoo ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-debug-utilities-g-debuti-ads}@anchor{2f0}@anchor{gnat_rm/the_gnat_library id61}@anchor{2f1}
+@anchor{gnat_rm/the_gnat_library gnat-debug-utilities-g-debuti-ads}@anchor{2f2}@anchor{gnat_rm/the_gnat_library id62}@anchor{2f3}
 @section @cite{GNAT.Debug_Utilities} (@code{g-debuti.ads})
 
 
@@ -22916,7 +22907,7 @@ to and from string images of address values. Supports both C and Ada formats
 for hexadecimal literals.
 
 @node GNAT Decode_String g-decstr ads,GNAT Decode_UTF8_String g-deutst ads,GNAT Debug_Utilities g-debuti ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-decode-string-g-decstr-ads}@anchor{2f2}@anchor{gnat_rm/the_gnat_library id62}@anchor{2f3}
+@anchor{gnat_rm/the_gnat_library gnat-decode-string-g-decstr-ads}@anchor{2f4}@anchor{gnat_rm/the_gnat_library id63}@anchor{2f5}
 @section @cite{GNAT.Decode_String} (@code{g-decstr.ads})
 
 
@@ -22940,7 +22931,7 @@ Useful in conjunction with Unicode character coding. Note there is a
 preinstantiation for UTF-8. See next entry.
 
 @node GNAT Decode_UTF8_String g-deutst ads,GNAT Directory_Operations g-dirope ads,GNAT Decode_String g-decstr ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-decode-utf8-string-g-deutst-ads}@anchor{2f4}@anchor{gnat_rm/the_gnat_library id63}@anchor{2f5}
+@anchor{gnat_rm/the_gnat_library gnat-decode-utf8-string-g-deutst-ads}@anchor{2f6}@anchor{gnat_rm/the_gnat_library id64}@anchor{2f7}
 @section @cite{GNAT.Decode_UTF8_String} (@code{g-deutst.ads})
 
 
@@ -22961,7 +22952,7 @@ preinstantiation for UTF-8. See next entry.
 A preinstantiation of GNAT.Decode_Strings for UTF-8 encoding.
 
 @node GNAT Directory_Operations g-dirope ads,GNAT Directory_Operations Iteration g-diopit ads,GNAT Decode_UTF8_String g-deutst ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id64}@anchor{2f6}@anchor{gnat_rm/the_gnat_library gnat-directory-operations-g-dirope-ads}@anchor{2f7}
+@anchor{gnat_rm/the_gnat_library id65}@anchor{2f8}@anchor{gnat_rm/the_gnat_library gnat-directory-operations-g-dirope-ads}@anchor{2f9}
 @section @cite{GNAT.Directory_Operations} (@code{g-dirope.ads})
 
 
@@ -22974,7 +22965,7 @@ the current directory, making new directories, and scanning the files in a
 directory.
 
 @node GNAT Directory_Operations Iteration g-diopit ads,GNAT Dynamic_HTables g-dynhta ads,GNAT Directory_Operations g-dirope ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id65}@anchor{2f8}@anchor{gnat_rm/the_gnat_library gnat-directory-operations-iteration-g-diopit-ads}@anchor{2f9}
+@anchor{gnat_rm/the_gnat_library id66}@anchor{2fa}@anchor{gnat_rm/the_gnat_library gnat-directory-operations-iteration-g-diopit-ads}@anchor{2fb}
 @section @cite{GNAT.Directory_Operations.Iteration} (@code{g-diopit.ads})
 
 
@@ -22986,7 +22977,7 @@ A child unit of GNAT.Directory_Operations providing additional operations
 for iterating through directories.
 
 @node GNAT Dynamic_HTables g-dynhta ads,GNAT Dynamic_Tables g-dyntab ads,GNAT Directory_Operations Iteration g-diopit ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-dynamic-htables-g-dynhta-ads}@anchor{2fa}@anchor{gnat_rm/the_gnat_library id66}@anchor{2fb}
+@anchor{gnat_rm/the_gnat_library id67}@anchor{2fc}@anchor{gnat_rm/the_gnat_library gnat-dynamic-htables-g-dynhta-ads}@anchor{2fd}
 @section @cite{GNAT.Dynamic_HTables} (@code{g-dynhta.ads})
 
 
@@ -23004,7 +22995,7 @@ dynamic instances of the hash table, while an instantiation of
 @cite{GNAT.HTable} creates a single instance of the hash table.
 
 @node GNAT Dynamic_Tables g-dyntab ads,GNAT Encode_String g-encstr ads,GNAT Dynamic_HTables g-dynhta ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-dynamic-tables-g-dyntab-ads}@anchor{2fc}@anchor{gnat_rm/the_gnat_library id67}@anchor{2fd}
+@anchor{gnat_rm/the_gnat_library gnat-dynamic-tables-g-dyntab-ads}@anchor{2fe}@anchor{gnat_rm/the_gnat_library id68}@anchor{2ff}
 @section @cite{GNAT.Dynamic_Tables} (@code{g-dyntab.ads})
 
 
@@ -23024,7 +23015,7 @@ dynamic instances of the table, while an instantiation of
 @cite{GNAT.Table} creates a single instance of the table type.
 
 @node GNAT Encode_String g-encstr ads,GNAT Encode_UTF8_String g-enutst ads,GNAT Dynamic_Tables g-dyntab ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id68}@anchor{2fe}@anchor{gnat_rm/the_gnat_library gnat-encode-string-g-encstr-ads}@anchor{2ff}
+@anchor{gnat_rm/the_gnat_library id69}@anchor{300}@anchor{gnat_rm/the_gnat_library gnat-encode-string-g-encstr-ads}@anchor{301}
 @section @cite{GNAT.Encode_String} (@code{g-encstr.ads})
 
 
@@ -23046,7 +23037,7 @@ encoding method. Useful in conjunction with Unicode character coding.
 Note there is a preinstantiation for UTF-8. See next entry.
 
 @node GNAT Encode_UTF8_String g-enutst ads,GNAT Exception_Actions g-excact ads,GNAT Encode_String g-encstr ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-encode-utf8-string-g-enutst-ads}@anchor{300}@anchor{gnat_rm/the_gnat_library id69}@anchor{301}
+@anchor{gnat_rm/the_gnat_library gnat-encode-utf8-string-g-enutst-ads}@anchor{302}@anchor{gnat_rm/the_gnat_library id70}@anchor{303}
 @section @cite{GNAT.Encode_UTF8_String} (@code{g-enutst.ads})
 
 
@@ -23067,7 +23058,7 @@ Note there is a preinstantiation for UTF-8. See next entry.
 A preinstantiation of GNAT.Encode_Strings for UTF-8 encoding.
 
 @node GNAT Exception_Actions g-excact ads,GNAT Exception_Traces g-exctra ads,GNAT Encode_UTF8_String g-enutst ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id70}@anchor{302}@anchor{gnat_rm/the_gnat_library gnat-exception-actions-g-excact-ads}@anchor{303}
+@anchor{gnat_rm/the_gnat_library id71}@anchor{304}@anchor{gnat_rm/the_gnat_library gnat-exception-actions-g-excact-ads}@anchor{305}
 @section @cite{GNAT.Exception_Actions} (@code{g-excact.ads})
 
 
@@ -23080,7 +23071,7 @@ for specific exceptions, or when any exception is raised. This
 can be used for instance to force a core dump to ease debugging.
 
 @node GNAT Exception_Traces g-exctra ads,GNAT Exceptions g-expect ads,GNAT Exception_Actions g-excact ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-exception-traces-g-exctra-ads}@anchor{304}@anchor{gnat_rm/the_gnat_library id71}@anchor{305}
+@anchor{gnat_rm/the_gnat_library id72}@anchor{306}@anchor{gnat_rm/the_gnat_library gnat-exception-traces-g-exctra-ads}@anchor{307}
 @section @cite{GNAT.Exception_Traces} (@code{g-exctra.ads})
 
 
@@ -23094,7 +23085,7 @@ Provides an interface allowing to control automatic output upon exception
 occurrences.
 
 @node GNAT Exceptions g-expect ads,GNAT Expect g-expect ads,GNAT Exception_Traces g-exctra ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id72}@anchor{306}@anchor{gnat_rm/the_gnat_library gnat-exceptions-g-expect-ads}@anchor{307}
+@anchor{gnat_rm/the_gnat_library id73}@anchor{308}@anchor{gnat_rm/the_gnat_library gnat-exceptions-g-expect-ads}@anchor{309}
 @section @cite{GNAT.Exceptions} (@code{g-expect.ads})
 
 
@@ -23115,7 +23106,7 @@ predefined exceptions, and for example allow raising
 @cite{Constraint_Error} with a message from a pure subprogram.
 
 @node GNAT Expect g-expect ads,GNAT Expect TTY g-exptty ads,GNAT Exceptions g-expect ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id73}@anchor{308}@anchor{gnat_rm/the_gnat_library gnat-expect-g-expect-ads}@anchor{309}
+@anchor{gnat_rm/the_gnat_library gnat-expect-g-expect-ads}@anchor{30a}@anchor{gnat_rm/the_gnat_library id74}@anchor{30b}
 @section @cite{GNAT.Expect} (@code{g-expect.ads})
 
 
@@ -23131,7 +23122,7 @@ It is not implemented for cross ports, and in particular is not
 implemented for VxWorks or LynxOS.
 
 @node GNAT Expect TTY g-exptty ads,GNAT Float_Control g-flocon ads,GNAT Expect g-expect ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id74}@anchor{30a}@anchor{gnat_rm/the_gnat_library gnat-expect-tty-g-exptty-ads}@anchor{30b}
+@anchor{gnat_rm/the_gnat_library gnat-expect-tty-g-exptty-ads}@anchor{30c}@anchor{gnat_rm/the_gnat_library id75}@anchor{30d}
 @section @cite{GNAT.Expect.TTY} (@code{g-exptty.ads})
 
 
@@ -23143,7 +23134,7 @@ ports. It is not implemented for cross ports, and
 in particular is not implemented for VxWorks or LynxOS.
 
 @node GNAT Float_Control g-flocon ads,GNAT Formatted_String g-forstr ads,GNAT Expect TTY g-exptty ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id75}@anchor{30c}@anchor{gnat_rm/the_gnat_library gnat-float-control-g-flocon-ads}@anchor{30d}
+@anchor{gnat_rm/the_gnat_library id76}@anchor{30e}@anchor{gnat_rm/the_gnat_library gnat-float-control-g-flocon-ads}@anchor{30f}
 @section @cite{GNAT.Float_Control} (@code{g-flocon.ads})
 
 
@@ -23157,7 +23148,7 @@ library calls may cause this mode to be modified, and the Reset procedure
 in this package can be used to reestablish the required mode.
 
 @node GNAT Formatted_String g-forstr ads,GNAT Heap_Sort g-heasor ads,GNAT Float_Control g-flocon ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id76}@anchor{30e}@anchor{gnat_rm/the_gnat_library gnat-formatted-string-g-forstr-ads}@anchor{30f}
+@anchor{gnat_rm/the_gnat_library gnat-formatted-string-g-forstr-ads}@anchor{310}@anchor{gnat_rm/the_gnat_library id77}@anchor{311}
 @section @cite{GNAT.Formatted_String} (@code{g-forstr.ads})
 
 
@@ -23172,7 +23163,7 @@ derived from Integer, Float or enumerations as values for the
 formatted string.
 
 @node GNAT Heap_Sort g-heasor ads,GNAT Heap_Sort_A g-hesora ads,GNAT Formatted_String g-forstr ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-heap-sort-g-heasor-ads}@anchor{310}@anchor{gnat_rm/the_gnat_library id77}@anchor{311}
+@anchor{gnat_rm/the_gnat_library gnat-heap-sort-g-heasor-ads}@anchor{312}@anchor{gnat_rm/the_gnat_library id78}@anchor{313}
 @section @cite{GNAT.Heap_Sort} (@code{g-heasor.ads})
 
 
@@ -23186,7 +23177,7 @@ access-to-procedure values.  The algorithm used is a modified heap sort
 that performs approximately N*log(N) comparisons in the worst case.
 
 @node GNAT Heap_Sort_A g-hesora ads,GNAT Heap_Sort_G g-hesorg ads,GNAT Heap_Sort g-heasor ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id78}@anchor{312}@anchor{gnat_rm/the_gnat_library gnat-heap-sort-a-g-hesora-ads}@anchor{313}
+@anchor{gnat_rm/the_gnat_library id79}@anchor{314}@anchor{gnat_rm/the_gnat_library gnat-heap-sort-a-g-hesora-ads}@anchor{315}
 @section @cite{GNAT.Heap_Sort_A} (@code{g-hesora.ads})
 
 
@@ -23202,7 +23193,7 @@ This differs from @cite{GNAT.Heap_Sort} in having a less convenient
 interface, but may be slightly more efficient.
 
 @node GNAT Heap_Sort_G g-hesorg ads,GNAT HTable g-htable ads,GNAT Heap_Sort_A g-hesora ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id79}@anchor{314}@anchor{gnat_rm/the_gnat_library gnat-heap-sort-g-g-hesorg-ads}@anchor{315}
+@anchor{gnat_rm/the_gnat_library id80}@anchor{316}@anchor{gnat_rm/the_gnat_library gnat-heap-sort-g-g-hesorg-ads}@anchor{317}
 @section @cite{GNAT.Heap_Sort_G} (@code{g-hesorg.ads})
 
 
@@ -23216,7 +23207,7 @@ if the procedures can be inlined, at the expense of duplicating code for
 multiple instantiations.
 
 @node GNAT HTable g-htable ads,GNAT IO g-io ads,GNAT Heap_Sort_G g-hesorg ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id80}@anchor{316}@anchor{gnat_rm/the_gnat_library gnat-htable-g-htable-ads}@anchor{317}
+@anchor{gnat_rm/the_gnat_library id81}@anchor{318}@anchor{gnat_rm/the_gnat_library gnat-htable-g-htable-ads}@anchor{319}
 @section @cite{GNAT.HTable} (@code{g-htable.ads})
 
 
@@ -23229,7 +23220,7 @@ data.  Provides two approaches, one a simple static approach, and the other
 allowing arbitrary dynamic hash tables.
 
 @node GNAT IO g-io ads,GNAT IO_Aux g-io_aux ads,GNAT HTable g-htable ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id81}@anchor{318}@anchor{gnat_rm/the_gnat_library gnat-io-g-io-ads}@anchor{319}
+@anchor{gnat_rm/the_gnat_library id82}@anchor{31a}@anchor{gnat_rm/the_gnat_library gnat-io-g-io-ads}@anchor{31b}
 @section @cite{GNAT.IO} (@code{g-io.ads})
 
 
@@ -23245,7 +23236,7 @@ Standard_Input, and writing characters, strings and integers to either
 Standard_Output or Standard_Error.
 
 @node GNAT IO_Aux g-io_aux ads,GNAT Lock_Files g-locfil ads,GNAT IO g-io ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id82}@anchor{31a}@anchor{gnat_rm/the_gnat_library gnat-io-aux-g-io-aux-ads}@anchor{31b}
+@anchor{gnat_rm/the_gnat_library id83}@anchor{31c}@anchor{gnat_rm/the_gnat_library gnat-io-aux-g-io-aux-ads}@anchor{31d}
 @section @cite{GNAT.IO_Aux} (@code{g-io_aux.ads})
 
 
@@ -23259,7 +23250,7 @@ Provides some auxiliary functions for use with Text_IO, including a test
 for whether a file exists, and functions for reading a line of text.
 
 @node GNAT Lock_Files g-locfil ads,GNAT MBBS_Discrete_Random g-mbdira ads,GNAT IO_Aux g-io_aux ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id83}@anchor{31c}@anchor{gnat_rm/the_gnat_library gnat-lock-files-g-locfil-ads}@anchor{31d}
+@anchor{gnat_rm/the_gnat_library gnat-lock-files-g-locfil-ads}@anchor{31e}@anchor{gnat_rm/the_gnat_library id84}@anchor{31f}
 @section @cite{GNAT.Lock_Files} (@code{g-locfil.ads})
 
 
@@ -23273,7 +23264,7 @@ Provides a general interface for using files as locks.  Can be used for
 providing program level synchronization.
 
 @node GNAT MBBS_Discrete_Random g-mbdira ads,GNAT MBBS_Float_Random g-mbflra ads,GNAT Lock_Files g-locfil ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-mbbs-discrete-random-g-mbdira-ads}@anchor{31e}@anchor{gnat_rm/the_gnat_library id84}@anchor{31f}
+@anchor{gnat_rm/the_gnat_library id85}@anchor{320}@anchor{gnat_rm/the_gnat_library gnat-mbbs-discrete-random-g-mbdira-ads}@anchor{321}
 @section @cite{GNAT.MBBS_Discrete_Random} (@code{g-mbdira.ads})
 
 
@@ -23285,7 +23276,7 @@ The original implementation of @cite{Ada.Numerics.Discrete_Random}.  Uses
 a modified version of the Blum-Blum-Shub generator.
 
 @node GNAT MBBS_Float_Random g-mbflra ads,GNAT MD5 g-md5 ads,GNAT MBBS_Discrete_Random g-mbdira ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id85}@anchor{320}@anchor{gnat_rm/the_gnat_library gnat-mbbs-float-random-g-mbflra-ads}@anchor{321}
+@anchor{gnat_rm/the_gnat_library id86}@anchor{322}@anchor{gnat_rm/the_gnat_library gnat-mbbs-float-random-g-mbflra-ads}@anchor{323}
 @section @cite{GNAT.MBBS_Float_Random} (@code{g-mbflra.ads})
 
 
@@ -23297,7 +23288,7 @@ The original implementation of @cite{Ada.Numerics.Float_Random}.  Uses
 a modified version of the Blum-Blum-Shub generator.
 
 @node GNAT MD5 g-md5 ads,GNAT Memory_Dump g-memdum ads,GNAT MBBS_Float_Random g-mbflra ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id86}@anchor{322}@anchor{gnat_rm/the_gnat_library gnat-md5-g-md5-ads}@anchor{323}
+@anchor{gnat_rm/the_gnat_library id87}@anchor{324}@anchor{gnat_rm/the_gnat_library gnat-md5-g-md5-ads}@anchor{325}
 @section @cite{GNAT.MD5} (@code{g-md5.ads})
 
 
@@ -23310,7 +23301,7 @@ the HMAC-MD5 message authentication function as described in RFC 2104 and
 FIPS PUB 198.
 
 @node GNAT Memory_Dump g-memdum ads,GNAT Most_Recent_Exception g-moreex ads,GNAT MD5 g-md5 ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id87}@anchor{324}@anchor{gnat_rm/the_gnat_library gnat-memory-dump-g-memdum-ads}@anchor{325}
+@anchor{gnat_rm/the_gnat_library id88}@anchor{326}@anchor{gnat_rm/the_gnat_library gnat-memory-dump-g-memdum-ads}@anchor{327}
 @section @cite{GNAT.Memory_Dump} (@code{g-memdum.ads})
 
 
@@ -23323,7 +23314,7 @@ standard output or standard error files. Uses GNAT.IO for actual
 output.
 
 @node GNAT Most_Recent_Exception g-moreex ads,GNAT OS_Lib g-os_lib ads,GNAT Memory_Dump g-memdum ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id88}@anchor{326}@anchor{gnat_rm/the_gnat_library gnat-most-recent-exception-g-moreex-ads}@anchor{327}
+@anchor{gnat_rm/the_gnat_library id89}@anchor{328}@anchor{gnat_rm/the_gnat_library gnat-most-recent-exception-g-moreex-ads}@anchor{329}
 @section @cite{GNAT.Most_Recent_Exception} (@code{g-moreex.ads})
 
 
@@ -23337,7 +23328,7 @@ various logging purposes, including duplicating functionality of some
 Ada 83 implementation dependent extensions.
 
 @node GNAT OS_Lib g-os_lib ads,GNAT Perfect_Hash_Generators g-pehage ads,GNAT Most_Recent_Exception g-moreex ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id89}@anchor{328}@anchor{gnat_rm/the_gnat_library gnat-os-lib-g-os-lib-ads}@anchor{329}
+@anchor{gnat_rm/the_gnat_library id90}@anchor{32a}@anchor{gnat_rm/the_gnat_library gnat-os-lib-g-os-lib-ads}@anchor{32b}
 @section @cite{GNAT.OS_Lib} (@code{g-os_lib.ads})
 
 
@@ -23353,7 +23344,7 @@ including a portable spawn procedure, and access to environment variables
 and error return codes.
 
 @node GNAT Perfect_Hash_Generators g-pehage ads,GNAT Random_Numbers g-rannum ads,GNAT OS_Lib g-os_lib ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id90}@anchor{32a}@anchor{gnat_rm/the_gnat_library gnat-perfect-hash-generators-g-pehage-ads}@anchor{32b}
+@anchor{gnat_rm/the_gnat_library gnat-perfect-hash-generators-g-pehage-ads}@anchor{32c}@anchor{gnat_rm/the_gnat_library id91}@anchor{32d}
 @section @cite{GNAT.Perfect_Hash_Generators} (@code{g-pehage.ads})
 
 
@@ -23371,7 +23362,7 @@ hashcode are in the same order. These hashing functions are very
 convenient for use with realtime applications.
 
 @node GNAT Random_Numbers g-rannum ads,GNAT Regexp g-regexp ads,GNAT Perfect_Hash_Generators g-pehage ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id91}@anchor{32c}@anchor{gnat_rm/the_gnat_library gnat-random-numbers-g-rannum-ads}@anchor{32d}
+@anchor{gnat_rm/the_gnat_library gnat-random-numbers-g-rannum-ads}@anchor{32e}@anchor{gnat_rm/the_gnat_library id92}@anchor{32f}
 @section @cite{GNAT.Random_Numbers} (@code{g-rannum.ads})
 
 
@@ -23383,7 +23374,7 @@ Provides random number capabilities which extend those available in the
 standard Ada library and are more convenient to use.
 
 @node GNAT Regexp g-regexp ads,GNAT Registry g-regist ads,GNAT Random_Numbers g-rannum ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-regexp-g-regexp-ads}@anchor{201}@anchor{gnat_rm/the_gnat_library id92}@anchor{32e}
+@anchor{gnat_rm/the_gnat_library gnat-regexp-g-regexp-ads}@anchor{201}@anchor{gnat_rm/the_gnat_library id93}@anchor{330}
 @section @cite{GNAT.Regexp} (@code{g-regexp.ads})
 
 
@@ -23399,7 +23390,7 @@ simplest of the three pattern matching packages provided, and is particularly
 suitable for 'file globbing' applications.
 
 @node GNAT Registry g-regist ads,GNAT Regpat g-regpat ads,GNAT Regexp g-regexp ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id93}@anchor{32f}@anchor{gnat_rm/the_gnat_library gnat-registry-g-regist-ads}@anchor{330}
+@anchor{gnat_rm/the_gnat_library id94}@anchor{331}@anchor{gnat_rm/the_gnat_library gnat-registry-g-regist-ads}@anchor{332}
 @section @cite{GNAT.Registry} (@code{g-regist.ads})
 
 
@@ -23413,7 +23404,7 @@ registry API, but at a lower level of abstraction, refer to the Win32.Winreg
 package provided with the Win32Ada binding
 
 @node GNAT Regpat g-regpat ads,GNAT Rewrite_Data g-rewdat ads,GNAT Registry g-regist ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id94}@anchor{331}@anchor{gnat_rm/the_gnat_library gnat-regpat-g-regpat-ads}@anchor{332}
+@anchor{gnat_rm/the_gnat_library gnat-regpat-g-regpat-ads}@anchor{333}@anchor{gnat_rm/the_gnat_library id95}@anchor{334}
 @section @cite{GNAT.Regpat} (@code{g-regpat.ads})
 
 
@@ -23428,7 +23419,7 @@ from the original V7 style regular expression library written in C by
 Henry Spencer (and binary compatible with this C library).
 
 @node GNAT Rewrite_Data g-rewdat ads,GNAT Secondary_Stack_Info g-sestin ads,GNAT Regpat g-regpat ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id95}@anchor{333}@anchor{gnat_rm/the_gnat_library gnat-rewrite-data-g-rewdat-ads}@anchor{334}
+@anchor{gnat_rm/the_gnat_library id96}@anchor{335}@anchor{gnat_rm/the_gnat_library gnat-rewrite-data-g-rewdat-ads}@anchor{336}
 @section @cite{GNAT.Rewrite_Data} (@code{g-rewdat.ads})
 
 
@@ -23442,7 +23433,7 @@ full content to be processed is not loaded into memory all at once. This makes
 this interface usable for large files or socket streams.
 
 @node GNAT Secondary_Stack_Info g-sestin ads,GNAT Semaphores g-semaph ads,GNAT Rewrite_Data g-rewdat ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-secondary-stack-info-g-sestin-ads}@anchor{335}@anchor{gnat_rm/the_gnat_library id96}@anchor{336}
+@anchor{gnat_rm/the_gnat_library gnat-secondary-stack-info-g-sestin-ads}@anchor{337}@anchor{gnat_rm/the_gnat_library id97}@anchor{338}
 @section @cite{GNAT.Secondary_Stack_Info} (@code{g-sestin.ads})
 
 
@@ -23454,7 +23445,7 @@ Provide the capability to query the high water mark of the current task's
 secondary stack.
 
 @node GNAT Semaphores g-semaph ads,GNAT Serial_Communications g-sercom ads,GNAT Secondary_Stack_Info g-sestin ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-semaphores-g-semaph-ads}@anchor{337}@anchor{gnat_rm/the_gnat_library id97}@anchor{338}
+@anchor{gnat_rm/the_gnat_library id98}@anchor{339}@anchor{gnat_rm/the_gnat_library gnat-semaphores-g-semaph-ads}@anchor{33a}
 @section @cite{GNAT.Semaphores} (@code{g-semaph.ads})
 
 
@@ -23465,7 +23456,7 @@ secondary stack.
 Provides classic counting and binary semaphores using protected types.
 
 @node GNAT Serial_Communications g-sercom ads,GNAT SHA1 g-sha1 ads,GNAT Semaphores g-semaph ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id98}@anchor{339}@anchor{gnat_rm/the_gnat_library gnat-serial-communications-g-sercom-ads}@anchor{33a}
+@anchor{gnat_rm/the_gnat_library gnat-serial-communications-g-sercom-ads}@anchor{33b}@anchor{gnat_rm/the_gnat_library id99}@anchor{33c}
 @section @cite{GNAT.Serial_Communications} (@code{g-sercom.ads})
 
 
@@ -23477,7 +23468,7 @@ Provides a simple interface to send and receive data over a serial
 port. This is only supported on GNU/Linux and Windows.
 
 @node GNAT SHA1 g-sha1 ads,GNAT SHA224 g-sha224 ads,GNAT Serial_Communications g-sercom ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-sha1-g-sha1-ads}@anchor{33b}@anchor{gnat_rm/the_gnat_library id99}@anchor{33c}
+@anchor{gnat_rm/the_gnat_library gnat-sha1-g-sha1-ads}@anchor{33d}@anchor{gnat_rm/the_gnat_library id100}@anchor{33e}
 @section @cite{GNAT.SHA1} (@code{g-sha1.ads})
 
 
@@ -23490,7 +23481,7 @@ and RFC 3174, and the HMAC-SHA1 message authentication function as described
 in RFC 2104 and FIPS PUB 198.
 
 @node GNAT SHA224 g-sha224 ads,GNAT SHA256 g-sha256 ads,GNAT SHA1 g-sha1 ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id100}@anchor{33d}@anchor{gnat_rm/the_gnat_library gnat-sha224-g-sha224-ads}@anchor{33e}
+@anchor{gnat_rm/the_gnat_library id101}@anchor{33f}@anchor{gnat_rm/the_gnat_library gnat-sha224-g-sha224-ads}@anchor{340}
 @section @cite{GNAT.SHA224} (@code{g-sha224.ads})
 
 
@@ -23503,7 +23494,7 @@ and the HMAC-SHA224 message authentication function as described
 in RFC 2104 and FIPS PUB 198.
 
 @node GNAT SHA256 g-sha256 ads,GNAT SHA384 g-sha384 ads,GNAT SHA224 g-sha224 ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id101}@anchor{33f}@anchor{gnat_rm/the_gnat_library gnat-sha256-g-sha256-ads}@anchor{340}
+@anchor{gnat_rm/the_gnat_library id102}@anchor{341}@anchor{gnat_rm/the_gnat_library gnat-sha256-g-sha256-ads}@anchor{342}
 @section @cite{GNAT.SHA256} (@code{g-sha256.ads})
 
 
@@ -23516,7 +23507,7 @@ and the HMAC-SHA256 message authentication function as described
 in RFC 2104 and FIPS PUB 198.
 
 @node GNAT SHA384 g-sha384 ads,GNAT SHA512 g-sha512 ads,GNAT SHA256 g-sha256 ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id102}@anchor{341}@anchor{gnat_rm/the_gnat_library gnat-sha384-g-sha384-ads}@anchor{342}
+@anchor{gnat_rm/the_gnat_library id103}@anchor{343}@anchor{gnat_rm/the_gnat_library gnat-sha384-g-sha384-ads}@anchor{344}
 @section @cite{GNAT.SHA384} (@code{g-sha384.ads})
 
 
@@ -23529,7 +23520,7 @@ and the HMAC-SHA384 message authentication function as described
 in RFC 2104 and FIPS PUB 198.
 
 @node GNAT SHA512 g-sha512 ads,GNAT Signals g-signal ads,GNAT SHA384 g-sha384 ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id103}@anchor{343}@anchor{gnat_rm/the_gnat_library gnat-sha512-g-sha512-ads}@anchor{344}
+@anchor{gnat_rm/the_gnat_library gnat-sha512-g-sha512-ads}@anchor{345}@anchor{gnat_rm/the_gnat_library id104}@anchor{346}
 @section @cite{GNAT.SHA512} (@code{g-sha512.ads})
 
 
@@ -23542,7 +23533,7 @@ and the HMAC-SHA512 message authentication function as described
 in RFC 2104 and FIPS PUB 198.
 
 @node GNAT Signals g-signal ads,GNAT Sockets g-socket ads,GNAT SHA512 g-sha512 ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-signals-g-signal-ads}@anchor{345}@anchor{gnat_rm/the_gnat_library id104}@anchor{346}
+@anchor{gnat_rm/the_gnat_library gnat-signals-g-signal-ads}@anchor{347}@anchor{gnat_rm/the_gnat_library id105}@anchor{348}
 @section @cite{GNAT.Signals} (@code{g-signal.ads})
 
 
@@ -23554,7 +23545,7 @@ Provides the ability to manipulate the blocked status of signals on supported
 targets.
 
 @node GNAT Sockets g-socket ads,GNAT Source_Info g-souinf ads,GNAT Signals g-signal ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-sockets-g-socket-ads}@anchor{347}@anchor{gnat_rm/the_gnat_library id105}@anchor{348}
+@anchor{gnat_rm/the_gnat_library gnat-sockets-g-socket-ads}@anchor{349}@anchor{gnat_rm/the_gnat_library id106}@anchor{34a}
 @section @cite{GNAT.Sockets} (@code{g-socket.ads})
 
 
@@ -23569,7 +23560,7 @@ on all native GNAT ports and on VxWorks cross prots.  It is not implemented for
 the LynxOS cross port.
 
 @node GNAT Source_Info g-souinf ads,GNAT Spelling_Checker g-speche ads,GNAT Sockets g-socket ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-source-info-g-souinf-ads}@anchor{349}@anchor{gnat_rm/the_gnat_library id106}@anchor{34a}
+@anchor{gnat_rm/the_gnat_library gnat-source-info-g-souinf-ads}@anchor{34b}@anchor{gnat_rm/the_gnat_library id107}@anchor{34c}
 @section @cite{GNAT.Source_Info} (@code{g-souinf.ads})
 
 
@@ -23583,7 +23574,7 @@ subprograms yielding the date and time of the current compilation (like the
 C macros @cite{__DATE__} and @cite{__TIME__})
 
 @node GNAT Spelling_Checker g-speche ads,GNAT Spelling_Checker_Generic g-spchge ads,GNAT Source_Info g-souinf ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-spelling-checker-g-speche-ads}@anchor{34b}@anchor{gnat_rm/the_gnat_library id107}@anchor{34c}
+@anchor{gnat_rm/the_gnat_library gnat-spelling-checker-g-speche-ads}@anchor{34d}@anchor{gnat_rm/the_gnat_library id108}@anchor{34e}
 @section @cite{GNAT.Spelling_Checker} (@code{g-speche.ads})
 
 
@@ -23595,7 +23586,7 @@ Provides a function for determining whether one string is a plausible
 near misspelling of another string.
 
 @node GNAT Spelling_Checker_Generic g-spchge ads,GNAT Spitbol Patterns g-spipat ads,GNAT Spelling_Checker g-speche ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-spelling-checker-generic-g-spchge-ads}@anchor{34d}@anchor{gnat_rm/the_gnat_library id108}@anchor{34e}
+@anchor{gnat_rm/the_gnat_library id109}@anchor{34f}@anchor{gnat_rm/the_gnat_library gnat-spelling-checker-generic-g-spchge-ads}@anchor{350}
 @section @cite{GNAT.Spelling_Checker_Generic} (@code{g-spchge.ads})
 
 
@@ -23608,7 +23599,7 @@ determining whether one string is a plausible near misspelling of another
 string.
 
 @node GNAT Spitbol Patterns g-spipat ads,GNAT Spitbol g-spitbo ads,GNAT Spelling_Checker_Generic g-spchge ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id109}@anchor{34f}@anchor{gnat_rm/the_gnat_library gnat-spitbol-patterns-g-spipat-ads}@anchor{350}
+@anchor{gnat_rm/the_gnat_library id110}@anchor{351}@anchor{gnat_rm/the_gnat_library gnat-spitbol-patterns-g-spipat-ads}@anchor{352}
 @section @cite{GNAT.Spitbol.Patterns} (@code{g-spipat.ads})
 
 
@@ -23624,7 +23615,7 @@ the SNOBOL4 dynamic pattern construction and matching capabilities, using the
 efficient algorithm developed by Robert Dewar for the SPITBOL system.
 
 @node GNAT Spitbol g-spitbo ads,GNAT Spitbol Table_Boolean g-sptabo ads,GNAT Spitbol Patterns g-spipat ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id110}@anchor{351}@anchor{gnat_rm/the_gnat_library gnat-spitbol-g-spitbo-ads}@anchor{352}
+@anchor{gnat_rm/the_gnat_library id111}@anchor{353}@anchor{gnat_rm/the_gnat_library gnat-spitbol-g-spitbo-ads}@anchor{354}
 @section @cite{GNAT.Spitbol} (@code{g-spitbo.ads})
 
 
@@ -23639,7 +23630,7 @@ useful for constructing arbitrary mappings from strings in the style of
 the SNOBOL4 TABLE function.
 
 @node GNAT Spitbol Table_Boolean g-sptabo ads,GNAT Spitbol Table_Integer g-sptain ads,GNAT Spitbol g-spitbo ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id111}@anchor{353}@anchor{gnat_rm/the_gnat_library gnat-spitbol-table-boolean-g-sptabo-ads}@anchor{354}
+@anchor{gnat_rm/the_gnat_library id112}@anchor{355}@anchor{gnat_rm/the_gnat_library gnat-spitbol-table-boolean-g-sptabo-ads}@anchor{356}
 @section @cite{GNAT.Spitbol.Table_Boolean} (@code{g-sptabo.ads})
 
 
@@ -23654,7 +23645,7 @@ for type @cite{Standard.Boolean}, giving an implementation of sets of
 string values.
 
 @node GNAT Spitbol Table_Integer g-sptain ads,GNAT Spitbol Table_VString g-sptavs ads,GNAT Spitbol Table_Boolean g-sptabo ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id112}@anchor{355}@anchor{gnat_rm/the_gnat_library gnat-spitbol-table-integer-g-sptain-ads}@anchor{356}
+@anchor{gnat_rm/the_gnat_library id113}@anchor{357}@anchor{gnat_rm/the_gnat_library gnat-spitbol-table-integer-g-sptain-ads}@anchor{358}
 @section @cite{GNAT.Spitbol.Table_Integer} (@code{g-sptain.ads})
 
 
@@ -23671,7 +23662,7 @@ for type @cite{Standard.Integer}, giving an implementation of maps
 from string to integer values.
 
 @node GNAT Spitbol Table_VString g-sptavs ads,GNAT SSE g-sse ads,GNAT Spitbol Table_Integer g-sptain ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id113}@anchor{357}@anchor{gnat_rm/the_gnat_library gnat-spitbol-table-vstring-g-sptavs-ads}@anchor{358}
+@anchor{gnat_rm/the_gnat_library id114}@anchor{359}@anchor{gnat_rm/the_gnat_library gnat-spitbol-table-vstring-g-sptavs-ads}@anchor{35a}
 @section @cite{GNAT.Spitbol.Table_VString} (@code{g-sptavs.ads})
 
 
@@ -23688,7 +23679,7 @@ a variable length string type, giving an implementation of general
 maps from strings to strings.
 
 @node GNAT SSE g-sse ads,GNAT SSE Vector_Types g-ssvety ads,GNAT Spitbol Table_VString g-sptavs ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id114}@anchor{359}@anchor{gnat_rm/the_gnat_library gnat-sse-g-sse-ads}@anchor{35a}
+@anchor{gnat_rm/the_gnat_library id115}@anchor{35b}@anchor{gnat_rm/the_gnat_library gnat-sse-g-sse-ads}@anchor{35c}
 @section @cite{GNAT.SSE} (@code{g-sse.ads})
 
 
@@ -23700,7 +23691,7 @@ targets.  It exposes vector component types together with a general
 introduction to the binding contents and use.
 
 @node GNAT SSE Vector_Types g-ssvety ads,GNAT Strings g-string ads,GNAT SSE g-sse ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-sse-vector-types-g-ssvety-ads}@anchor{35b}@anchor{gnat_rm/the_gnat_library id115}@anchor{35c}
+@anchor{gnat_rm/the_gnat_library gnat-sse-vector-types-g-ssvety-ads}@anchor{35d}@anchor{gnat_rm/the_gnat_library id116}@anchor{35e}
 @section @cite{GNAT.SSE.Vector_Types} (@code{g-ssvety.ads})
 
 
@@ -23709,7 +23700,7 @@ introduction to the binding contents and use.
 SSE vector types for use with SSE related intrinsics.
 
 @node GNAT Strings g-string ads,GNAT String_Split g-strspl ads,GNAT SSE Vector_Types g-ssvety ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id116}@anchor{35d}@anchor{gnat_rm/the_gnat_library gnat-strings-g-string-ads}@anchor{35e}
+@anchor{gnat_rm/the_gnat_library gnat-strings-g-string-ads}@anchor{35f}@anchor{gnat_rm/the_gnat_library id117}@anchor{360}
 @section @cite{GNAT.Strings} (@code{g-string.ads})
 
 
@@ -23719,7 +23710,7 @@ Common String access types and related subprograms. Basically it
 defines a string access and an array of string access types.
 
 @node GNAT String_Split g-strspl ads,GNAT Table g-table ads,GNAT Strings g-string ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-string-split-g-strspl-ads}@anchor{35f}@anchor{gnat_rm/the_gnat_library id117}@anchor{360}
+@anchor{gnat_rm/the_gnat_library gnat-string-split-g-strspl-ads}@anchor{361}@anchor{gnat_rm/the_gnat_library id118}@anchor{362}
 @section @cite{GNAT.String_Split} (@code{g-strspl.ads})
 
 
@@ -23733,7 +23724,7 @@ to the resulting slices. This package is instantiated from
 @cite{GNAT.Array_Split}.
 
 @node GNAT Table g-table ads,GNAT Task_Lock g-tasloc ads,GNAT String_Split g-strspl ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id118}@anchor{361}@anchor{gnat_rm/the_gnat_library gnat-table-g-table-ads}@anchor{362}
+@anchor{gnat_rm/the_gnat_library gnat-table-g-table-ads}@anchor{363}@anchor{gnat_rm/the_gnat_library id119}@anchor{364}
 @section @cite{GNAT.Table} (@code{g-table.ads})
 
 
@@ -23753,7 +23744,7 @@ while an instantiation of @cite{GNAT.Dynamic_Tables} creates a type that can be
 used to define dynamic instances of the table.
 
 @node GNAT Task_Lock g-tasloc ads,GNAT Time_Stamp g-timsta ads,GNAT Table g-table ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-task-lock-g-tasloc-ads}@anchor{363}@anchor{gnat_rm/the_gnat_library id119}@anchor{364}
+@anchor{gnat_rm/the_gnat_library gnat-task-lock-g-tasloc-ads}@anchor{365}@anchor{gnat_rm/the_gnat_library id120}@anchor{366}
 @section @cite{GNAT.Task_Lock} (@code{g-tasloc.ads})
 
 
@@ -23770,7 +23761,7 @@ single global task lock.  Appropriate for use in situations where contention
 between tasks is very rarely expected.
 
 @node GNAT Time_Stamp g-timsta ads,GNAT Threads g-thread ads,GNAT Task_Lock g-tasloc ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-time-stamp-g-timsta-ads}@anchor{365}@anchor{gnat_rm/the_gnat_library id120}@anchor{366}
+@anchor{gnat_rm/the_gnat_library gnat-time-stamp-g-timsta-ads}@anchor{367}@anchor{gnat_rm/the_gnat_library id121}@anchor{368}
 @section @cite{GNAT.Time_Stamp} (@code{g-timsta.ads})
 
 
@@ -23785,7 +23776,7 @@ represents the current date and time in ISO 8601 format. This is a very simple
 routine with minimal code and there are no dependencies on any other unit.
 
 @node GNAT Threads g-thread ads,GNAT Traceback g-traceb ads,GNAT Time_Stamp g-timsta ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-threads-g-thread-ads}@anchor{367}@anchor{gnat_rm/the_gnat_library id121}@anchor{368}
+@anchor{gnat_rm/the_gnat_library gnat-threads-g-thread-ads}@anchor{369}@anchor{gnat_rm/the_gnat_library id122}@anchor{36a}
 @section @cite{GNAT.Threads} (@code{g-thread.ads})
 
 
@@ -23802,7 +23793,7 @@ further details if your program has threads that are created by a non-Ada
 environment which then accesses Ada code.
 
 @node GNAT Traceback g-traceb ads,GNAT Traceback Symbolic g-trasym ads,GNAT Threads g-thread ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id122}@anchor{369}@anchor{gnat_rm/the_gnat_library gnat-traceback-g-traceb-ads}@anchor{36a}
+@anchor{gnat_rm/the_gnat_library id123}@anchor{36b}@anchor{gnat_rm/the_gnat_library gnat-traceback-g-traceb-ads}@anchor{36c}
 @section @cite{GNAT.Traceback} (@code{g-traceb.ads})
 
 
@@ -23814,7 +23805,7 @@ Provides a facility for obtaining non-symbolic traceback information, useful
 in various debugging situations.
 
 @node GNAT Traceback Symbolic g-trasym ads,GNAT UTF_32 g-table ads,GNAT Traceback g-traceb ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-traceback-symbolic-g-trasym-ads}@anchor{36b}@anchor{gnat_rm/the_gnat_library id123}@anchor{36c}
+@anchor{gnat_rm/the_gnat_library gnat-traceback-symbolic-g-trasym-ads}@anchor{36d}@anchor{gnat_rm/the_gnat_library id124}@anchor{36e}
 @section @cite{GNAT.Traceback.Symbolic} (@code{g-trasym.ads})
 
 
@@ -23823,7 +23814,7 @@ in various debugging situations.
 @geindex Trace back facilities
 
 @node GNAT UTF_32 g-table ads,GNAT Wide_Spelling_Checker g-u3spch ads,GNAT Traceback Symbolic g-trasym ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id124}@anchor{36d}@anchor{gnat_rm/the_gnat_library gnat-utf-32-g-table-ads}@anchor{36e}
+@anchor{gnat_rm/the_gnat_library id125}@anchor{36f}@anchor{gnat_rm/the_gnat_library gnat-utf-32-g-table-ads}@anchor{370}
 @section @cite{GNAT.UTF_32} (@code{g-table.ads})
 
 
@@ -23842,7 +23833,7 @@ lower case to upper case fold routine corresponding to
 the Ada 2005 rules for identifier equivalence.
 
 @node GNAT Wide_Spelling_Checker g-u3spch ads,GNAT Wide_Spelling_Checker g-wispch ads,GNAT UTF_32 g-table ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-wide-spelling-checker-g-u3spch-ads}@anchor{36f}@anchor{gnat_rm/the_gnat_library id125}@anchor{370}
+@anchor{gnat_rm/the_gnat_library gnat-wide-spelling-checker-g-u3spch-ads}@anchor{371}@anchor{gnat_rm/the_gnat_library id126}@anchor{372}
 @section @cite{GNAT.Wide_Spelling_Checker} (@code{g-u3spch.ads})
 
 
@@ -23855,7 +23846,7 @@ near misspelling of another wide wide string, where the strings are represented
 using the UTF_32_String type defined in System.Wch_Cnv.
 
 @node GNAT Wide_Spelling_Checker g-wispch ads,GNAT Wide_String_Split g-wistsp ads,GNAT Wide_Spelling_Checker g-u3spch ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-wide-spelling-checker-g-wispch-ads}@anchor{371}@anchor{gnat_rm/the_gnat_library id126}@anchor{372}
+@anchor{gnat_rm/the_gnat_library gnat-wide-spelling-checker-g-wispch-ads}@anchor{373}@anchor{gnat_rm/the_gnat_library id127}@anchor{374}
 @section @cite{GNAT.Wide_Spelling_Checker} (@code{g-wispch.ads})
 
 
@@ -23867,7 +23858,7 @@ Provides a function for determining whether one wide string is a plausible
 near misspelling of another wide string.
 
 @node GNAT Wide_String_Split g-wistsp ads,GNAT Wide_Wide_Spelling_Checker g-zspche ads,GNAT Wide_Spelling_Checker g-wispch ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id127}@anchor{373}@anchor{gnat_rm/the_gnat_library gnat-wide-string-split-g-wistsp-ads}@anchor{374}
+@anchor{gnat_rm/the_gnat_library gnat-wide-string-split-g-wistsp-ads}@anchor{375}@anchor{gnat_rm/the_gnat_library id128}@anchor{376}
 @section @cite{GNAT.Wide_String_Split} (@code{g-wistsp.ads})
 
 
@@ -23881,7 +23872,7 @@ to the resulting slices. This package is instantiated from
 @cite{GNAT.Array_Split}.
 
 @node GNAT Wide_Wide_Spelling_Checker g-zspche ads,GNAT Wide_Wide_String_Split g-zistsp ads,GNAT Wide_String_Split g-wistsp ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-wide-wide-spelling-checker-g-zspche-ads}@anchor{375}@anchor{gnat_rm/the_gnat_library id128}@anchor{376}
+@anchor{gnat_rm/the_gnat_library gnat-wide-wide-spelling-checker-g-zspche-ads}@anchor{377}@anchor{gnat_rm/the_gnat_library id129}@anchor{378}
 @section @cite{GNAT.Wide_Wide_Spelling_Checker} (@code{g-zspche.ads})
 
 
@@ -23893,7 +23884,7 @@ Provides a function for determining whether one wide wide string is a plausible
 near misspelling of another wide wide string.
 
 @node GNAT Wide_Wide_String_Split g-zistsp ads,Interfaces C Extensions i-cexten ads,GNAT Wide_Wide_Spelling_Checker g-zspche ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library gnat-wide-wide-string-split-g-zistsp-ads}@anchor{377}@anchor{gnat_rm/the_gnat_library id129}@anchor{378}
+@anchor{gnat_rm/the_gnat_library gnat-wide-wide-string-split-g-zistsp-ads}@anchor{379}@anchor{gnat_rm/the_gnat_library id130}@anchor{37a}
 @section @cite{GNAT.Wide_Wide_String_Split} (@code{g-zistsp.ads})
 
 
@@ -23907,7 +23898,7 @@ to the resulting slices. This package is instantiated from
 @cite{GNAT.Array_Split}.
 
 @node Interfaces C Extensions i-cexten ads,Interfaces C Streams i-cstrea ads,GNAT Wide_Wide_String_Split g-zistsp ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id130}@anchor{379}@anchor{gnat_rm/the_gnat_library interfaces-c-extensions-i-cexten-ads}@anchor{37a}
+@anchor{gnat_rm/the_gnat_library id131}@anchor{37b}@anchor{gnat_rm/the_gnat_library interfaces-c-extensions-i-cexten-ads}@anchor{37c}
 @section @cite{Interfaces.C.Extensions} (@code{i-cexten.ads})
 
 
@@ -23918,7 +23909,7 @@ for use with either manually or automatically generated bindings
 to C libraries.
 
 @node Interfaces C Streams i-cstrea ads,Interfaces Packed_Decimal i-pacdec ads,Interfaces C Extensions i-cexten ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id131}@anchor{37b}@anchor{gnat_rm/the_gnat_library interfaces-c-streams-i-cstrea-ads}@anchor{37c}
+@anchor{gnat_rm/the_gnat_library id132}@anchor{37d}@anchor{gnat_rm/the_gnat_library interfaces-c-streams-i-cstrea-ads}@anchor{37e}
 @section @cite{Interfaces.C.Streams} (@code{i-cstrea.ads})
 
 
@@ -23931,7 +23922,7 @@ This package is a binding for the most commonly used operations
 on C streams.
 
 @node Interfaces Packed_Decimal i-pacdec ads,Interfaces VxWorks i-vxwork ads,Interfaces C Streams i-cstrea ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library interfaces-packed-decimal-i-pacdec-ads}@anchor{37d}@anchor{gnat_rm/the_gnat_library id132}@anchor{37e}
+@anchor{gnat_rm/the_gnat_library interfaces-packed-decimal-i-pacdec-ads}@anchor{37f}@anchor{gnat_rm/the_gnat_library id133}@anchor{380}
 @section @cite{Interfaces.Packed_Decimal} (@code{i-pacdec.ads})
 
 
@@ -23946,7 +23937,7 @@ from a packed decimal format compatible with that used on IBM
 mainframes.
 
 @node Interfaces VxWorks i-vxwork ads,Interfaces VxWorks IO i-vxwoio ads,Interfaces Packed_Decimal i-pacdec ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id133}@anchor{37f}@anchor{gnat_rm/the_gnat_library interfaces-vxworks-i-vxwork-ads}@anchor{380}
+@anchor{gnat_rm/the_gnat_library id134}@anchor{381}@anchor{gnat_rm/the_gnat_library interfaces-vxworks-i-vxwork-ads}@anchor{382}
 @section @cite{Interfaces.VxWorks} (@code{i-vxwork.ads})
 
 
@@ -23962,7 +23953,7 @@ In particular, it interfaces with the
 VxWorks hardware interrupt facilities.
 
 @node Interfaces VxWorks IO i-vxwoio ads,System Address_Image s-addima ads,Interfaces VxWorks i-vxwork ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library interfaces-vxworks-io-i-vxwoio-ads}@anchor{381}@anchor{gnat_rm/the_gnat_library id134}@anchor{382}
+@anchor{gnat_rm/the_gnat_library interfaces-vxworks-io-i-vxwoio-ads}@anchor{383}@anchor{gnat_rm/the_gnat_library id135}@anchor{384}
 @section @cite{Interfaces.VxWorks.IO} (@code{i-vxwoio.ads})
 
 
@@ -23985,7 +23976,7 @@ function codes. A particular use of this package is
 to enable the use of Get_Immediate under VxWorks.
 
 @node System Address_Image s-addima ads,System Assertions s-assert ads,Interfaces VxWorks IO i-vxwoio ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library system-address-image-s-addima-ads}@anchor{383}@anchor{gnat_rm/the_gnat_library id135}@anchor{384}
+@anchor{gnat_rm/the_gnat_library system-address-image-s-addima-ads}@anchor{385}@anchor{gnat_rm/the_gnat_library id136}@anchor{386}
 @section @cite{System.Address_Image} (@code{s-addima.ads})
 
 
@@ -24001,7 +23992,7 @@ function that gives an (implementation dependent)
 string which identifies an address.
 
 @node System Assertions s-assert ads,System Atomic_Counters s-atocou ads,System Address_Image s-addima ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library system-assertions-s-assert-ads}@anchor{385}@anchor{gnat_rm/the_gnat_library id136}@anchor{386}
+@anchor{gnat_rm/the_gnat_library system-assertions-s-assert-ads}@anchor{387}@anchor{gnat_rm/the_gnat_library id137}@anchor{388}
 @section @cite{System.Assertions} (@code{s-assert.ads})
 
 
@@ -24017,7 +24008,7 @@ by an run-time assertion failure, as well as the routine that
 is used internally to raise this assertion.
 
 @node System Atomic_Counters s-atocou ads,System Memory s-memory ads,System Assertions s-assert ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id137}@anchor{387}@anchor{gnat_rm/the_gnat_library system-atomic-counters-s-atocou-ads}@anchor{388}
+@anchor{gnat_rm/the_gnat_library id138}@anchor{389}@anchor{gnat_rm/the_gnat_library system-atomic-counters-s-atocou-ads}@anchor{38a}
 @section @cite{System.Atomic_Counters} (@code{s-atocou.ads})
 
 
@@ -24031,7 +24022,7 @@ on most targets, including all Alpha, ia64, PowerPC, SPARC V9,
 x86, and x86_64 platforms.
 
 @node System Memory s-memory ads,System Multiprocessors s-multip ads,System Atomic_Counters s-atocou ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library system-memory-s-memory-ads}@anchor{389}@anchor{gnat_rm/the_gnat_library id138}@anchor{38a}
+@anchor{gnat_rm/the_gnat_library system-memory-s-memory-ads}@anchor{38b}@anchor{gnat_rm/the_gnat_library id139}@anchor{38c}
 @section @cite{System.Memory} (@code{s-memory.ads})
 
 
@@ -24049,7 +24040,7 @@ calls to this unit may be made for low level allocation uses (for
 example see the body of @cite{GNAT.Tables}).
 
 @node System Multiprocessors s-multip ads,System Multiprocessors Dispatching_Domains s-mudido ads,System Memory s-memory ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id139}@anchor{38b}@anchor{gnat_rm/the_gnat_library system-multiprocessors-s-multip-ads}@anchor{38c}
+@anchor{gnat_rm/the_gnat_library id140}@anchor{38d}@anchor{gnat_rm/the_gnat_library system-multiprocessors-s-multip-ads}@anchor{38e}
 @section @cite{System.Multiprocessors} (@code{s-multip.ads})
 
 
@@ -24062,7 +24053,7 @@ in GNAT we also make it available in Ada 95 and Ada 2005 (where it is
 technically an implementation-defined addition).
 
 @node System Multiprocessors Dispatching_Domains s-mudido ads,System Partition_Interface s-parint ads,System Multiprocessors s-multip ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library system-multiprocessors-dispatching-domains-s-mudido-ads}@anchor{38d}@anchor{gnat_rm/the_gnat_library id140}@anchor{38e}
+@anchor{gnat_rm/the_gnat_library system-multiprocessors-dispatching-domains-s-mudido-ads}@anchor{38f}@anchor{gnat_rm/the_gnat_library id141}@anchor{390}
 @section @cite{System.Multiprocessors.Dispatching_Domains} (@code{s-mudido.ads})
 
 
@@ -24075,7 +24066,7 @@ in GNAT we also make it available in Ada 95 and Ada 2005 (where it is
 technically an implementation-defined addition).
 
 @node System Partition_Interface s-parint ads,System Pool_Global s-pooglo ads,System Multiprocessors Dispatching_Domains s-mudido ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id141}@anchor{38f}@anchor{gnat_rm/the_gnat_library system-partition-interface-s-parint-ads}@anchor{390}
+@anchor{gnat_rm/the_gnat_library id142}@anchor{391}@anchor{gnat_rm/the_gnat_library system-partition-interface-s-parint-ads}@anchor{392}
 @section @cite{System.Partition_Interface} (@code{s-parint.ads})
 
 
@@ -24088,7 +24079,7 @@ is used primarily in a distribution context when using Annex E
 with @cite{GLADE}.
 
 @node System Pool_Global s-pooglo ads,System Pool_Local s-pooloc ads,System Partition_Interface s-parint ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id142}@anchor{391}@anchor{gnat_rm/the_gnat_library system-pool-global-s-pooglo-ads}@anchor{392}
+@anchor{gnat_rm/the_gnat_library id143}@anchor{393}@anchor{gnat_rm/the_gnat_library system-pool-global-s-pooglo-ads}@anchor{394}
 @section @cite{System.Pool_Global} (@code{s-pooglo.ads})
 
 
@@ -24105,7 +24096,7 @@ declared. It uses malloc/free to allocate/free and does not attempt to
 do any automatic reclamation.
 
 @node System Pool_Local s-pooloc ads,System Restrictions s-restri ads,System Pool_Global s-pooglo ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library system-pool-local-s-pooloc-ads}@anchor{393}@anchor{gnat_rm/the_gnat_library id143}@anchor{394}
+@anchor{gnat_rm/the_gnat_library id144}@anchor{395}@anchor{gnat_rm/the_gnat_library system-pool-local-s-pooloc-ads}@anchor{396}
 @section @cite{System.Pool_Local} (@code{s-pooloc.ads})
 
 
@@ -24122,7 +24113,7 @@ a list of allocated blocks, so that all storage allocated for the pool can
 be freed automatically when the pool is finalized.
 
 @node System Restrictions s-restri ads,System Rident s-rident ads,System Pool_Local s-pooloc ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id144}@anchor{395}@anchor{gnat_rm/the_gnat_library system-restrictions-s-restri-ads}@anchor{396}
+@anchor{gnat_rm/the_gnat_library id145}@anchor{397}@anchor{gnat_rm/the_gnat_library system-restrictions-s-restri-ads}@anchor{398}
 @section @cite{System.Restrictions} (@code{s-restri.ads})
 
 
@@ -24138,7 +24129,7 @@ compiler determined information on which restrictions
 are violated by one or more packages in the partition.
 
 @node System Rident s-rident ads,System Strings Stream_Ops s-ststop ads,System Restrictions s-restri ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id145}@anchor{397}@anchor{gnat_rm/the_gnat_library system-rident-s-rident-ads}@anchor{398}
+@anchor{gnat_rm/the_gnat_library system-rident-s-rident-ads}@anchor{399}@anchor{gnat_rm/the_gnat_library id146}@anchor{39a}
 @section @cite{System.Rident} (@code{s-rident.ads})
 
 
@@ -24154,7 +24145,7 @@ since the necessary instantiation is included in
 package System.Restrictions.
 
 @node System Strings Stream_Ops s-ststop ads,System Unsigned_Types s-unstyp ads,System Rident s-rident ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library id146}@anchor{399}@anchor{gnat_rm/the_gnat_library system-strings-stream-ops-s-ststop-ads}@anchor{39a}
+@anchor{gnat_rm/the_gnat_library id147}@anchor{39b}@anchor{gnat_rm/the_gnat_library system-strings-stream-ops-s-ststop-ads}@anchor{39c}
 @section @cite{System.Strings.Stream_Ops} (@code{s-ststop.ads})
 
 
@@ -24170,7 +24161,7 @@ stream attributes are applied to string types, but the subprograms in this
 package can be used directly by application programs.
 
 @node System Unsigned_Types s-unstyp ads,System Wch_Cnv s-wchcnv ads,System Strings Stream_Ops s-ststop ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library system-unsigned-types-s-unstyp-ads}@anchor{39b}@anchor{gnat_rm/the_gnat_library id147}@anchor{39c}
+@anchor{gnat_rm/the_gnat_library system-unsigned-types-s-unstyp-ads}@anchor{39d}@anchor{gnat_rm/the_gnat_library id148}@anchor{39e}
 @section @cite{System.Unsigned_Types} (@code{s-unstyp.ads})
 
 
@@ -24183,7 +24174,7 @@ also contains some related definitions for other specialized types
 used by the compiler in connection with packed array types.
 
 @node System Wch_Cnv s-wchcnv ads,System Wch_Con s-wchcon ads,System Unsigned_Types s-unstyp ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library system-wch-cnv-s-wchcnv-ads}@anchor{39d}@anchor{gnat_rm/the_gnat_library id148}@anchor{39e}
+@anchor{gnat_rm/the_gnat_library system-wch-cnv-s-wchcnv-ads}@anchor{39f}@anchor{gnat_rm/the_gnat_library id149}@anchor{3a0}
 @section @cite{System.Wch_Cnv} (@code{s-wchcnv.ads})
 
 
@@ -24204,7 +24195,7 @@ encoding method.  It uses definitions in
 package @cite{System.Wch_Con}.
 
 @node System Wch_Con s-wchcon ads,,System Wch_Cnv s-wchcnv ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library system-wch-con-s-wchcon-ads}@anchor{39f}@anchor{gnat_rm/the_gnat_library id149}@anchor{3a0}
+@anchor{gnat_rm/the_gnat_library system-wch-con-s-wchcon-ads}@anchor{3a1}@anchor{gnat_rm/the_gnat_library id150}@anchor{3a2}
 @section @cite{System.Wch_Con} (@code{s-wchcon.ads})
 
 
@@ -24216,7 +24207,7 @@ in ordinary strings.  These definitions are used by
 the package @cite{System.Wch_Cnv}.
 
 @node Interfacing to Other Languages,Specialized Needs Annexes,The GNAT Library,Top
-@anchor{gnat_rm/interfacing_to_other_languages interfacing-to-other-languages}@anchor{11}@anchor{gnat_rm/interfacing_to_other_languages doc}@anchor{3a1}@anchor{gnat_rm/interfacing_to_other_languages id1}@anchor{3a2}
+@anchor{gnat_rm/interfacing_to_other_languages interfacing-to-other-languages}@anchor{11}@anchor{gnat_rm/interfacing_to_other_languages doc}@anchor{3a3}@anchor{gnat_rm/interfacing_to_other_languages id1}@anchor{3a4}
 @chapter Interfacing to Other Languages
 
 
@@ -24234,7 +24225,7 @@ provided.
 @end menu
 
 @node Interfacing to C,Interfacing to C++,,Interfacing to Other Languages
-@anchor{gnat_rm/interfacing_to_other_languages interfacing-to-c}@anchor{3a3}@anchor{gnat_rm/interfacing_to_other_languages id2}@anchor{3a4}
+@anchor{gnat_rm/interfacing_to_other_languages interfacing-to-c}@anchor{3a5}@anchor{gnat_rm/interfacing_to_other_languages id2}@anchor{3a6}
 @section Interfacing to C
 
 
@@ -24372,7 +24363,7 @@ of the length corresponding to the @code{type'Size} value in Ada.
 @end itemize
 
 @node Interfacing to C++,Interfacing to COBOL,Interfacing to C,Interfacing to Other Languages
-@anchor{gnat_rm/interfacing_to_other_languages id4}@anchor{3a5}@anchor{gnat_rm/interfacing_to_other_languages id3}@anchor{3f}
+@anchor{gnat_rm/interfacing_to_other_languages id4}@anchor{3a7}@anchor{gnat_rm/interfacing_to_other_languages id3}@anchor{3e}
 @section Interfacing to C++
 
 
@@ -24429,7 +24420,7 @@ The @cite{External_Name} is the name of the C++ RTTI symbol. You can then
 cover a specific C++ exception in an exception handler.
 
 @node Interfacing to COBOL,Interfacing to Fortran,Interfacing to C++,Interfacing to Other Languages
-@anchor{gnat_rm/interfacing_to_other_languages id5}@anchor{3a6}@anchor{gnat_rm/interfacing_to_other_languages interfacing-to-cobol}@anchor{3a7}
+@anchor{gnat_rm/interfacing_to_other_languages id5}@anchor{3a8}@anchor{gnat_rm/interfacing_to_other_languages interfacing-to-cobol}@anchor{3a9}
 @section Interfacing to COBOL
 
 
@@ -24437,7 +24428,7 @@ Interfacing to COBOL is achieved as described in section B.4 of
 the Ada Reference Manual.
 
 @node Interfacing to Fortran,Interfacing to non-GNAT Ada code,Interfacing to COBOL,Interfacing to Other Languages
-@anchor{gnat_rm/interfacing_to_other_languages id6}@anchor{3a8}@anchor{gnat_rm/interfacing_to_other_languages interfacing-to-fortran}@anchor{3a9}
+@anchor{gnat_rm/interfacing_to_other_languages id6}@anchor{3aa}@anchor{gnat_rm/interfacing_to_other_languages interfacing-to-fortran}@anchor{3ab}
 @section Interfacing to Fortran
 
 
@@ -24447,7 +24438,7 @@ multi-dimensional array causes the array to be stored in column-major
 order as required for convenient interface to Fortran.
 
 @node Interfacing to non-GNAT Ada code,,Interfacing to Fortran,Interfacing to Other Languages
-@anchor{gnat_rm/interfacing_to_other_languages interfacing-to-non-gnat-ada-code}@anchor{3aa}@anchor{gnat_rm/interfacing_to_other_languages id7}@anchor{3ab}
+@anchor{gnat_rm/interfacing_to_other_languages interfacing-to-non-gnat-ada-code}@anchor{3ac}@anchor{gnat_rm/interfacing_to_other_languages id7}@anchor{3ad}
 @section Interfacing to non-GNAT Ada code
 
 
@@ -24471,7 +24462,7 @@ values or simple record types without variants, or simple array
 types with fixed bounds.
 
 @node Specialized Needs Annexes,Implementation of Specific Ada Features,Interfacing to Other Languages,Top
-@anchor{gnat_rm/specialized_needs_annexes specialized-needs-annexes}@anchor{12}@anchor{gnat_rm/specialized_needs_annexes doc}@anchor{3ac}@anchor{gnat_rm/specialized_needs_annexes id1}@anchor{3ad}
+@anchor{gnat_rm/specialized_needs_annexes specialized-needs-annexes}@anchor{12}@anchor{gnat_rm/specialized_needs_annexes doc}@anchor{3ae}@anchor{gnat_rm/specialized_needs_annexes id1}@anchor{3af}
 @chapter Specialized Needs Annexes
 
 
@@ -24512,7 +24503,7 @@ in Ada 2005) is fully implemented.
 @end table
 
 @node Implementation of Specific Ada Features,Implementation of Ada 2012 Features,Specialized Needs Annexes,Top
-@anchor{gnat_rm/implementation_of_specific_ada_features implementation-of-specific-ada-features}@anchor{13}@anchor{gnat_rm/implementation_of_specific_ada_features doc}@anchor{3ae}@anchor{gnat_rm/implementation_of_specific_ada_features id1}@anchor{3af}
+@anchor{gnat_rm/implementation_of_specific_ada_features implementation-of-specific-ada-features}@anchor{13}@anchor{gnat_rm/implementation_of_specific_ada_features doc}@anchor{3b0}@anchor{gnat_rm/implementation_of_specific_ada_features id1}@anchor{3b1}
 @chapter Implementation of Specific Ada Features
 
 
@@ -24530,7 +24521,7 @@ facilities.
 @end menu
 
 @node Machine Code Insertions,GNAT Implementation of Tasking,,Implementation of Specific Ada Features
-@anchor{gnat_rm/implementation_of_specific_ada_features machine-code-insertions}@anchor{11d}@anchor{gnat_rm/implementation_of_specific_ada_features id2}@anchor{3b0}
+@anchor{gnat_rm/implementation_of_specific_ada_features machine-code-insertions}@anchor{11a}@anchor{gnat_rm/implementation_of_specific_ada_features id2}@anchor{3b2}
 @section Machine Code Insertions
 
 
@@ -24698,7 +24689,7 @@ according to normal visibility rules. In particular if there is no
 qualification is required.
 
 @node GNAT Implementation of Tasking,GNAT Implementation of Shared Passive Packages,Machine Code Insertions,Implementation of Specific Ada Features
-@anchor{gnat_rm/implementation_of_specific_ada_features id3}@anchor{3b1}@anchor{gnat_rm/implementation_of_specific_ada_features gnat-implementation-of-tasking}@anchor{3b2}
+@anchor{gnat_rm/implementation_of_specific_ada_features id3}@anchor{3b3}@anchor{gnat_rm/implementation_of_specific_ada_features gnat-implementation-of-tasking}@anchor{3b4}
 @section GNAT Implementation of Tasking
 
 
@@ -24713,7 +24704,7 @@ to compliance with the Real-Time Systems Annex.
 @end menu
 
 @node Mapping Ada Tasks onto the Underlying Kernel Threads,Ensuring Compliance with the Real-Time Annex,,GNAT Implementation of Tasking
-@anchor{gnat_rm/implementation_of_specific_ada_features mapping-ada-tasks-onto-the-underlying-kernel-threads}@anchor{3b3}@anchor{gnat_rm/implementation_of_specific_ada_features id4}@anchor{3b4}
+@anchor{gnat_rm/implementation_of_specific_ada_features mapping-ada-tasks-onto-the-underlying-kernel-threads}@anchor{3b5}@anchor{gnat_rm/implementation_of_specific_ada_features id4}@anchor{3b6}
 @subsection Mapping Ada Tasks onto the Underlying Kernel Threads
 
 
@@ -24781,7 +24772,7 @@ support this functionality when the parent contains more than one task.
 .. index:: Forking a new process
 
 @node Ensuring Compliance with the Real-Time Annex,,Mapping Ada Tasks onto the Underlying Kernel Threads,GNAT Implementation of Tasking
-@anchor{gnat_rm/implementation_of_specific_ada_features id5}@anchor{3b5}@anchor{gnat_rm/implementation_of_specific_ada_features ensuring-compliance-with-the-real-time-annex}@anchor{3b6}
+@anchor{gnat_rm/implementation_of_specific_ada_features id5}@anchor{3b7}@anchor{gnat_rm/implementation_of_specific_ada_features ensuring-compliance-with-the-real-time-annex}@anchor{3b8}
 @subsection Ensuring Compliance with the Real-Time Annex
 
 
@@ -24830,7 +24821,7 @@ that were ready to execute in the priority queue where R has been
 placed at the end.
 
 @node GNAT Implementation of Shared Passive Packages,Code Generation for Array Aggregates,GNAT Implementation of Tasking,Implementation of Specific Ada Features
-@anchor{gnat_rm/implementation_of_specific_ada_features id6}@anchor{3b7}@anchor{gnat_rm/implementation_of_specific_ada_features gnat-implementation-of-shared-passive-packages}@anchor{3b8}
+@anchor{gnat_rm/implementation_of_specific_ada_features id6}@anchor{3b9}@anchor{gnat_rm/implementation_of_specific_ada_features gnat-implementation-of-shared-passive-packages}@anchor{3ba}
 @section GNAT Implementation of Shared Passive Packages
 
 
@@ -24929,7 +24920,7 @@ GNAT supports shared passive packages on all platforms
 except for OpenVMS.
 
 @node Code Generation for Array Aggregates,The Size of Discriminated Records with Default Discriminants,GNAT Implementation of Shared Passive Packages,Implementation of Specific Ada Features
-@anchor{gnat_rm/implementation_of_specific_ada_features code-generation-for-array-aggregates}@anchor{3b9}@anchor{gnat_rm/implementation_of_specific_ada_features id7}@anchor{3ba}
+@anchor{gnat_rm/implementation_of_specific_ada_features code-generation-for-array-aggregates}@anchor{3bb}@anchor{gnat_rm/implementation_of_specific_ada_features id7}@anchor{3bc}
 @section Code Generation for Array Aggregates
 
 
@@ -24960,7 +24951,7 @@ component values and static subtypes also lead to simpler code.
 @end menu
 
 @node Static constant aggregates with static bounds,Constant aggregates with unconstrained nominal types,,Code Generation for Array Aggregates
-@anchor{gnat_rm/implementation_of_specific_ada_features static-constant-aggregates-with-static-bounds}@anchor{3bb}@anchor{gnat_rm/implementation_of_specific_ada_features id8}@anchor{3bc}
+@anchor{gnat_rm/implementation_of_specific_ada_features static-constant-aggregates-with-static-bounds}@anchor{3bd}@anchor{gnat_rm/implementation_of_specific_ada_features id8}@anchor{3be}
 @subsection Static constant aggregates with static bounds
 
 
@@ -25007,7 +24998,7 @@ Zero2: constant two_dim := (others => (others => 0));
 @end example
 
 @node Constant aggregates with unconstrained nominal types,Aggregates with static bounds,Static constant aggregates with static bounds,Code Generation for Array Aggregates
-@anchor{gnat_rm/implementation_of_specific_ada_features constant-aggregates-with-unconstrained-nominal-types}@anchor{3bd}@anchor{gnat_rm/implementation_of_specific_ada_features id9}@anchor{3be}
+@anchor{gnat_rm/implementation_of_specific_ada_features constant-aggregates-with-unconstrained-nominal-types}@anchor{3bf}@anchor{gnat_rm/implementation_of_specific_ada_features id9}@anchor{3c0}
 @subsection Constant aggregates with unconstrained nominal types
 
 
@@ -25022,7 +25013,7 @@ Cr_Unc : constant One_Unc := (12,24,36);
 @end example
 
 @node Aggregates with static bounds,Aggregates with non-static bounds,Constant aggregates with unconstrained nominal types,Code Generation for Array Aggregates
-@anchor{gnat_rm/implementation_of_specific_ada_features id10}@anchor{3bf}@anchor{gnat_rm/implementation_of_specific_ada_features aggregates-with-static-bounds}@anchor{3c0}
+@anchor{gnat_rm/implementation_of_specific_ada_features id10}@anchor{3c1}@anchor{gnat_rm/implementation_of_specific_ada_features aggregates-with-static-bounds}@anchor{3c2}
 @subsection Aggregates with static bounds
 
 
@@ -25050,7 +25041,7 @@ end loop;
 @end example
 
 @node Aggregates with non-static bounds,Aggregates in assignment statements,Aggregates with static bounds,Code Generation for Array Aggregates
-@anchor{gnat_rm/implementation_of_specific_ada_features aggregates-with-non-static-bounds}@anchor{3c1}@anchor{gnat_rm/implementation_of_specific_ada_features id11}@anchor{3c2}
+@anchor{gnat_rm/implementation_of_specific_ada_features aggregates-with-non-static-bounds}@anchor{3c3}@anchor{gnat_rm/implementation_of_specific_ada_features id11}@anchor{3c4}
 @subsection Aggregates with non-static bounds
 
 
@@ -25061,7 +25052,7 @@ have to be applied to sub-arrays individually, if they do not have statically
 compatible subtypes.
 
 @node Aggregates in assignment statements,,Aggregates with non-static bounds,Code Generation for Array Aggregates
-@anchor{gnat_rm/implementation_of_specific_ada_features id12}@anchor{3c3}@anchor{gnat_rm/implementation_of_specific_ada_features aggregates-in-assignment-statements}@anchor{3c4}
+@anchor{gnat_rm/implementation_of_specific_ada_features id12}@anchor{3c5}@anchor{gnat_rm/implementation_of_specific_ada_features aggregates-in-assignment-statements}@anchor{3c6}
 @subsection Aggregates in assignment statements
 
 
@@ -25103,7 +25094,7 @@ a temporary (created either by the front-end or the code generator) and then
 that temporary will be copied onto the target.
 
 @node The Size of Discriminated Records with Default Discriminants,Strict Conformance to the Ada Reference Manual,Code Generation for Array Aggregates,Implementation of Specific Ada Features
-@anchor{gnat_rm/implementation_of_specific_ada_features id13}@anchor{3c5}@anchor{gnat_rm/implementation_of_specific_ada_features the-size-of-discriminated-records-with-default-discriminants}@anchor{3c6}
+@anchor{gnat_rm/implementation_of_specific_ada_features id13}@anchor{3c7}@anchor{gnat_rm/implementation_of_specific_ada_features the-size-of-discriminated-records-with-default-discriminants}@anchor{3c8}
 @section The Size of Discriminated Records with Default Discriminants
 
 
@@ -25183,7 +25174,7 @@ say) must be consistent, so it is imperative that the object, once created,
 remain invariant.
 
 @node Strict Conformance to the Ada Reference Manual,,The Size of Discriminated Records with Default Discriminants,Implementation of Specific Ada Features
-@anchor{gnat_rm/implementation_of_specific_ada_features strict-conformance-to-the-ada-reference-manual}@anchor{3c7}@anchor{gnat_rm/implementation_of_specific_ada_features id14}@anchor{3c8}
+@anchor{gnat_rm/implementation_of_specific_ada_features strict-conformance-to-the-ada-reference-manual}@anchor{3c9}@anchor{gnat_rm/implementation_of_specific_ada_features id14}@anchor{3ca}
 @section Strict Conformance to the Ada Reference Manual
 
 
@@ -25212,7 +25203,7 @@ behavior (although at the cost of a significant performance penalty), so
 infinite and NaN values are properly generated.
 
 @node Implementation of Ada 2012 Features,Obsolescent Features,Implementation of Specific Ada Features,Top
-@anchor{gnat_rm/implementation_of_ada_2012_features doc}@anchor{3c9}@anchor{gnat_rm/implementation_of_ada_2012_features implementation-of-ada-2012-features}@anchor{14}@anchor{gnat_rm/implementation_of_ada_2012_features id1}@anchor{3ca}
+@anchor{gnat_rm/implementation_of_ada_2012_features doc}@anchor{3cb}@anchor{gnat_rm/implementation_of_ada_2012_features implementation-of-ada-2012-features}@anchor{14}@anchor{gnat_rm/implementation_of_ada_2012_features id1}@anchor{3cc}
 @chapter Implementation of Ada 2012 Features
 
 
@@ -27378,7 +27369,7 @@ RM References:  H.04 (8/1)
 @end itemize
 
 @node Obsolescent Features,Compatibility and Porting Guide,Implementation of Ada 2012 Features,Top
-@anchor{gnat_rm/obsolescent_features id1}@anchor{3cb}@anchor{gnat_rm/obsolescent_features doc}@anchor{3cc}@anchor{gnat_rm/obsolescent_features obsolescent-features}@anchor{15}
+@anchor{gnat_rm/obsolescent_features id1}@anchor{3cd}@anchor{gnat_rm/obsolescent_features doc}@anchor{3ce}@anchor{gnat_rm/obsolescent_features obsolescent-features}@anchor{15}
 @chapter Obsolescent Features
 
 
@@ -27397,7 +27388,7 @@ compatibility purposes.
 @end menu
 
 @node pragma No_Run_Time,pragma Ravenscar,,Obsolescent Features
-@anchor{gnat_rm/obsolescent_features id2}@anchor{3cd}@anchor{gnat_rm/obsolescent_features pragma-no-run-time}@anchor{3ce}
+@anchor{gnat_rm/obsolescent_features id2}@anchor{3cf}@anchor{gnat_rm/obsolescent_features pragma-no-run-time}@anchor{3d0}
 @section pragma No_Run_Time
 
 
@@ -27410,7 +27401,7 @@ preferred usage is to use an appropriately configured run-time that
 includes just those features that are to be made accessible.
 
 @node pragma Ravenscar,pragma Restricted_Run_Time,pragma No_Run_Time,Obsolescent Features
-@anchor{gnat_rm/obsolescent_features id3}@anchor{3cf}@anchor{gnat_rm/obsolescent_features pragma-ravenscar}@anchor{3d0}
+@anchor{gnat_rm/obsolescent_features id3}@anchor{3d1}@anchor{gnat_rm/obsolescent_features pragma-ravenscar}@anchor{3d2}
 @section pragma Ravenscar
 
 
@@ -27419,7 +27410,7 @@ The pragma @cite{Ravenscar} has exactly the same effect as pragma
 is part of the new Ada 2005 standard.
 
 @node pragma Restricted_Run_Time,pragma Task_Info,pragma Ravenscar,Obsolescent Features
-@anchor{gnat_rm/obsolescent_features pragma-restricted-run-time}@anchor{3d1}@anchor{gnat_rm/obsolescent_features id4}@anchor{3d2}
+@anchor{gnat_rm/obsolescent_features pragma-restricted-run-time}@anchor{3d3}@anchor{gnat_rm/obsolescent_features id4}@anchor{3d4}
 @section pragma Restricted_Run_Time
 
 
@@ -27429,7 +27420,7 @@ preferred since the Ada 2005 pragma @cite{Profile} is intended for
 this kind of implementation dependent addition.
 
 @node pragma Task_Info,package System Task_Info s-tasinf ads,pragma Restricted_Run_Time,Obsolescent Features
-@anchor{gnat_rm/obsolescent_features pragma-task-info}@anchor{3d3}@anchor{gnat_rm/obsolescent_features id5}@anchor{3d4}
+@anchor{gnat_rm/obsolescent_features pragma-task-info}@anchor{3d5}@anchor{gnat_rm/obsolescent_features id5}@anchor{3d6}
 @section pragma Task_Info
 
 
@@ -27455,7 +27446,7 @@ in the spec of package System.Task_Info in the runtime
 library.
 
 @node package System Task_Info s-tasinf ads,,pragma Task_Info,Obsolescent Features
-@anchor{gnat_rm/obsolescent_features package-system-task-info}@anchor{3d5}@anchor{gnat_rm/obsolescent_features package-system-task-info-s-tasinf-ads}@anchor{3d6}
+@anchor{gnat_rm/obsolescent_features package-system-task-info}@anchor{3d7}@anchor{gnat_rm/obsolescent_features package-system-task-info-s-tasinf-ads}@anchor{3d8}
 @section package System.Task_Info (@code{s-tasinf.ads})
 
 
@@ -27465,7 +27456,7 @@ to support the @cite{Task_Info} pragma. The predefined Ada package
 standard replacement for GNAT's @cite{Task_Info} functionality.
 
 @node Compatibility and Porting Guide,GNU Free Documentation License,Obsolescent Features,Top
-@anchor{gnat_rm/compatibility_and_porting_guide compatibility-and-porting-guide}@anchor{16}@anchor{gnat_rm/compatibility_and_porting_guide doc}@anchor{3d7}@anchor{gnat_rm/compatibility_and_porting_guide id1}@anchor{3d8}
+@anchor{gnat_rm/compatibility_and_porting_guide compatibility-and-porting-guide}@anchor{16}@anchor{gnat_rm/compatibility_and_porting_guide doc}@anchor{3d9}@anchor{gnat_rm/compatibility_and_porting_guide id1}@anchor{3da}
 @chapter Compatibility and Porting Guide
 
 
@@ -27487,7 +27478,7 @@ applications developed in other Ada environments.
 @end menu
 
 @node Writing Portable Fixed-Point Declarations,Compatibility with Ada 83,,Compatibility and Porting Guide
-@anchor{gnat_rm/compatibility_and_porting_guide id2}@anchor{3d9}@anchor{gnat_rm/compatibility_and_porting_guide writing-portable-fixed-point-declarations}@anchor{3da}
+@anchor{gnat_rm/compatibility_and_porting_guide id2}@anchor{3db}@anchor{gnat_rm/compatibility_and_porting_guide writing-portable-fixed-point-declarations}@anchor{3dc}
 @section Writing Portable Fixed-Point Declarations
 
 
@@ -27609,7 +27600,7 @@ If you follow this scheme you will be guaranteed that your fixed-point
 types will be portable.
 
 @node Compatibility with Ada 83,Compatibility between Ada 95 and Ada 2005,Writing Portable Fixed-Point Declarations,Compatibility and Porting Guide
-@anchor{gnat_rm/compatibility_and_porting_guide compatibility-with-ada-83}@anchor{3db}@anchor{gnat_rm/compatibility_and_porting_guide id3}@anchor{3dc}
+@anchor{gnat_rm/compatibility_and_porting_guide compatibility-with-ada-83}@anchor{3dd}@anchor{gnat_rm/compatibility_and_porting_guide id3}@anchor{3de}
 @section Compatibility with Ada 83
 
 
@@ -27637,7 +27628,7 @@ following subsections treat the most likely issues to be encountered.
 @end menu
 
 @node Legal Ada 83 programs that are illegal in Ada 95,More deterministic semantics,,Compatibility with Ada 83
-@anchor{gnat_rm/compatibility_and_porting_guide id4}@anchor{3dd}@anchor{gnat_rm/compatibility_and_porting_guide legal-ada-83-programs-that-are-illegal-in-ada-95}@anchor{3de}
+@anchor{gnat_rm/compatibility_and_porting_guide id4}@anchor{3df}@anchor{gnat_rm/compatibility_and_porting_guide legal-ada-83-programs-that-are-illegal-in-ada-95}@anchor{3e0}
 @subsection Legal Ada 83 programs that are illegal in Ada 95
 
 
@@ -27737,7 +27728,7 @@ the fix is usually simply to add the @cite{(<>)} to the generic declaration.
 @end itemize
 
 @node More deterministic semantics,Changed semantics,Legal Ada 83 programs that are illegal in Ada 95,Compatibility with Ada 83
-@anchor{gnat_rm/compatibility_and_porting_guide more-deterministic-semantics}@anchor{3df}@anchor{gnat_rm/compatibility_and_porting_guide id5}@anchor{3e0}
+@anchor{gnat_rm/compatibility_and_porting_guide more-deterministic-semantics}@anchor{3e1}@anchor{gnat_rm/compatibility_and_porting_guide id5}@anchor{3e2}
 @subsection More deterministic semantics
 
 
@@ -27765,7 +27756,7 @@ which open select branches are executed.
 @end itemize
 
 @node Changed semantics,Other language compatibility issues,More deterministic semantics,Compatibility with Ada 83
-@anchor{gnat_rm/compatibility_and_porting_guide id6}@anchor{3e1}@anchor{gnat_rm/compatibility_and_porting_guide changed-semantics}@anchor{3e2}
+@anchor{gnat_rm/compatibility_and_porting_guide id6}@anchor{3e3}@anchor{gnat_rm/compatibility_and_porting_guide changed-semantics}@anchor{3e4}
 @subsection Changed semantics
 
 
@@ -27807,7 +27798,7 @@ covers only the restricted range.
 @end itemize
 
 @node Other language compatibility issues,,Changed semantics,Compatibility with Ada 83
-@anchor{gnat_rm/compatibility_and_porting_guide other-language-compatibility-issues}@anchor{3e3}@anchor{gnat_rm/compatibility_and_porting_guide id7}@anchor{3e4}
+@anchor{gnat_rm/compatibility_and_porting_guide other-language-compatibility-issues}@anchor{3e5}@anchor{gnat_rm/compatibility_and_porting_guide id7}@anchor{3e6}
 @subsection Other language compatibility issues
 
 
@@ -27840,7 +27831,7 @@ include @cite{pragma Interface} and the floating point type attributes
 @end itemize
 
 @node Compatibility between Ada 95 and Ada 2005,Implementation-dependent characteristics,Compatibility with Ada 83,Compatibility and Porting Guide
-@anchor{gnat_rm/compatibility_and_porting_guide compatibility-between-ada-95-and-ada-2005}@anchor{3e5}@anchor{gnat_rm/compatibility_and_porting_guide id8}@anchor{3e6}
+@anchor{gnat_rm/compatibility_and_porting_guide compatibility-between-ada-95-and-ada-2005}@anchor{3e7}@anchor{gnat_rm/compatibility_and_porting_guide id8}@anchor{3e8}
 @section Compatibility between Ada 95 and Ada 2005
 
 
@@ -27912,7 +27903,7 @@ can declare a function returning a value from an anonymous access type.
 @end itemize
 
 @node Implementation-dependent characteristics,Compatibility with Other Ada Systems,Compatibility between Ada 95 and Ada 2005,Compatibility and Porting Guide
-@anchor{gnat_rm/compatibility_and_porting_guide implementation-dependent-characteristics}@anchor{3e7}@anchor{gnat_rm/compatibility_and_porting_guide id9}@anchor{3e8}
+@anchor{gnat_rm/compatibility_and_porting_guide implementation-dependent-characteristics}@anchor{3e9}@anchor{gnat_rm/compatibility_and_porting_guide id9}@anchor{3ea}
 @section Implementation-dependent characteristics
 
 
@@ -27935,7 +27926,7 @@ transition from certain Ada 83 compilers.
 @end menu
 
 @node Implementation-defined pragmas,Implementation-defined attributes,,Implementation-dependent characteristics
-@anchor{gnat_rm/compatibility_and_porting_guide implementation-defined-pragmas}@anchor{3e9}@anchor{gnat_rm/compatibility_and_porting_guide id10}@anchor{3ea}
+@anchor{gnat_rm/compatibility_and_porting_guide implementation-defined-pragmas}@anchor{3eb}@anchor{gnat_rm/compatibility_and_porting_guide id10}@anchor{3ec}
 @subsection Implementation-defined pragmas
 
 
@@ -27957,7 +27948,7 @@ avoiding compiler rejection of units that contain such pragmas; they are not
 relevant in a GNAT context and hence are not otherwise implemented.
 
 @node Implementation-defined attributes,Libraries,Implementation-defined pragmas,Implementation-dependent characteristics
-@anchor{gnat_rm/compatibility_and_porting_guide id11}@anchor{3eb}@anchor{gnat_rm/compatibility_and_porting_guide implementation-defined-attributes}@anchor{3ec}
+@anchor{gnat_rm/compatibility_and_porting_guide id11}@anchor{3ed}@anchor{gnat_rm/compatibility_and_porting_guide implementation-defined-attributes}@anchor{3ee}
 @subsection Implementation-defined attributes
 
 
@@ -27971,7 +27962,7 @@ Ada 83, GNAT supplies the attributes @cite{Bit}, @cite{Machine_Size} and
 @cite{Type_Class}.
 
 @node Libraries,Elaboration order,Implementation-defined attributes,Implementation-dependent characteristics
-@anchor{gnat_rm/compatibility_and_porting_guide libraries}@anchor{3ed}@anchor{gnat_rm/compatibility_and_porting_guide id12}@anchor{3ee}
+@anchor{gnat_rm/compatibility_and_porting_guide libraries}@anchor{3ef}@anchor{gnat_rm/compatibility_and_porting_guide id12}@anchor{3f0}
 @subsection Libraries
 
 
@@ -28000,7 +27991,7 @@ be preferable to retrofit the application using modular types.
 @end itemize
 
 @node Elaboration order,Target-specific aspects,Libraries,Implementation-dependent characteristics
-@anchor{gnat_rm/compatibility_and_porting_guide elaboration-order}@anchor{3ef}@anchor{gnat_rm/compatibility_and_porting_guide id13}@anchor{3f0}
+@anchor{gnat_rm/compatibility_and_porting_guide elaboration-order}@anchor{3f1}@anchor{gnat_rm/compatibility_and_porting_guide id13}@anchor{3f2}
 @subsection Elaboration order
 
 
@@ -28036,7 +28027,7 @@ pragmas either globally (as an effect of the @emph{-gnatE} switch) or locally
 @end itemize
 
 @node Target-specific aspects,,Elaboration order,Implementation-dependent characteristics
-@anchor{gnat_rm/compatibility_and_porting_guide target-specific-aspects}@anchor{3f1}@anchor{gnat_rm/compatibility_and_porting_guide id14}@anchor{3f2}
+@anchor{gnat_rm/compatibility_and_porting_guide target-specific-aspects}@anchor{3f3}@anchor{gnat_rm/compatibility_and_porting_guide id14}@anchor{3f4}
 @subsection Target-specific aspects
 
 
@@ -28049,10 +28040,10 @@ on the robustness of the original design.  Moreover, Ada 95 (and thus
 Ada 2005 and Ada 2012) are sometimes
 incompatible with typical Ada 83 compiler practices regarding implicit
 packing, the meaning of the Size attribute, and the size of access values.
-GNAT's approach to these issues is described in @ref{3f3,,Representation Clauses}.
+GNAT's approach to these issues is described in @ref{3f5,,Representation Clauses}.
 
 @node Compatibility with Other Ada Systems,Representation Clauses,Implementation-dependent characteristics,Compatibility and Porting Guide
-@anchor{gnat_rm/compatibility_and_porting_guide id15}@anchor{3f4}@anchor{gnat_rm/compatibility_and_porting_guide compatibility-with-other-ada-systems}@anchor{3f5}
+@anchor{gnat_rm/compatibility_and_porting_guide id15}@anchor{3f6}@anchor{gnat_rm/compatibility_and_porting_guide compatibility-with-other-ada-systems}@anchor{3f7}
 @section Compatibility with Other Ada Systems
 
 
@@ -28095,7 +28086,7 @@ far beyond this minimal set, as described in the next section.
 @end itemize
 
 @node Representation Clauses,Compatibility with HP Ada 83,Compatibility with Other Ada Systems,Compatibility and Porting Guide
-@anchor{gnat_rm/compatibility_and_porting_guide representation-clauses}@anchor{3f3}@anchor{gnat_rm/compatibility_and_porting_guide id16}@anchor{3f6}
+@anchor{gnat_rm/compatibility_and_porting_guide representation-clauses}@anchor{3f5}@anchor{gnat_rm/compatibility_and_porting_guide id16}@anchor{3f8}
 @section Representation Clauses
 
 
@@ -28188,7 +28179,7 @@ with thin pointers.
 @end itemize
 
 @node Compatibility with HP Ada 83,,Representation Clauses,Compatibility and Porting Guide
-@anchor{gnat_rm/compatibility_and_porting_guide compatibility-with-hp-ada-83}@anchor{3f7}@anchor{gnat_rm/compatibility_and_porting_guide id17}@anchor{3f8}
+@anchor{gnat_rm/compatibility_and_porting_guide compatibility-with-hp-ada-83}@anchor{3f9}@anchor{gnat_rm/compatibility_and_porting_guide id17}@anchor{3fa}
 @section Compatibility with HP Ada 83
 
 
@@ -28218,7 +28209,7 @@ extension of package System.
 @end itemize
 
 @node GNU Free Documentation License,Index,Compatibility and Porting Guide,Top
-@anchor{share/gnu_free_documentation_license gnu-fdl}@anchor{1}@anchor{share/gnu_free_documentation_license doc}@anchor{3f9}@anchor{share/gnu_free_documentation_license gnu-free-documentation-license}@anchor{3fa}
+@anchor{share/gnu_free_documentation_license gnu-fdl}@anchor{1}@anchor{share/gnu_free_documentation_license doc}@anchor{3fb}@anchor{share/gnu_free_documentation_license gnu-free-documentation-license}@anchor{3fc}
 @chapter GNU Free Documentation License
 
 
index 21fd59ef66e310e6261000f76af1ad40b4321c4c..4c9efb8d21b8305548ed58160382db82bd4a4c98 100644 (file)
@@ -21,7 +21,7 @@
 
 @copying
 @quotation
-GNAT User's Guide for Native Platforms , May 12, 2015
+GNAT User's Guide for Native Platforms , October 20, 2015
 
 AdaCore
 
@@ -6630,7 +6630,7 @@ If you want to generate a single Ada file and not the transitive closure, you
 can use instead the @emph{-fdump-ada-spec-slim} switch.
 
 You can optionally specify a parent unit, of which all generated units will
-be children, using @cite{-fada-spec-parent=`@w{`}unit}.
+be children, using @cite{-fada-spec-parent=<unit>}.
 
 Note that we recommend when possible to use the @emph{g++} driver to
 generate bindings, even for most C headers, since this will in general
@@ -9130,7 +9130,7 @@ messages showing
 where implicit @cite{pragma Elaborate} and @cite{pragma Elaborate_All}
 are generated. This is useful in diagnosing elaboration circularities
 caused by these implicit pragmas when using the static elaboration
-model. See the section in this guide on elaboration checking for
+model. See See the section in this guide on elaboration checking for
 further details. These messages are not generated by default, and are
 intended only for temporary use when debugging circularity problems.
 @end table
@@ -13601,13 +13601,11 @@ year). The compiler will generate code based on the assumption that
 the condition being checked is true, which can result in erroneous
 execution if that assumption is wrong.
 
-The checks subject to suppression include all the checks defined by
-the Ada standard, the additional implementation defined checks
-@cite{Alignment_Check},
-@cite{Duplicated_Tag_Check}, @cite{Predicate_Check}, and
-@cite{Validity_Check}, as well as any checks introduced using
-@cite{pragma Check_Name}. Note that @cite{Atomic_Synchronization}
-is not automatically suppressed by use of this option.
+The checks subject to suppression include all the checks defined by the Ada
+standard, the additional implementation defined checks @cite{Alignment_Check},
+@cite{Duplicated_Tag_Check}, @cite{Predicate_Check}, Container_Checks, Tampering_Check,
+and @cite{Validity_Check}, as well as any checks introduced using @cite{pragma Check_Name}. Note that @cite{Atomic_Synchronization} is not automatically
+suppressed by use of this option.
 
 If the code depends on certain checks being active, you can use
 pragma @cite{Unsuppress} either as a configuration pragma or as
@@ -15425,6 +15423,14 @@ platforms. (See @ref{125,,Dynamic Stack Usage Analysis} for details.)
 Verbose mode. Write error messages, header, summary output to
 @code{stdout}.
 
+@geindex -V (gnatbind)
+
+@item @code{-V@emph{key}=@emph{value}}
+
+Store the given association of @cite{key} to @cite{value} in the bind environment.
+Values stored this way can be retrieved at run time using
+@cite{GNAT.Bind_Environment}.
+
 @geindex -w (gnatbind)
 
 @item @code{-w@emph{x}}
@@ -17821,7 +17827,9 @@ Whether the project is to be installed, values are @cite{true}
 An array attribute to declare a set of files not part of the sources
 to be installed. The array discriminant is the directory where the
 file is to be installed. If a relative directory then Prefix (see
-below) is prepended.
+below) is prepended. Note also that if the same file name occurs
+multiple time in the attribute list, the last one will be the one
+installed.
 @end quotation
 
 @geindex Prefix (GNAT Project Manager)
@@ -21139,7 +21147,7 @@ in an executable.
 @item 
 @strong{Run_Path_Origin}: single
 
-Value is the string that may replace the path name of the executable
+Value is the the string that may replace the path name of the executable
 directory in the run path options.
 
 @item 
@@ -21256,7 +21264,7 @@ the prefix is "lib".
 @item 
 @strong{Shared_Library_Suffix}: single
 
-Value is the extension of the name of shared library files. When not
+Value is the the extension of the name of shared library files. When not
 declared, the extension is ".so".
 
 @item 
@@ -21913,7 +21921,9 @@ Value is the directory used to generate the documentation of source code.
 An array attribute to declare a set of files not part of the sources
 to be installed. The array discriminant is the directory where the
 file is to be installed. If a relative directory then Prefix (see
-below) is prepended.
+below) is prepended. Note also that if the same file name occurs
+multiple time in the attribute list, the last one will be the one
+installed.
 
 @item 
 @strong{Prefix}: single