2014-06-11 Robert Dewar <dewar@adacore.com>
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 11 Jun 2014 10:55:15 +0000 (10:55 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 11 Jun 2014 10:55:15 +0000 (10:55 +0000)
* debug.adb: Add debug flag -gnatd.q.
* erroutc.adb (Prescan_Message): Bomb if untagged warning with
-gnatd.q set.
* styleg.adb (Check_Xtra_Parens): Message should be a style
message.
* sem_aggr.adb, sem_ch3.adb, exp_ch9.adb, checks.adb, sem_prag.adb,
par-endh.adb, eval_fat.adb, freeze.adb, sem_util.adb, sem_attr.adb,
sem_elab.adb, sem_ch6.adb, sem_warn.adb, sem_cat.adb,
sem_ch13.adb, lib-xref.adb: Add remaining warning tags.

2014-06-11  Ben Brosgol  <brosgol@adacore.com>

* gnat_rm.texi: Revised chapter on Implementation Defined
Characteristics.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211448 138bc75d-0d04-0410-961f-82ee72b054a4

21 files changed:
gcc/ada/ChangeLog
gcc/ada/checks.adb
gcc/ada/debug.adb
gcc/ada/erroutc.adb
gcc/ada/eval_fat.adb
gcc/ada/exp_ch9.adb
gcc/ada/freeze.adb
gcc/ada/gnat_rm.texi
gcc/ada/lib-xref.adb
gcc/ada/par-endh.adb
gcc/ada/sem_aggr.adb
gcc/ada/sem_attr.adb
gcc/ada/sem_cat.adb
gcc/ada/sem_ch13.adb
gcc/ada/sem_ch3.adb
gcc/ada/sem_ch6.adb
gcc/ada/sem_elab.adb
gcc/ada/sem_prag.adb
gcc/ada/sem_util.adb
gcc/ada/sem_warn.adb
gcc/ada/styleg.adb

index a2ce54e..c56a525 100644 (file)
@@ -1,3 +1,20 @@
+2014-06-11  Robert Dewar  <dewar@adacore.com>
+
+       * debug.adb: Add debug flag -gnatd.q.
+       * erroutc.adb (Prescan_Message): Bomb if untagged warning with
+       -gnatd.q set.
+       * styleg.adb (Check_Xtra_Parens): Message should be a style
+       message.
+       * sem_aggr.adb, sem_ch3.adb, exp_ch9.adb, checks.adb, sem_prag.adb,
+       par-endh.adb, eval_fat.adb, freeze.adb, sem_util.adb, sem_attr.adb,
+       sem_elab.adb, sem_ch6.adb, sem_warn.adb, sem_cat.adb,
+       sem_ch13.adb, lib-xref.adb: Add remaining warning tags.
+
+2014-06-11  Ben Brosgol  <brosgol@adacore.com>
+
+       * gnat_rm.texi: Revised chapter on Implementation Defined
+       Characteristics.
+
 2014-06-11  Geert Bosch  <bosch@adacore.com>
 
        * s-exctab.adb: avoid race conditions in exception registration.
index 7d3979d..32f0249 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 1992-2013, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2014, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -3128,7 +3128,7 @@ package body Checks is
                else
                   Apply_Compile_Time_Constraint_Error
                     (Ck_Node,
-                     "static value out of range of}?",
+                     "static value out of range of}??",
                      CE_Range_Check_Failed,
                      Ent => Target_Typ,
                      Typ => Target_Typ);
@@ -3913,7 +3913,7 @@ package body Checks is
                   Apply_Compile_Time_Constraint_Error
                     (N      => Expr,
                      Msg    => "(Ada 2005) null not allowed "
-                               & "in null-excluding objects?",
+                               & "in null-excluding objects??",
                      Reason => CE_Null_Not_Allowed);
 
                when N_Parameter_Specification =>
index 8399a2c..49fae93 100644 (file)
@@ -107,7 +107,7 @@ package body Debug is
    --  d.n  Print source file names
    --  d.o  Generate .NET listing of CIL code
    --  d.p  Enable the .NET CIL verifier
-   --  d.q
+   --  d.q  Quit on badly tagged warning message
    --  d.r  Enable OK_To_Reorder_Components in non-variant records
    --  d.s  Disable expansion of slice move, use memmove
    --  d.t  Disable static allocation of library level dispatch tables
@@ -561,6 +561,12 @@ package body Debug is
    --       disabled by default and this flag is used to enable it. In the
    --       future we will reverse this functionality.
 
+   --  d.q  All warning and info messages are supposed to be tagged with one
+   --       of the extended warning sequences such as ?? or <x<. The use of a
+   --       single ? or < is allowed for transitional purposes, but these are
+   --       intended to disappear. This debug switch makes it fatal to have a
+   --       warning presented which is not tagged (Program Error is raised).
+
    --  d.r  Forces the flag OK_To_Reorder_Components to be set in all record
    --       base types that have no discriminants.
 
index c27b76e..8df7d90 100644 (file)
@@ -756,6 +756,15 @@ package body Erroutc is
                end;
             end if;
 
+            --  Bomb if untagged warning message and -gnatd.q set
+
+            if Debug_Flag_Dot_Q
+              and then Is_Warning_Msg
+              and then Warning_Msg_Char = ' '
+            then
+               raise Program_Error;
+            end if;
+
          --  Unconditional message (! insertion)
 
          elsif Msg (J) = '!' then
index bb729f9..7217048 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 1992-2013, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2014, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -508,12 +508,12 @@ package body Eval_Fat is
             if X_Exp < Emin_Den or not Has_Denormals (RT) then
                if Has_Signed_Zeros (RT) and then UR_Is_Negative (X) then
                   Error_Msg_N
-                    ("floating-point value underflows to -0.0?", Enode);
+                    ("floating-point value underflows to -0.0??", Enode);
                   return Ureal_M_0;
 
                else
                   Error_Msg_N
-                    ("floating-point value underflows to 0.0?", Enode);
+                    ("floating-point value underflows to 0.0??", Enode);
                   return Ureal_0;
                end if;
 
@@ -545,7 +545,7 @@ package body Eval_Fat is
                begin
                   if X_Frac_Denorm /= X_Frac then
                      Error_Msg_N
-                       ("gradual underflow causes loss of precision?",
+                       ("gradual underflow causes loss of precision??",
                         Enode);
                      X_Frac := X_Frac_Denorm;
                   end if;
index 0103cfa..a1ff4de 100644 (file)
@@ -6233,8 +6233,8 @@ package body Exp_Ch9 is
                   null;
 
                else
-                  Error_Msg_N ("potentially unsynchronized barrier?", N);
-                  Error_Msg_N ("\& should be private component of type?", N);
+                  Error_Msg_N ("potentially unsynchronized barrier??", N);
+                  Error_Msg_N ("\& should be private component of type??", N);
                end if;
             end if;
          end if;
index e091cea..97d21d3 100644 (file)
@@ -4301,7 +4301,7 @@ package body Freeze is
                   Error_Msg_N
                     ("??convention C enumeration object has size less than ^",
                      E);
-                  Error_Msg_N ("\?use explicit size clause to set size", E);
+                  Error_Msg_N ("\??use explicit size clause to set size", E);
                end if;
             end if;
 
index 79e43ab..3250a19 100644 (file)
@@ -12021,48 +12021,57 @@ Manual, and are summarized in Annex M@.
 
 A requirement for conforming Ada compilers is that they provide
 documentation describing how the implementation deals with each of these
-issues.  In this chapter, you will find each point in Annex M listed
-followed by a description in italic font of how GNAT
+issues.  In this chapter you will find each point in Annex M listed,
+followed by a description of how GNAT
 handles the implementation dependence.
 
 You can use this chapter as a guide to minimizing implementation
 dependent features in your programs if portability to other compilers
 and other operating systems is an important consideration.  The numbers
-in each section below correspond to the paragraph number in the Ada
+in each entry below correspond to the paragraph numbers in the Ada
 Reference Manual.
 
+
+@itemize @bullet
 @sp 1
 @cartouche
 @noindent
-@strong{2}.  Whether or not each recommendation given in Implementation
+@item
+Whether or not each recommendation given in Implementation
 Advice is followed.  See 1.1.2(37).
 @end cartouche
 @noindent
 @xref{Implementation Advice}.
 
+
 @sp 1
 @cartouche
 @noindent
-@strong{3}.  Capacity limitations of the implementation.  See 1.1.3(3).
+@item
+Capacity limitations of the implementation.  See 1.1.3(3).
 @end cartouche
 @noindent
 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.
 
+
 @sp 1
 @cartouche
 @noindent
-@strong{4}.  Variations from the standard that are impractical to avoid
+@item
+Variations from the standard that are impractical to avoid
 given the implementation's execution environment.  See 1.1.3(6).
 @end cartouche
 @noindent
 There are no variations from the standard.
 
+
 @sp 1
 @cartouche
 @noindent
-@strong{5}.  Which @code{code_statement}s cause external
+@item
+Which @code{code_statement}s cause external
 interactions.  See 1.1.3(10).
 @end cartouche
 @noindent
@@ -12071,16 +12080,19 @@ Any @code{code_statement} can potentially cause external interactions.
 @sp 1
 @cartouche
 @noindent
-@strong{6}.  The coded representation for the text of an Ada
+@item
+The coded representation for the text of an Ada
 program.  See 2.1(4).
 @end cartouche
 @noindent
 See separate section on source representation.
 
+
 @sp 1
 @cartouche
 @noindent
-@strong{7}.  The control functions allowed in comments.  See 2.1(14).
+@item
+The control functions allowed in comments.  See 2.1(14).
 @end cartouche
 @noindent
 See separate section on source representation.
@@ -12088,7 +12100,8 @@ See separate section on source representation.
 @sp 1
 @cartouche
 @noindent
-@strong{8}.  The representation for an end of line.  See 2.2(2).
+@item
+The representation for an end of line.  See 2.2(2).
 @end cartouche
 @noindent
 See separate section on source representation.
@@ -12096,7 +12109,8 @@ See separate section on source representation.
 @sp 1
 @cartouche
 @noindent
-@strong{9}.  Maximum supported line length and lexical element
+@item
+Maximum supported line length and lexical element
 length.  See 2.2(15).
 @end cartouche
 @noindent
@@ -12110,7 +12124,8 @@ length of a lexical element is the same as the maximum line length.
 @sp 1
 @cartouche
 @noindent
-@strong{10}.  Implementation defined pragmas.  See 2.8(14).
+@item
+Implementation defined pragmas.  See 2.8(14).
 @end cartouche
 @noindent
 
@@ -12119,7 +12134,8 @@ length of a lexical element is the same as the maximum line length.
 @sp 1
 @cartouche
 @noindent
-@strong{11}.  Effect of pragma @code{Optimize}.  See 2.8(27).
+@item
+Effect of pragma @code{Optimize}.  See 2.8(27).
 @end cartouche
 @noindent
 Pragma @code{Optimize}, if given with a @code{Time} or @code{Space}
@@ -12129,7 +12145,8 @@ not.
 @sp 1
 @cartouche
 @noindent
-@strong{12}.  The sequence of characters of the value returned by
+@item
+The sequence of characters of the value returned by
 @code{@var{S}'Image} when some of the graphic characters of
 @code{@var{S}'Wide_Image} are not defined in @code{Character}.  See
 3.5(37).
@@ -12142,7 +12159,8 @@ further details.
 @sp 1
 @cartouche
 @noindent
-@strong{13}.  The predefined integer types declared in
+@item
+The predefined integer types declared in
 @code{Standard}.  See 3.5.4(25).
 @end cartouche
 @noindent
@@ -12163,7 +12181,8 @@ further details.
 @sp 1
 @cartouche
 @noindent
-@strong{14}.  Any nonstandard integer types and the operators defined
+@item
+Any nonstandard integer types and the operators defined
 for them.  See 3.5.4(26).
 @end cartouche
 @noindent
@@ -12172,7 +12191,8 @@ There are no nonstandard integer types.
 @sp 1
 @cartouche
 @noindent
-@strong{15}.  Any nonstandard real types and the operators defined for
+@item
+Any nonstandard real types and the operators defined for
 them.  See 3.5.6(8).
 @end cartouche
 @noindent
@@ -12181,7 +12201,8 @@ There are no nonstandard real types.
 @sp 1
 @cartouche
 @noindent
-@strong{16}.  What combinations of requested decimal precision and range
+@item
+What combinations of requested decimal precision and range
 are supported for floating point types.  See 3.5.7(7).
 @end cartouche
 @noindent
@@ -12190,7 +12211,8 @@ The precision and range is as defined by the IEEE standard.
 @sp 1
 @cartouche
 @noindent
-@strong{17}.  The predefined floating point types declared in
+@item
+The predefined floating point types declared in
 @code{Standard}.  See 3.5.7(16).
 @end cartouche
 @noindent
@@ -12208,7 +12230,8 @@ The precision and range is as defined by the IEEE standard.
 @sp 1
 @cartouche
 @noindent
-@strong{18}.  The small of an ordinary fixed point type.  See 3.5.9(8).
+@item
+The small of an ordinary fixed point type.  See 3.5.9(8).
 @end cartouche
 @noindent
 @code{Fine_Delta} is 2**(@minus{}63)
@@ -12216,7 +12239,8 @@ The precision and range is as defined by the IEEE standard.
 @sp 1
 @cartouche
 @noindent
-@strong{19}.  What combinations of small, range, and digits are
+@item
+What combinations of small, range, and digits are
 supported for fixed point types.  See 3.5.9(10).
 @end cartouche
 @noindent
@@ -12230,7 +12254,8 @@ is because floating-point conversions are used to convert fixed point.
 @sp 1
 @cartouche
 @noindent
-@strong{20}.  The result of @code{Tags.Expanded_Name} for types declared
+@item
+The result of @code{Tags.Expanded_Name} for types declared
 within an unnamed @code{block_statement}.  See 3.9(10).
 @end cartouche
 @noindent
@@ -12240,7 +12265,8 @@ decimal integer are allocated.
 @sp 1
 @cartouche
 @noindent
-@strong{21}.  Implementation-defined attributes.  See 4.1.4(12).
+@item
+Implementation-defined attributes.  See 4.1.4(12).
 @end cartouche
 @noindent
 @xref{Implementation Defined Attributes}.
@@ -12248,7 +12274,8 @@ decimal integer are allocated.
 @sp 1
 @cartouche
 @noindent
-@strong{22}.  Any implementation-defined time types.  See 9.6(6).
+@item
+Any implementation-defined time types.  See 9.6(6).
 @end cartouche
 @noindent
 There are no implementation-defined time types.
@@ -12256,7 +12283,8 @@ There are no implementation-defined time types.
 @sp 1
 @cartouche
 @noindent
-@strong{23}.  The time base associated with relative delays.
+@item
+The time base associated with relative delays.
 @end cartouche
 @noindent
 See 9.6(20).  The time base used is that provided by the C library
@@ -12265,7 +12293,8 @@ function @code{gettimeofday}.
 @sp 1
 @cartouche
 @noindent
-@strong{24}.  The time base of the type @code{Calendar.Time}.  See
+@item
+The time base of the type @code{Calendar.Time}.  See
 9.6(23).
 @end cartouche
 @noindent
@@ -12275,7 +12304,8 @@ The time base used is that provided by the C library function
 @sp 1
 @cartouche
 @noindent
-@strong{25}.  The time zone used for package @code{Calendar}
+@item
+The time zone used for package @code{Calendar}
 operations.  See 9.6(24).
 @end cartouche
 @noindent
@@ -12286,7 +12316,8 @@ setting for local time, as accessed by the C library function
 @sp 1
 @cartouche
 @noindent
-@strong{26}.  Any limit on @code{delay_until_statements} of
+@item
+Any limit on @code{delay_until_statements} of
 @code{select_statements}.  See 9.6(29).
 @end cartouche
 @noindent
@@ -12295,7 +12326,8 @@ There are no such limits.
 @sp 1
 @cartouche
 @noindent
-@strong{27}.  Whether or not two non-overlapping parts of a composite
+@item
+Whether or not two non-overlapping parts of a composite
 object are independently addressable, in the case where packing, record
 layout, or @code{Component_Size} is specified for the object.  See
 9.10(1).
@@ -12307,7 +12339,8 @@ overlapping storage units.
 @sp 1
 @cartouche
 @noindent
-@strong{28}.  The representation for a compilation.  See 10.1(2).
+@item
+The representation for a compilation.  See 10.1(2).
 @end cartouche
 @noindent
 A compilation is represented by a sequence of files presented to the
@@ -12316,7 +12349,8 @@ compiler in a single invocation of the @command{gcc} command.
 @sp 1
 @cartouche
 @noindent
-@strong{29}.  Any restrictions on compilations that contain multiple
+@item
+Any restrictions on compilations that contain multiple
 compilation_units.  See 10.1(4).
 @end cartouche
 @noindent
@@ -12327,7 +12361,8 @@ compilation.
 @sp 1
 @cartouche
 @noindent
-@strong{30}.  The mechanisms for creating an environment and for adding
+@item
+The mechanisms for creating an environment and for adding
 and replacing compilation units.  See 10.1.4(3).
 @end cartouche
 @noindent
@@ -12336,7 +12371,8 @@ See separate section on compilation model.
 @sp 1
 @cartouche
 @noindent
-@strong{31}.  The manner of explicitly assigning library units to a
+@item
+The manner of explicitly assigning library units to a
 partition.  See 10.2(2).
 @end cartouche
 @noindent
@@ -12362,7 +12398,8 @@ options, refer to @ref{The GNAT Make Program gnatmake,,, gnat_ugn,
 @sp 1
 @cartouche
 @noindent
-@strong{32}.  The implementation-defined means, if any, of specifying
+@item
+The implementation-defined means, if any, of specifying
 which compilation units are needed by a given compilation unit.  See
 10.2(2).
 @end cartouche
@@ -12375,7 +12412,8 @@ means for specifying needed units.
 @sp 1
 @cartouche
 @noindent
-@strong{33}.  The manner of designating the main subprogram of a
+@item
+The manner of designating the main subprogram of a
 partition.  See 10.2(7).
 @end cartouche
 @noindent
@@ -12385,7 +12423,8 @@ corresponding @file{ALI} file as the input parameter to the binder.
 @sp 1
 @cartouche
 @noindent
-@strong{34}.  The order of elaboration of @code{library_items}.  See
+@item
+The order of elaboration of @code{library_items}.  See
 10.2(18).
 @end cartouche
 @noindent
@@ -12401,7 +12440,8 @@ where a choice still remains.
 @sp 1
 @cartouche
 @noindent
-@strong{35}.  Parameter passing and function return for the main
+@item
+Parameter passing and function return for the main
 subprogram.  See 10.2(21).
 @end cartouche
 @noindent
@@ -12413,7 +12453,8 @@ may have been set by a call to @code{Ada.Command_Line.Set_Exit_Status}).
 @sp 1
 @cartouche
 @noindent
-@strong{36}.  The mechanisms for building and running partitions.  See
+@item
+The mechanisms for building and running partitions.  See
 10.2(24).
 @end cartouche
 @noindent
@@ -12426,7 +12467,8 @@ for details.
 @sp 1
 @cartouche
 @noindent
-@strong{37}.  The details of program execution, including program
+@item
+The details of program execution, including program
 termination.  See 10.2(25).
 @end cartouche
 @noindent
@@ -12435,7 +12477,8 @@ See separate section on compilation model.
 @sp 1
 @cartouche
 @noindent
-@strong{38}.  The semantics of any non-active partitions supported by the
+@item
+The semantics of any non-active partitions supported by the
 implementation.  See 10.2(28).
 @end cartouche
 @noindent
@@ -12446,7 +12489,8 @@ further details.
 @sp 1
 @cartouche
 @noindent
-@strong{39}.  The information returned by @code{Exception_Message}.  See
+@item
+The information returned by @code{Exception_Message}.  See
 11.4.1(10).
 @end cartouche
 @noindent
@@ -12456,7 +12500,8 @@ been passed by the program.
 @sp 1
 @cartouche
 @noindent
-@strong{40}.  The result of @code{Exceptions.Exception_Name} for types
+@item
+The result of @code{Exceptions.Exception_Name} for types
 declared within an unnamed @code{block_statement}.  See 11.4.1(12).
 @end cartouche
 @noindent
@@ -12466,7 +12511,8 @@ where @var{nnn} is an integer.
 @sp 1
 @cartouche
 @noindent
-@strong{41}.  The information returned by
+@item
+The information returned by
 @code{Exception_Information}.  See 11.4.1(13).
 @end cartouche
 @noindent
@@ -12513,7 +12559,8 @@ the last line is a single @code{LF} character (@code{16#0A#}).
 @sp 1
 @cartouche
 @noindent
-@strong{42}.  Implementation-defined check names.  See 11.5(27).
+@item
+Implementation-defined check names.  See 11.5(27).
 @end cartouche
 @noindent
 The implementation defined check name Alignment_Check controls checking of
@@ -12532,7 +12579,8 @@ by means of the pragma Check_Name.
 @sp 1
 @cartouche
 @noindent
-@strong{43}.  The interpretation of each aspect of representation.  See
+@item
+The interpretation of each aspect of representation.  See
 13.1(20).
 @end cartouche
 @noindent
@@ -12541,7 +12589,8 @@ See separate section on data representations.
 @sp 1
 @cartouche
 @noindent
-@strong{44}.  Any restrictions placed upon representation items.  See
+@item
+Any restrictions placed upon representation items.  See
 13.1(20).
 @end cartouche
 @noindent
@@ -12550,7 +12599,8 @@ See separate section on data representations.
 @sp 1
 @cartouche
 @noindent
-@strong{45}.  The meaning of @code{Size} for indefinite subtypes.  See
+@item
+The meaning of @code{Size} for indefinite subtypes.  See
 13.3(48).
 @end cartouche
 @noindent
@@ -12561,7 +12611,8 @@ is the actual size.
 @sp 1
 @cartouche
 @noindent
-@strong{46}.  The default external representation for a type tag.  See
+@item
+The default external representation for a type tag.  See
 13.3(75).
 @end cartouche
 @noindent
@@ -12571,7 +12622,8 @@ name of the type in upper case letters.
 @sp 1
 @cartouche
 @noindent
-@strong{47}.  What determines whether a compilation unit is the same in
+@item
+What determines whether a compilation unit is the same in
 two different partitions.  See 13.3(76).
 @end cartouche
 @noindent
@@ -12581,7 +12633,8 @@ if it derives from the same source file.
 @sp 1
 @cartouche
 @noindent
-@strong{48}.  Implementation-defined components.  See 13.5.1(15).
+@item
+Implementation-defined components.  See 13.5.1(15).
 @end cartouche
 @noindent
 The only implementation defined component is the tag for a tagged type,
@@ -12590,7 +12643,8 @@ which contains a pointer to the dispatching table.
 @sp 1
 @cartouche
 @noindent
-@strong{49}.  If @code{Word_Size} = @code{Storage_Unit}, the default bit
+@item
+If @code{Word_Size} = @code{Storage_Unit}, the default bit
 ordering.  See 13.5.3(5).
 @end cartouche
 @noindent
@@ -12601,7 +12655,8 @@ bit ordering corresponds to the natural endianness of the target architecture.
 @sp 1
 @cartouche
 @noindent
-@strong{50}.  The contents of the visible part of package @code{System}
+@item
+The contents of the visible part of package @code{System}
 and its language-defined children.  See 13.7(2).
 @end cartouche
 @noindent
@@ -12611,7 +12666,8 @@ See the definition of these packages in files @file{system.ads} and
 @sp 1
 @cartouche
 @noindent
-@strong{51}.  The contents of the visible part of package
+@item
+The contents of the visible part of package
 @code{System.Machine_Code}, and the meaning of
 @code{code_statements}.  See 13.8(7).
 @end cartouche
@@ -12621,7 +12677,8 @@ See the definition and documentation in file @file{s-maccod.ads}.
 @sp 1
 @cartouche
 @noindent
-@strong{52}.  The effect of unchecked conversion.  See 13.9(11).
+@item
+The effect of unchecked conversion.  See 13.9(11).
 @end cartouche
 @noindent
 Unchecked conversion between types of the same size
@@ -12670,7 +12727,8 @@ on the simple assignment of the invalid negative value from Y to Z.
 @sp 1
 @cartouche
 @noindent
-@strong{53}.  The manner of choosing a storage pool for an access type
+@item
+The manner of choosing a storage pool for an access type
 when @code{Storage_Pool} is not specified for the type.  See 13.11(17).
 @end cartouche
 @noindent
@@ -12686,7 +12744,8 @@ default pools used.
 @sp 1
 @cartouche
 @noindent
-@strong{54}.  Whether or not the implementation provides user-accessible
+@item
+Whether or not the implementation provides user-accessible
 names for the standard pool type(s).  See 13.11(17).
 @end cartouche
 @noindent
@@ -12698,7 +12757,8 @@ these units.
 @sp 1
 @cartouche
 @noindent
-@strong{55}.  The meaning of @code{Storage_Size}.  See 13.11(18).
+@item
+The meaning of @code{Storage_Size}.  See 13.11(18).
 @end cartouche
 @noindent
 @code{Storage_Size} is measured in storage units, and refers to the
@@ -12708,7 +12768,8 @@ stack space for a task.
 @sp 1
 @cartouche
 @noindent
-@strong{56}.  Implementation-defined aspects of storage pools.  See
+@item
+Implementation-defined aspects of storage pools.  See
 13.11(22).
 @end cartouche
 @noindent
@@ -12718,7 +12779,8 @@ See documentation in the sources of the run time mentioned in paragraph
 @sp 1
 @cartouche
 @noindent
-@strong{57}.  The set of restrictions allowed in a pragma
+@item
+The set of restrictions allowed in a pragma
 @code{Restrictions}.  See 13.12(7).
 @end cartouche
 @noindent
@@ -12727,7 +12789,8 @@ See documentation in the sources of the run time mentioned in paragraph
 @sp 1
 @cartouche
 @noindent
-@strong{58}.  The consequences of violating limitations on
+@item
+The consequences of violating limitations on
 @code{Restrictions} pragmas.  See 13.12(9).
 @end cartouche
 @noindent
@@ -12738,7 +12801,8 @@ restrictions.
 @sp 1
 @cartouche
 @noindent
-@strong{59}.  The representation used by the @code{Read} and
+@item
+The representation used by the @code{Read} and
 @code{Write} attributes of elementary types in terms of stream
 elements.  See 13.13.2(9).
 @end cartouche
@@ -12750,7 +12814,8 @@ the type, using the number of bits corresponding to the
 @sp 1
 @cartouche
 @noindent
-@strong{60}.  The names and characteristics of the numeric subtypes
+@item
+The names and characteristics of the numeric subtypes
 declared in the visible part of package @code{Standard}.  See A.1(3).
 @end cartouche
 @noindent
@@ -12770,7 +12835,8 @@ Unicode specification.
 @sp 1
 @cartouche
 @noindent
-@strong{62}.  The accuracy actually achieved by the elementary
+@item
+The accuracy actually achieved by the elementary
 functions.  See A.5.1(1).
 @end cartouche
 @noindent
@@ -12780,7 +12846,8 @@ library.  Only fast math mode is implemented.
 @sp 1
 @cartouche
 @noindent
-@strong{63}.  The sign of a zero result from some of the operators or
+@item
+The sign of a zero result from some of the operators or
 functions in @code{Numerics.Generic_Elementary_Functions}, when
 @code{Float_Type'Signed_Zeros} is @code{True}.  See A.5.1(46).
 @end cartouche
@@ -12791,7 +12858,8 @@ floating-point.
 @sp 1
 @cartouche
 @noindent
-@strong{64}.  The value of
+@item
+The value of
 @code{Numerics.Float_Random.Max_Image_Width}.  See A.5.2(27).
 @end cartouche
 @noindent
@@ -12800,7 +12868,8 @@ Maximum image width is 6864, see library file @file{s-rannum.ads}.
 @sp 1
 @cartouche
 @noindent
-@strong{65}.  The value of
+@item
+The value of
 @code{Numerics.Discrete_Random.Max_Image_Width}.  See A.5.2(27).
 @end cartouche
 @noindent
@@ -12809,7 +12878,8 @@ Maximum image width is 6864, see library file @file{s-rannum.ads}.
 @sp 1
 @cartouche
 @noindent
-@strong{66}.  The algorithms for random number generation.  See
+@item
+The algorithms for random number generation.  See
 A.5.2(32).
 @end cartouche
 @noindent
@@ -12820,7 +12890,8 @@ The algorithm is the Mersenne Twister, as documented in the source file
 @sp 1
 @cartouche
 @noindent
-@strong{67}.  The string representation of a random number generator's
+@item
+The string representation of a random number generator's
 state.  See A.5.2(38).
 @end cartouche
 @noindent
@@ -12831,7 +12902,8 @@ of the state vector.
 @sp 1
 @cartouche
 @noindent
-@strong{68}.  The minimum time interval between calls to the
+@item
+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).
 @end cartouche
@@ -12842,7 +12914,8 @@ random numbers is one microsecond.
 @sp 1
 @cartouche
 @noindent
-@strong{69}.  The values of the @code{Model_Mantissa},
+@item
+The values of the @code{Model_Mantissa},
 @code{Model_Emin}, @code{Model_Epsilon}, @code{Model},
 @code{Safe_First}, and @code{Safe_Last} attributes, if the Numerics
 Annex is not supported.  See A.5.3(72).
@@ -12854,7 +12927,8 @@ Run the compiler with @option{-gnatS} to produce a listing of package
 @sp 1
 @cartouche
 @noindent
-@strong{70}.  Any implementation-defined characteristics of the
+@item
+Any implementation-defined characteristics of the
 input-output packages.  See A.7(14).
 @end cartouche
 @noindent
@@ -12864,7 +12938,8 @@ packages.
 @sp 1
 @cartouche
 @noindent
-@strong{71}.  The value of @code{Buffer_Size} in @code{Storage_IO}.  See
+@item
+The value of @code{Buffer_Size} in @code{Storage_IO}.  See
 A.9(10).
 @end cartouche
 @noindent
@@ -12875,7 +12950,8 @@ boundary.
 @sp 1
 @cartouche
 @noindent
-@strong{72}.  External files for standard input, standard output, and
+@item
+External files for standard input, standard output, and
 standard error See A.10(5).
 @end cartouche
 @noindent
@@ -12885,7 +12961,8 @@ libraries.  See source file @file{i-cstrea.ads} for further details.
 @sp 1
 @cartouche
 @noindent
-@strong{73}.  The accuracy of the value produced by @code{Put}.  See
+@item
+The accuracy of the value produced by @code{Put}.  See
 A.10.9(36).
 @end cartouche
 @noindent
@@ -12896,7 +12973,8 @@ significant digit positions.
 @sp 1
 @cartouche
 @noindent
-@strong{74}.  The meaning of @code{Argument_Count}, @code{Argument}, and
+@item
+The meaning of @code{Argument_Count}, @code{Argument}, and
 @code{Command_Name}.  See A.15(1).
 @end cartouche
 @noindent
@@ -12906,7 +12984,8 @@ main program in the natural manner.
 @sp 1
 @cartouche
 @noindent
-@strong{75}.  The interpretation of the @code{Form} parameter in procedure
+@item
+The interpretation of the @code{Form} parameter in procedure
 @code{Create_Directory}.  See A.16(56).
 @end cartouche
 @noindent
@@ -12915,7 +12994,8 @@ The @code{Form} parameter is not used.
 @sp 1
 @cartouche
 @noindent
-@strong{76}.  The interpretation of the @code{Form} parameter in procedure
+@item
+The interpretation of the @code{Form} parameter in procedure
 @code{Create_Path}.  See A.16(60).
 @end cartouche
 @noindent
@@ -12924,7 +13004,8 @@ The @code{Form} parameter is not used.
 @sp 1
 @cartouche
 @noindent
-@strong{77}.  The interpretation of the @code{Form} parameter in procedure
+@item
+The interpretation of the @code{Form} parameter in procedure
 @code{Copy_File}.  See A.16(68).
 @end cartouche
 @noindent
@@ -13003,7 +13084,22 @@ Form => "mode=internal, preserve=timestamps"
 @sp 1
 @cartouche
 @noindent
-@strong{78}.  Implementation-defined convention names.  See B.1(11).
+@item
+The interpretation of the @code{Pattern} parameter, when not the null string,
+in the @code{Start_Search} and @code{Search} procedures.
+See A.16(104) and A.16(112).
+@end cartouche
+@noindent
+When the @code{Pattern} parameter is not the null string, it is interpreted
+according to the syntax of regular expressions as defined in the
+@code{GNAT.Regexp} package.
+@xref{GNAT.Regexp (g-regexp.ads)}.
+
+@sp 1
+@cartouche
+@noindent
+@item
+Implementation-defined convention names.  See B.1(11).
 @end cartouche
 @noindent
 The following convention names are supported
@@ -13070,7 +13166,8 @@ implementations, these names are accepted silently.
 @sp 1
 @cartouche
 @noindent
-@strong{79}.  The meaning of link names.  See B.1(36).
+@item
+The meaning of link names.  See B.1(36).
 @end cartouche
 @noindent
 Link names are the actual names used by the linker.
@@ -13078,7 +13175,8 @@ Link names are the actual names used by the linker.
 @sp 1
 @cartouche
 @noindent
-@strong{80}.  The manner of choosing link names when neither the link
+@item
+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).
 @end cartouche
@@ -13090,7 +13188,8 @@ letters.
 @sp 1
 @cartouche
 @noindent
-@strong{81}.  The effect of pragma @code{Linker_Options}.  See B.1(37).
+@item
+The effect of pragma @code{Linker_Options}.  See B.1(37).
 @end cartouche
 @noindent
 The string passed to @code{Linker_Options} is presented uninterpreted as
@@ -13111,7 +13210,8 @@ from the corresponding package spec.
 @sp 1
 @cartouche
 @noindent
-@strong{82}.  The contents of the visible part of package
+@item
+The contents of the visible part of package
 @code{Interfaces} and its language-defined descendants.  See B.2(1).
 @end cartouche
 @noindent
@@ -13120,7 +13220,8 @@ See files with prefix @file{i-} in the distributed library.
 @sp 1
 @cartouche
 @noindent
-@strong{83}.  Implementation-defined children of package
+@item
+Implementation-defined children of package
 @code{Interfaces}.  The contents of the visible part of package
 @code{Interfaces}.  See B.2(11).
 @end cartouche
@@ -13130,7 +13231,8 @@ See files with prefix @file{i-} in the distributed library.
 @sp 1
 @cartouche
 @noindent
-@strong{84}.  The types @code{Floating}, @code{Long_Floating},
+@item
+The types @code{Floating}, @code{Long_Floating},
 @code{Binary}, @code{Long_Binary}, @code{Decimal_ Element}, and
 @code{COBOL_Character}; and the initialization of the variables
 @code{Ada_To_COBOL} and @code{COBOL_To_Ada}, in
@@ -13158,7 +13260,8 @@ For initialization, see the file @file{i-cobol.ads} in the distributed library.
 @sp 1
 @cartouche
 @noindent
-@strong{85}.  Support for access to machine instructions.  See C.1(1).
+@item
+Support for access to machine instructions.  See C.1(1).
 @end cartouche
 @noindent
 See documentation in file @file{s-maccod.ads} in the distributed library.
@@ -13166,7 +13269,8 @@ See documentation in file @file{s-maccod.ads} in the distributed library.
 @sp 1
 @cartouche
 @noindent
-@strong{86}.  Implementation-defined aspects of access to machine
+@item
+Implementation-defined aspects of access to machine
 operations.  See C.1(9).
 @end cartouche
 @noindent
@@ -13175,7 +13279,8 @@ See documentation in file @file{s-maccod.ads} in the distributed library.
 @sp 1
 @cartouche
 @noindent
-@strong{87}.  Implementation-defined aspects of interrupts.  See C.3(2).
+@item
+Implementation-defined aspects of interrupts.  See C.3(2).
 @end cartouche
 @noindent
 Interrupts are mapped to signals or conditions as appropriate.  See
@@ -13186,7 +13291,8 @@ on the interrupts supported on a particular target.
 @sp 1
 @cartouche
 @noindent
-@strong{88}.  Implementation-defined aspects of pre-elaboration.  See
+@item
+Implementation-defined aspects of pre-elaboration.  See
 C.4(13).
 @end cartouche
 @noindent
@@ -13196,7 +13302,8 @@ except under control of the debugger.
 @sp 1
 @cartouche
 @noindent
-@strong{89}.  The semantics of pragma @code{Discard_Names}.  See C.5(7).
+@item
+The semantics of pragma @code{Discard_Names}.  See C.5(7).
 @end cartouche
 @noindent
 Pragma @code{Discard_Names} causes names of enumeration literals to
@@ -13207,7 +13314,8 @@ Pos values.
 @sp 1
 @cartouche
 @noindent
-@strong{90}.  The result of the @code{Task_Identification.Image}
+@item
+The result of the @code{Task_Identification.Image}
 attribute.  See C.7.1(7).
 @end cartouche
 @noindent
@@ -13237,7 +13345,8 @@ virtual address of the control block of the task.
 @sp 1
 @cartouche
 @noindent
-@strong{91}.  The value of @code{Current_Task} when in a protected entry
+@item
+The value of @code{Current_Task} when in a protected entry
 or interrupt handler.  See C.7.1(17).
 @end cartouche
 @noindent
@@ -13247,7 +13356,8 @@ convenient thread, so the value of @code{Current_Task} is undefined.
 @sp 1
 @cartouche
 @noindent
-@strong{92}.  The effect of calling @code{Current_Task} from an entry
+@item
+The effect of calling @code{Current_Task} from an entry
 body or interrupt handler.  See C.7.1(19).
 @end cartouche
 @noindent
@@ -13258,7 +13368,8 @@ executing the code.
 @sp 1
 @cartouche
 @noindent
-@strong{93}.  Implementation-defined aspects of
+@item
+Implementation-defined aspects of
 @code{Task_Attributes}.  See C.7.2(19).
 @end cartouche
 @noindent
@@ -13267,7 +13378,8 @@ There are no implementation-defined aspects of @code{Task_Attributes}.
 @sp 1
 @cartouche
 @noindent
-@strong{94}.  Values of all @code{Metrics}.  See D(2).
+@item
+Values of all @code{Metrics}.  See D(2).
 @end cartouche
 @noindent
 The metrics information for GNAT depends on the performance of the
@@ -13282,7 +13394,8 @@ the required metrics.
 @sp 1
 @cartouche
 @noindent
-@strong{95}.  The declarations of @code{Any_Priority} and
+@item
+The declarations of @code{Any_Priority} and
 @code{Priority}.  See D.1(11).
 @end cartouche
 @noindent
@@ -13291,7 +13404,8 @@ See declarations in file @file{system.ads}.
 @sp 1
 @cartouche
 @noindent
-@strong{96}.  Implementation-defined execution resources.  See D.1(15).
+@item
+Implementation-defined execution resources.  See D.1(15).
 @end cartouche
 @noindent
 There are no implementation-defined execution resources.
@@ -13299,7 +13413,8 @@ There are no implementation-defined execution resources.
 @sp 1
 @cartouche
 @noindent
-@strong{97}.  Whether, on a multiprocessor, a task that is waiting for
+@item
+Whether, on a multiprocessor, a task that is waiting for
 access to a protected object keeps its processor busy.  See D.2.1(3).
 @end cartouche
 @noindent
@@ -13309,7 +13424,8 @@ object does not keep its processor busy.
 @sp 1
 @cartouche
 @noindent
-@strong{98}.  The affect of implementation defined execution resources
+@item
+The affect of implementation defined execution resources
 on task dispatching.  See D.2.1(9).
 @end cartouche
 @noindent
@@ -13320,7 +13436,8 @@ underlying operating system.
 @sp 1
 @cartouche
 @noindent
-@strong{99}.  Implementation-defined @code{policy_identifiers} allowed
+@item
+Implementation-defined @code{policy_identifiers} allowed
 in a pragma @code{Task_Dispatching_Policy}.  See D.2.2(3).
 @end cartouche
 @noindent
@@ -13330,7 +13447,8 @@ pragma.
 @sp 1
 @cartouche
 @noindent
-@strong{100}.  Implementation-defined aspects of priority inversion.  See
+@item
+Implementation-defined aspects of priority inversion.  See
 D.2.2(16).
 @end cartouche
 @noindent
@@ -13340,7 +13458,8 @@ of delay expirations for lower priority tasks.
 @sp 1
 @cartouche
 @noindent
-@strong{101}.  Implementation-defined task dispatching.  See D.2.2(18).
+@item
+Implementation-defined task dispatching.  See D.2.2(18).
 @end cartouche
 @noindent
 The policy is the same as that of the underlying threads implementation.
@@ -13348,7 +13467,8 @@ The policy is the same as that of the underlying threads implementation.
 @sp 1
 @cartouche
 @noindent
-@strong{102}.  Implementation-defined @code{policy_identifiers} allowed
+@item
+Implementation-defined @code{policy_identifiers} allowed
 in a pragma @code{Locking_Policy}.  See D.3(4).
 @end cartouche
 @noindent
@@ -13365,7 +13485,8 @@ concurrently.
 @sp 1
 @cartouche
 @noindent
-@strong{103}.  Default ceiling priorities.  See D.3(10).
+@item
+Default ceiling priorities.  See D.3(10).
 @end cartouche
 @noindent
 The ceiling priority of protected objects of the type
@@ -13375,7 +13496,8 @@ Reference Manual D.3(10),
 @sp 1
 @cartouche
 @noindent
-@strong{104}.  The ceiling of any protected object used internally by
+@item
+The ceiling of any protected object used internally by
 the implementation.  See D.3(16).
 @end cartouche
 @noindent
@@ -13385,7 +13507,8 @@ The ceiling priority of internal protected objects is
 @sp 1
 @cartouche
 @noindent
-@strong{105}.  Implementation-defined queuing policies.  See D.4(1).
+@item
+Implementation-defined queuing policies.  See D.4(1).
 @end cartouche
 @noindent
 There are no implementation-defined queuing policies.
@@ -13393,7 +13516,8 @@ There are no implementation-defined queuing policies.
 @sp 1
 @cartouche
 @noindent
-@strong{106}.  On a multiprocessor, any conditions that cause the
+@item
+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).
 @end cartouche
@@ -13404,7 +13528,8 @@ processor, there are no further delays.
 @sp 1
 @cartouche
 @noindent
-@strong{107}.  Any operations that implicitly require heap storage
+@item
+Any operations that implicitly require heap storage
 allocation.  See D.7(8).
 @end cartouche
 @noindent
@@ -13414,7 +13539,8 @@ task creation.
 @sp 1
 @cartouche
 @noindent
-@strong{108}.  Implementation-defined aspects of pragma
+@item
+Implementation-defined aspects of pragma
 @code{Restrictions}.  See D.7(20).
 @end cartouche
 @noindent
@@ -13423,7 +13549,8 @@ There are no such implementation-defined aspects.
 @sp 1
 @cartouche
 @noindent
-@strong{109}.  Implementation-defined aspects of package
+@item
+Implementation-defined aspects of package
 @code{Real_Time}.  See D.8(17).
 @end cartouche
 @noindent
@@ -13432,7 +13559,8 @@ There are no implementation defined aspects of package @code{Real_Time}.
 @sp 1
 @cartouche
 @noindent
-@strong{110}.  Implementation-defined aspects of
+@item
+Implementation-defined aspects of
 @code{delay_statements}.  See D.9(8).
 @end cartouche
 @noindent
@@ -13442,7 +13570,8 @@ delayed (see D.9(7)).
 @sp 1
 @cartouche
 @noindent
-@strong{111}.  The upper bound on the duration of interrupt blocking
+@item
+The upper bound on the duration of interrupt blocking
 caused by the implementation.  See D.12(5).
 @end cartouche
 @noindent
@@ -13452,7 +13581,8 @@ no cases is it more than 10 milliseconds.
 @sp 1
 @cartouche
 @noindent
-@strong{112}.  The means for creating and executing distributed
+@item
+The means for creating and executing distributed
 programs.  See E(5).
 @end cartouche
 @noindent
@@ -13462,7 +13592,8 @@ distributed programs.  See the GLADE reference manual for further details.
 @sp 1
 @cartouche
 @noindent
-@strong{113}.  Any events that can result in a partition becoming
+@item
+Any events that can result in a partition becoming
 inaccessible.  See E.1(7).
 @end cartouche
 @noindent
@@ -13471,7 +13602,8 @@ See the GLADE reference manual for full details on such events.
 @sp 1
 @cartouche
 @noindent
-@strong{114}.  The scheduling policies, treatment of priorities, and
+@item
+The scheduling policies, treatment of priorities, and
 management of shared resources between partitions in certain cases.  See
 E.1(11).
 @end cartouche
@@ -13482,7 +13614,8 @@ multi-partition execution.
 @sp 1
 @cartouche
 @noindent
-@strong{115}.  Events that cause the version of a compilation unit to
+@item
+Events that cause the version of a compilation unit to
 change.  See E.3(5).
 @end cartouche
 @noindent
@@ -13495,7 +13628,8 @@ comments.
 @sp 1
 @cartouche
 @noindent
-@strong{116}.  Whether the execution of the remote subprogram is
+@item
+Whether the execution of the remote subprogram is
 immediately aborted as a result of cancellation.  See E.4(13).
 @end cartouche
 @noindent
@@ -13505,7 +13639,8 @@ a distributed application.
 @sp 1
 @cartouche
 @noindent
-@strong{117}.  Implementation-defined aspects of the PCS@.  See E.5(25).
+@item
+Implementation-defined aspects of the PCS@.  See E.5(25).
 @end cartouche
 @noindent
 See the GLADE reference manual for a full description of all implementation
@@ -13514,7 +13649,8 @@ defined aspects of the PCS@.
 @sp 1
 @cartouche
 @noindent
-@strong{118}.  Implementation-defined interfaces in the PCS@.  See
+@item
+Implementation-defined interfaces in the PCS@.  See
 E.5(26).
 @end cartouche
 @noindent
@@ -13524,7 +13660,8 @@ implementation defined interfaces.
 @sp 1
 @cartouche
 @noindent
-@strong{119}.  The values of named numbers in the package
+@item
+The values of named numbers in the package
 @code{Decimal}.  See F.2(7).
 @end cartouche
 @noindent
@@ -13544,7 +13681,8 @@ implementation defined interfaces.
 @sp 1
 @cartouche
 @noindent
-@strong{120}.  The value of @code{Max_Picture_Length} in the package
+@item
+The value of @code{Max_Picture_Length} in the package
 @code{Text_IO.Editing}.  See F.3.3(16).
 @end cartouche
 @noindent
@@ -13553,7 +13691,8 @@ implementation defined interfaces.
 @sp 1
 @cartouche
 @noindent
-@strong{121}.  The value of @code{Max_Picture_Length} in the package
+@item
+The value of @code{Max_Picture_Length} in the package
 @code{Wide_Text_IO.Editing}.  See F.3.4(5).
 @end cartouche
 @noindent
@@ -13562,7 +13701,8 @@ implementation defined interfaces.
 @sp 1
 @cartouche
 @noindent
-@strong{122}.  The accuracy actually achieved by the complex elementary
+@item
+The accuracy actually achieved by the complex elementary
 functions and by other complex arithmetic operations.  See G.1(1).
 @end cartouche
 @noindent
@@ -13572,7 +13712,8 @@ operations.  Only fast math mode is currently supported.
 @sp 1
 @cartouche
 @noindent
-@strong{123}.  The sign of a zero result (or a component thereof) from
+@item
+The sign of a zero result (or a component thereof) from
 any operator or function in @code{Numerics.Generic_Complex_Types}, when
 @code{Real'Signed_Zeros} is True.  See G.1.1(53).
 @end cartouche
@@ -13583,7 +13724,8 @@ implementation advice.
 @sp 1
 @cartouche
 @noindent
-@strong{124}.  The sign of a zero result (or a component thereof) from
+@item
+The sign of a zero result (or a component thereof) from
 any operator or function in
 @code{Numerics.Generic_Complex_Elementary_Functions}, when
 @code{Real'Signed_Zeros} is @code{True}.  See G.1.2(45).
@@ -13595,7 +13737,8 @@ implementation advice.
 @sp 1
 @cartouche
 @noindent
-@strong{125}.  Whether the strict mode or the relaxed mode is the
+@item
+Whether the strict mode or the relaxed mode is the
 default.  See G.2(2).
 @end cartouche
 @noindent
@@ -13605,7 +13748,8 @@ provides a highly efficient implementation of strict mode.
 @sp 1
 @cartouche
 @noindent
-@strong{126}.  The result interval in certain cases of fixed-to-float
+@item
+The result interval in certain cases of fixed-to-float
 conversion.  See G.2.1(10).
 @end cartouche
 @noindent
@@ -13616,7 +13760,8 @@ floating-point format.
 @sp 1
 @cartouche
 @noindent
-@strong{127}.  The result of a floating point arithmetic operation in
+@item
+The result of a floating point arithmetic operation in
 overflow situations, when the @code{Machine_Overflows} attribute of the
 result type is @code{False}.  See G.2.1(13).
 @end cartouche
@@ -13633,7 +13778,8 @@ properly generated.
 @sp 1
 @cartouche
 @noindent
-@strong{128}.  The result interval for division (or exponentiation by a
+@item
+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).
 @end cartouche
@@ -13643,7 +13789,8 @@ Not relevant, division is IEEE exact.
 @sp 1
 @cartouche
 @noindent
-@strong{129}.  The definition of close result set, which determines the
+@item
+The definition of close result set, which determines the
 accuracy of certain fixed point multiplications and divisions.  See
 G.2.3(5).
 @end cartouche
@@ -13656,7 +13803,8 @@ is converted to the target type.
 @sp 1
 @cartouche
 @noindent
-@strong{130}.  Conditions on a @code{universal_real} operand of a fixed
+@item
+Conditions on a @code{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).
 @end cartouche
@@ -13668,7 +13816,8 @@ representable in 64-bits.
 @sp 1
 @cartouche
 @noindent
-@strong{131}.  The result of a fixed point arithmetic operation in
+@item
+The result of a fixed point arithmetic operation in
 overflow situations, when the @code{Machine_Overflows} attribute of the
 result type is @code{False}.  See G.2.3(27).
 @end cartouche
@@ -13679,7 +13828,8 @@ types.
 @sp 1
 @cartouche
 @noindent
-@strong{132}.  The result of an elementary function reference in
+@item
+The result of an elementary function reference in
 overflow situations, when the @code{Machine_Overflows} attribute of the
 result type is @code{False}.  See G.2.4(4).
 @end cartouche
@@ -13689,7 +13839,8 @@ IEEE infinite and Nan values are produced as appropriate.
 @sp 1
 @cartouche
 @noindent
-@strong{133}.  The value of the angle threshold, within which certain
+@item
+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
 error bound.  See G.2.4(10).
@@ -13700,7 +13851,8 @@ Information on this subject is not yet available.
 @sp 1
 @cartouche
 @noindent
-@strong{134}.  The accuracy of certain elementary functions for
+@item
+The accuracy of certain elementary functions for
 parameters beyond the angle threshold.  See G.2.4(10).
 @end cartouche
 @noindent
@@ -13709,7 +13861,8 @@ Information on this subject is not yet available.
 @sp 1
 @cartouche
 @noindent
-@strong{135}.  The result of a complex arithmetic operation or complex
+@item
+The result of a complex arithmetic operation or complex
 elementary function reference in overflow situations, when the
 @code{Machine_Overflows} attribute of the corresponding real type is
 @code{False}.  See G.2.6(5).
@@ -13720,7 +13873,8 @@ IEEE infinite and Nan values are produced as appropriate.
 @sp 1
 @cartouche
 @noindent
-@strong{136}.  The accuracy of certain complex arithmetic operations and
+@item
+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).
 @end cartouche
@@ -13730,7 +13884,8 @@ Information on those subjects is not yet available.
 @sp 1
 @cartouche
 @noindent
-@strong{137}.  Information regarding bounded errors and erroneous
+@item
+Information regarding bounded errors and erroneous
 execution.  See H.2(1).
 @end cartouche
 @noindent
@@ -13739,7 +13894,8 @@ Information on this subject is not yet available.
 @sp 1
 @cartouche
 @noindent
-@strong{138}.  Implementation-defined aspects of pragma
+@item
+Implementation-defined aspects of pragma
 @code{Inspection_Point}.  See H.3.2(8).
 @end cartouche
 @noindent
@@ -13749,7 +13905,8 @@ be examined by the debugger at the inspection point.
 @sp 1
 @cartouche
 @noindent
-@strong{139}.  Implementation-defined aspects of pragma
+@item
+Implementation-defined aspects of pragma
 @code{Restrictions}.  See H.4(25).
 @end cartouche
 @noindent
@@ -13760,12 +13917,17 @@ generated code.  Checks must suppressed by use of pragma @code{Suppress}.
 @sp 1
 @cartouche
 @noindent
-@strong{140}.  Any restrictions on pragma @code{Restrictions}.  See
+@item
+Any restrictions on pragma @code{Restrictions}.  See
 H.4(27).
 @end cartouche
 @noindent
 There are no restrictions on pragma @code{Restrictions}.
 
+@end itemize
+
+
+@c =======================
 @node Intrinsic Subprograms
 @chapter Intrinsic Subprograms
 @cindex Intrinsic Subprograms
@@ -19114,7 +19276,7 @@ standard Ada library and are more convenient to use.
 @noindent
 A simple implementation of regular expressions, using a subset of regular
 expression syntax copied from familiar Unix style utilities.  This is the
-simples of the three pattern matching packages provided, and is particularly
+simplest of the three pattern matching packages provided, and is particularly
 suitable for ``file globbing'' applications.
 
 @node GNAT.Registry (g-regist.ads)
index ed11389..d99c054 100644 (file)
@@ -868,7 +868,7 @@ package body Lib.Xref is
 
             else
                Error_Msg_NE -- CODEFIX
-                 ("?pragma Unreferenced given for&!", N, E);
+                 ("??pragma Unreferenced given for&!", N, E);
             end if;
          end if;
 
index d22cce2..3c065ec 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 1992-2013, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2014, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -412,7 +412,7 @@ package body Endh is
                      Error_Msg_SC
                        ("misplaced aspects for package declaration");
                      Error_Msg
-                       ("info: aspect specifications belong here", Is_Loc);
+                       ("info: aspect specifications belong here??", Is_Loc);
                      P_Aspect_Specifications (Empty);
 
                   --  Other cases where aspect specifications are not allowed
index bb17944..df24ba2 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 1992-2013, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2014, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -4749,7 +4749,7 @@ package body Sem_Aggr is
          Error_Msg_N
            ("(Ada 2005) null not allowed in null-excluding component??", Expr);
          Error_Msg_N
-           ("\Constraint_Error will be raised at run time?", Expr);
+           ("\Constraint_Error will be raised at run time??", Expr);
 
          Rewrite (Expr,
            Make_Raise_Constraint_Error
index 968ba00..b1a7ee5 100644 (file)
@@ -4492,7 +4492,7 @@ package body Sem_Attr is
                if Is_Potentially_Unevaluated (P) then
                   Error_Msg_Name_1 := Aname;
                   Error_Msg_N
-                    ("?prefix of attribute % is always evaluated when "
+                    ("??prefix of attribute % is always evaluated when "
                      & "related consequence is selected", P);
                end if;
 
index 4773656..f17a981 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 1992-2013, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2014, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -277,7 +277,7 @@ package body Sem_Cat is
            and then Is_Preelaborated (Depended_Entity)
          then
             Error_Msg_NE
-              ("<must use private with clause for preelaborated unit& ",
+              ("<<must use private with clause for preelaborated unit& ",
                N, Depended_Entity);
 
          --  Subunit case
@@ -291,7 +291,7 @@ package body Sem_Cat is
 
          else
             Error_Msg_NE
-              ("<cannot depend on& " &
+              ("<<cannot depend on& " &
                "(wrong categorization)", N, Depended_Entity);
          end if;
 
@@ -299,7 +299,7 @@ package body Sem_Cat is
 
          if Unit_Category = Pure then
             Error_Msg_NE
-              ("\<pure unit cannot depend on non-pure unit",
+              ("\<<pure unit cannot depend on non-pure unit",
                N, Depended_Entity);
 
          elsif Is_Preelaborated (Unit_Entity)
@@ -307,7 +307,7 @@ package body Sem_Cat is
            and then not Is_Pure (Depended_Entity)
          then
             Error_Msg_NE
-              ("\<preelaborated unit cannot depend on "
+              ("\<<preelaborated unit cannot depend on "
                & "non-preelaborated unit",
                N, Depended_Entity);
          end if;
@@ -1102,7 +1102,7 @@ package body Sem_Cat is
 
                Error_Msg_Warn := GNAT_Mode;
                Error_Msg_N
-                 ("<statements not allowed in preelaborated unit", Item);
+                 ("<<statements not allowed in preelaborated unit", Item);
 
                exit;
             end if;
index 6417523..585a6d6 100644 (file)
@@ -11285,7 +11285,7 @@ package body Sem_Ch13 is
                  and then X_Size > Y_Size
                then
                   Error_Msg_NE
-                    ("?& overlays smaller object", ACCR.N, ACCR.X);
+                    ("??& overlays smaller object", ACCR.N, ACCR.X);
                   Error_Msg_N
                     ("\??program execution may be erroneous", ACCR.N);
                   Error_Msg_Uint_1 := X_Size;
@@ -11926,7 +11926,7 @@ package body Sem_Ch13 is
                         elsif Is_Unsigned_Type (Source) then
                            Error_Msg
                              ("\?z?source will be extended with ^ high order "
-                              & "zero bits?!", Eloc);
+                              & "zero bits!", Eloc);
 
                         else
                            Error_Msg
index 293a3f6..7131adb 100644 (file)
@@ -10227,7 +10227,7 @@ package body Sem_Ch3 is
 
             if GNAT_Mode then
                Error_Msg_N
-                 ("?cannot initialize entities of limited type!", Exp);
+                 ("??cannot initialize entities of limited type!", Exp);
 
             elsif Ada_Version < Ada_2005 then
 
@@ -19458,7 +19458,7 @@ package body Sem_Ch3 is
                if Is_Class_Wide_Type (Designated_Type (Subtype_Mark_Id)) then
                   if Comes_From_Source (S) then
                      Error_Msg_N
-                       ("constraint on class-wide type ignored?",
+                       ("constraint on class-wide type ignored??",
                         Constraint (S));
                   end if;
 
index 0118783..3695c0a 100644 (file)
@@ -933,8 +933,8 @@ package body Sem_Ch6 is
                   --  Can it really happen (extended return???)
 
                   Error_Msg_N
-                    ("aliased only allowed for limited"
-                     & " return objects in Ada 2012?", N);
+                    ("aliased only allowed for limited return objects "
+                     & "in Ada 2012??", N);
 
                elsif not Is_Limited_View (R_Type) then
                   Error_Msg_N ("aliased only allowed for limited"
@@ -2817,7 +2817,7 @@ package body Sem_Ch6 is
             elsif Ekind (Scope (Spec_Id)) = E_Protected_Type then
                Error_Msg_Warn := Error_To_Warning;
                Error_Msg_N
-                 ("<overriding indicator not allowed for protected "
+                 ("<<overriding indicator not allowed for protected "
                   & "subprogram body", Body_Spec);
             end if;
 
@@ -2842,7 +2842,7 @@ package body Sem_Ch6 is
                Error_Msg_Warn := Error_To_Warning;
 
                Error_Msg_N
-                 ("<overriding indicator not allowed " &
+                 ("<<overriding indicator not allowed " &
                   "for protected subprogram body",
                   Body_Spec);
 
@@ -11609,7 +11609,7 @@ package body Sem_Ch6 is
 
             if Convention (Formal_Type) = Convention_Ada_Pass_By_Copy then
                Error_Msg_N
-                 ("cannot pass aliased parameter & by copy?", Formal);
+                 ("cannot pass aliased parameter & by copy??", Formal);
             end if;
 
          --  Force mechanism if type has Convention Ada_Pass_By_Ref/Copy
index da32731..da864d9 100644 (file)
@@ -1317,7 +1317,7 @@ package body Sem_Elab is
 
                Error_Msg_Warn := GNAT_Mode;
                Error_Msg_N
-                 ("<non-static call not allowed in preelaborated unit", N);
+                 ("<<non-static call not allowed in preelaborated unit", N);
                return;
             end if;
 
index 3060720..1e377c2 100644 (file)
@@ -6482,10 +6482,10 @@ package body Sem_Prag is
 
                      if Force then
                         if Cont = False then
-                           Error_Msg_N ("<~!!", Arg1);
+                           Error_Msg_N ("<<~!!", Arg1);
                            Cont := True;
                         else
-                           Error_Msg_N ("\<~!!", Arg1);
+                           Error_Msg_N ("\<<~!!", Arg1);
                         end if;
 
                      --  Error, rather than warning, or in a body, so we do not
@@ -6496,10 +6496,10 @@ package body Sem_Prag is
 
                      else
                         if Cont = False then
-                           Error_Msg_N ("<~", Arg1);
+                           Error_Msg_N ("<<~", Arg1);
                            Cont := True;
                         else
-                           Error_Msg_N ("\<~", Arg1);
+                           Error_Msg_N ("\<<~", Arg1);
                         end if;
                      end if;
 
@@ -9068,7 +9068,7 @@ package body Sem_Prag is
                if Nkind (Expr) /= N_Identifier
                  or else not Is_Attribute_Name (Chars (Expr))
                then
-                  Error_Msg_N ("unknown attribute name?", Expr);
+                  Error_Msg_N ("unknown attribute name??", Expr);
 
                else
                   Set_Restriction_No_Use_Of_Attribute (Expr, Warn);
@@ -9078,7 +9078,7 @@ package body Sem_Prag is
                if Nkind (Expr) /= N_Identifier
                  or else not Is_Pragma_Name (Chars (Expr))
                then
-                  Error_Msg_N ("unknown pragma name?", Expr);
+                  Error_Msg_N ("unknown pragma name??", Expr);
 
                else
                   Set_Restriction_No_Use_Of_Pragma (Expr, Warn);
index ba472b9..624687e 100644 (file)
@@ -638,7 +638,7 @@ package body Sem_Util is
    is
    begin
       Error_Msg_Warn := Warn;
-      Error_Msg_N ("unrecognized attribute&<", N);
+      Error_Msg_N ("unrecognized attribute&<<", N);
 
       --  Check for possible misspelling
 
@@ -646,7 +646,7 @@ package body Sem_Util is
       while Error_Msg_Name_1 <= Last_Attribute_Name loop
          if Is_Bad_Spelling_Of (Nam, Error_Msg_Name_1) then
             Error_Msg_N -- CODEFIX
-              ("\possible misspelling of %<", N);
+              ("\possible misspelling of %<<", N);
             exit;
          end if;
 
@@ -1555,7 +1555,7 @@ package body Sem_Util is
 
          else
             Error_Msg_NE
-              ("?static expression fails static predicate check on &",
+              ("??static expression fails static predicate check on &",
                Expr, Typ);
          end if;
       end if;
@@ -2087,7 +2087,7 @@ package body Sem_Util is
                               Error_Msg_N
                                 ("writable function parameter may affect "
                                  & "value in other component because order "
-                                 & "of evaluation is unspecified?",
+                                 & "of evaluation is unspecified??",
                                  Node (First_Elmt (Writable_Actuals_List)));
                            end if;
                         end if;
index 2859599..9d63668 100644 (file)
@@ -1425,20 +1425,20 @@ package body Sem_Warn is
                         if not Is_Trivial_Subprogram (Scope (E1)) then
                            if not Warnings_Off_E1 then
                               if Is_Access_Type (Etype (Parent (UR))) then
-                                 Error_Msg_N ("?`&.&` may be null!", UR);
+                                 Error_Msg_N ("??`&.&` may be null!", UR);
                               else
                                  Error_Msg_N
-                                   ("?`&.&` may be referenced before "
+                                   ("??`&.&` may be referenced before "
                                     & "it has a value!", UR);
                               end if;
                            end if;
                         end if;
-                        --  All other cases of unset reference active
+
+                     --  All other cases of unset reference active
 
                      elsif not Warnings_Off_E1 then
                         Error_Msg_N
-                          ("?& may be referenced before it has a value!",
-                           UR);
+                          ("??& may be referenced before it has a value!", UR);
                      end if;
                   end if;
 
@@ -3194,15 +3194,15 @@ package body Sem_Warn is
                   Error_Msg_Sloc := Sloc (CV);
 
                   if Nkind (CV) not in N_Subexpr then
-                     Error_Msg_N ("\\?(see test #)", Loc);
+                     Error_Msg_N ("\\??(see test #)", Loc);
 
                   elsif Nkind (Parent (CV)) =
                           N_Case_Statement_Alternative
                   then
-                     Error_Msg_N ("\\?(see case alternative #)", Loc);
+                     Error_Msg_N ("\\??(see case alternative #)", Loc);
 
                   else
-                     Error_Msg_N ("\\?(see assignment #)", Loc);
+                     Error_Msg_N ("\\??(see assignment #)", Loc);
                   end if;
                end if;
             end;
@@ -3520,7 +3520,7 @@ package body Sem_Warn is
                         then
                            if Act1 = First_Actual (N) then
                               Error_Msg_FE
-                                ("<`IN OUT` prefix overlaps with "
+                                ("<<`IN OUT` prefix overlaps with "
                                  & "actual for&", Act1, Form);
 
                            else
@@ -3528,7 +3528,7 @@ package body Sem_Warn is
 
                               Error_Msg_Node_2 := Form;
                               Error_Msg_FE
-                                ("<writable actual for & overlaps with "
+                                ("<<writable actual for & overlaps with "
                                  & "actual for&", Act1, Form);
                            end if;
 
@@ -3540,7 +3540,7 @@ package body Sem_Warn is
                            --  This is one of the messages
 
                            Error_Msg_FE
-                             ("<writable actual for & overlaps with "
+                             ("<<writable actual for & overlaps with "
                               & "actual for&", Act1, Form1);
                         end if;
                      end;
index 0a1880f..c94759c 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 1992-2013, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2014, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -1003,9 +1003,9 @@ package body Styleg is
    -- Check_Then --
    ----------------
 
-   --  In check if then layout mode (-gnatyi), we expect a THEN keyword
-   --  to appear either on the same line as the IF, or on a separate line
-   --  if the IF statement extends for more than one line.
+   --  In check if then layout mode (-gnatyi), we expect a THEN keyword to
+   --  appear either on the same line as the IF, or on a separate line if
+   --  the IF statement extends for more than one line.
 
    procedure Check_Then (If_Loc : Source_Ptr) is
    begin
@@ -1061,7 +1061,7 @@ package body Styleg is
    begin
       if Style_Check_Xtra_Parens then
          Error_Msg -- CODEFIX
-           ("redundant parentheses?", Loc);
+           ("(style) redundant parentheses", Loc);
       end if;
    end Check_Xtra_Parens;