Unbalanced parens can be found when editing in emacs using the
"check-parens" command. Offending occurrences must be examined manually,
because few of them are intentional.
Minor cleanup of typos in documentation.
Tested on x86_64-pc-linux-gnu, committed on trunk
gcc/ada/
* doc/gnat_rm/implementation_defined_pragmas.rst,
doc/gnat_rm/implementation_of_specific_ada_features.rst,
doc/gnat_rm/representation_clauses_and_pragmas.rst,
doc/gnat_rm/the_gnat_library.rst,
doc/gnat_rm/the_implementation_of_standard_i_o.rst,
doc/gnat_ugn/building_executable_programs_with_gnat.rst,
doc/gnat_ugn/gnat_and_program_execution.rst,
doc/gnat_ugn/platform_specific_information.rst: Fix unbalanced
parentheses and brackets.
* sem_prag.adb (pragma Obsolescent): Likewise.
* gnat_rm.texi, gnat_ugn.texi: Regenerate.
diff --git a/gcc/ada/doc/gnat_rm/implementation_defined_pragmas.rst b/gcc/ada/doc/gnat_rm/implementation_defined_pragmas.rst
--- a/gcc/ada/doc/gnat_rm/implementation_defined_pragmas.rst
+++ b/gcc/ada/doc/gnat_rm/implementation_defined_pragmas.rst
@@ -508,7 +508,7 @@ applies to both the ``Precondition`` pragma
and the aspect ``Precondition``. Note that the identifiers for
pragmas Pre_Class and Post_Class are Pre'Class and Post'Class (not
Pre_Class and Post_Class), since these pragmas are intended to be
-identical to the corresponding aspects).
+identical to the corresponding aspects.
If the policy is ``CHECK``, then assertions are enabled, i.e.
the corresponding pragma or aspect is activated.
@@ -1177,7 +1177,7 @@ Syntax:
.. code-block:: ada
- pragma Contract_Cases ((CONTRACT_CASE {, CONTRACT_CASE));
+ pragma Contract_Cases (CONTRACT_CASE {, CONTRACT_CASE});
CONTRACT_CASE ::= CASE_GUARD => CONSEQUENCE
@@ -3261,7 +3261,7 @@ with some extended implementations of this pragma in certain Ada 83
implementations. The only difference between pragma ``Interface``
and pragma ``Import`` is that there is special circuitry to allow
both pragmas to appear for the same subprogram entity (normally it
-is illegal to have multiple ``Import`` pragmas. This is useful in
+is illegal to have multiple ``Import`` pragmas). This is useful in
maintaining Ada 83/Ada 95 compatibility and is compatible with other
Ada 83 compilers.
@@ -4275,12 +4275,12 @@ Syntax:
pragma Obsolescent (
[Message =>] static_string_EXPRESSION
- [,[Version =>] Ada_05]]);
+ [,[Version =>] Ada_05]);
pragma Obsolescent (
[Entity =>] NAME
[,[Message =>] static_string_EXPRESSION
- [,[Version =>] Ada_05]] );
+ [,[Version =>] Ada_05]]);
This pragma can occur immediately following a declaration of an entity,
@@ -6134,7 +6134,7 @@ Syntax:
Use this to override the normal naming convention. It is a configuration
pragma, and so has the usual applicability of configuration pragmas
(i.e., it applies to either an entire partition, or to all units in a
-compilation, or to a single unit, depending on how it is used.
+compilation, or to a single unit, depending on how it is used).
``unit_name`` is mapped to ``file_name_literal``. The identifier for
the second argument is required, and indicates whether this is the file
name for the spec or for the body.
@@ -7176,7 +7176,7 @@ for this purpose, see :ref:`Pragma_Obsolescent`.
The second form of pragma ``Unreferenced`` is used within a context
clause. In this case the arguments must be unit names of units previously
mentioned in ``with`` clauses (similar to the usage of pragma
-``Elaborate_All``. The effect is to suppress warnings about unreferenced
+``Elaborate_All``). The effect is to suppress warnings about unreferenced
units and unreferenced entities within these units.
For the variable case, warnings are never given for unreferenced variables
diff --git a/gcc/ada/doc/gnat_rm/implementation_of_specific_ada_features.rst b/gcc/ada/doc/gnat_rm/implementation_of_specific_ada_features.rst
--- a/gcc/ada/doc/gnat_rm/implementation_of_specific_ada_features.rst
+++ b/gcc/ada/doc/gnat_rm/implementation_of_specific_ada_features.rst
@@ -402,7 +402,7 @@ routines, since these are architecture independent.
If active synchronization is required for access to the variables in the
shared passive package, then as described in the Ada Reference Manual, the
package may contain protected objects used for this purpose. In this case
-a lock file (whose name is :file:`___lock` (three underscores)
+a lock file (whose name is :file:`___lock`, with three underscores)
is created in the shared memory directory.
.. index:: ___lock file (for shared passive packages)
diff --git a/gcc/ada/doc/gnat_rm/representation_clauses_and_pragmas.rst b/gcc/ada/doc/gnat_rm/representation_clauses_and_pragmas.rst
--- a/gcc/ada/doc/gnat_rm/representation_clauses_and_pragmas.rst
+++ b/gcc/ada/doc/gnat_rm/representation_clauses_and_pragmas.rst
@@ -525,7 +525,7 @@ The default rules for the value of ``Value_Size`` are as follows:
*
If a subtype statically matches the first subtype of a given type, then it has
- by default the same ``Value_Size`` as the first subtype. This is a
+ by default the same ``Value_Size`` as the first subtype. (This is a
consequence of RM 13.1(14): "if two subtypes statically match,
then their subtype-specific aspects are the same".)
@@ -873,7 +873,7 @@ Suppose that we have an external device which presents two bytes, the first
byte presented, which is the first (low addressed byte) of the two byte
record is called Master, and the second byte is called Slave.
-The left most (most significant bit is called Control for each byte, and
+The left most (most significant) bit is called Control for each byte, and
the remaining 7 bits are called V1, V2, ... V7, where V7 is the rightmost
(least significant) bit.
diff --git a/gcc/ada/doc/gnat_rm/the_gnat_library.rst b/gcc/ada/doc/gnat_rm/the_gnat_library.rst
--- a/gcc/ada/doc/gnat_rm/the_gnat_library.rst
+++ b/gcc/ada/doc/gnat_rm/the_gnat_library.rst
@@ -2177,7 +2177,7 @@ x86, and x86_64 platforms.
This package provides the interface to the low level routines used
by the generated code for allocation and freeing storage for the
-default storage pool (analogous to the C routines malloc and free.
+default storage pool (analogous to the C routines malloc and free).
It also provides a reallocation interface analogous to the C routine
realloc. The body of this unit may be modified to provide alternative
allocation mechanisms for the default pool, and in addition, direct
diff --git a/gcc/ada/doc/gnat_rm/the_implementation_of_standard_i_o.rst b/gcc/ada/doc/gnat_rm/the_implementation_of_standard_i_o.rst
--- a/gcc/ada/doc/gnat_rm/the_implementation_of_standard_i_o.rst
+++ b/gcc/ada/doc/gnat_rm/the_implementation_of_standard_i_o.rst
@@ -617,7 +617,7 @@ of stream pointer positioning (:ref:`Text_IO`). There is one additional
case:
If ``Ada.Wide_Text_IO.Look_Ahead`` reads a character outside the
-normal lower ASCII set (i.e., a character in the range:
+normal lower ASCII set, i.e. a character in the range:
.. code-block:: ada
@@ -761,7 +761,7 @@ of stream pointer positioning (:ref:`Text_IO`). There is one additional
case:
If ``Ada.Wide_Wide_Text_IO.Look_Ahead`` reads a character outside the
-normal lower ASCII set (i.e., a character in the range:
+normal lower ASCII set, i.e. a character in the range:
.. code-block:: ada
diff --git a/gcc/ada/doc/gnat_ugn/building_executable_programs_with_gnat.rst b/gcc/ada/doc/gnat_ugn/building_executable_programs_with_gnat.rst
--- a/gcc/ada/doc/gnat_ugn/building_executable_programs_with_gnat.rst
+++ b/gcc/ada/doc/gnat_ugn/building_executable_programs_with_gnat.rst
@@ -1454,7 +1454,7 @@ Alphabetical List of All Switches
Check syntax and semantics only (no code generation attempted). When the
compiler is invoked by ``gnatmake``, if the switch :switch:`-gnatc` is
only given to the compiler (after :switch:`-cargs` or in package Compiler of
- the project file, ``gnatmake`` will fail because it will not find the
+ the project file), ``gnatmake`` will fail because it will not find the
object file after compilation. If ``gnatmake`` is called with
:switch:`-gnatc` as a builder switch (before :switch:`-cargs` or in package
Builder of the project file) then ``gnatmake`` will not fail because
@@ -1786,7 +1786,7 @@ Alphabetical List of All Switches
where ``name`` is the string name of the type (which can have
- single spaces embedded in the name (e.g. long double), ``digs`` is
+ single spaces embedded in the name, e.g. long double), ``digs`` is
the number of digits for the floating-point type, ``float_rep`` is
the float representation (I for IEEE-754-Binary, which is
the only one supported at this time),
@@ -2389,7 +2389,7 @@ format:
:switch:`-gnatv`
The ``v`` stands for verbose.
The effect of this setting is to write long-format error
- messages to :file:`stdout` (the standard output file.
+ messages to :file:`stdout` (the standard output file).
The same program compiled with the
:switch:`-gnatv` switch would generate:
@@ -2489,7 +2489,7 @@ format:
brief format error messages to :file:`stderr` (the standard error
file) as well as the verbose
format message or full listing (which as usual is written to
- :file:`stdout` (the standard output file).
+ :file:`stdout`, the standard output file).
.. index:: -gnatm (gcc)
@@ -5165,7 +5165,7 @@ checks to be performed. The following checks are defined:
.. end of switch description (leave this comment to ease automatic parsing for
-.. GNAT Studio
+.. GNAT Studio)
In the above rules, appearing in column one is always permitted, that is,
counts as meeting either a requirement for a required preceding space,
@@ -7618,9 +7618,9 @@ which might help you in case your project has a lot of subdirectories.
## Each of these csc is put in its own directory.
## Their name are referenced by the directory names.
## They will be compiled into shared library (although this would also work
- ## with static libraries
+ ## with static libraries)
## - The main program (and possibly other packages that do not belong to any
- ## csc is put in the top level directory (where the Makefile is).
+ ## csc) is put in the top level directory (where the Makefile is).
## toplevel_dir __ first_csc (sources) __ lib (will contain the library)
## \\_ second_csc (sources) __ lib (will contain the library)
## \\_ ...
diff --git a/gcc/ada/doc/gnat_ugn/gnat_and_program_execution.rst b/gcc/ada/doc/gnat_ugn/gnat_and_program_execution.rst
--- a/gcc/ada/doc/gnat_ugn/gnat_and_program_execution.rst
+++ b/gcc/ada/doc/gnat_ugn/gnat_and_program_execution.rst
@@ -1494,7 +1494,7 @@ Use of Restrictions
The use of pragma Restrictions allows you to control which features are
permitted in your program. Apart from the obvious point that if you avoid
relatively expensive features like finalization (enforceable by the use
-of pragma Restrictions (No_Finalization), the use of this pragma does not
+of pragma Restrictions (No_Finalization)), the use of this pragma does not
affect the generated code in most cases.
One notable exception to this rule is that the possibility of task abort
@@ -2452,7 +2452,7 @@ If ``Text_IO`` must be used, note that by default output to the standard
output and standard error files is unbuffered (this provides better
behavior when output statements are used for debugging, or if the
progress of a program is observed by tracking the output, e.g. by
-using the Unix *tail -f* command to watch redirected output.
+using the Unix *tail -f* command to watch redirected output).
If you are generating large volumes of output with ``Text_IO`` and
performance is an important factor, use a designated file instead
diff --git a/gcc/ada/doc/gnat_ugn/platform_specific_information.rst b/gcc/ada/doc/gnat_ugn/platform_specific_information.rst
--- a/gcc/ada/doc/gnat_ugn/platform_specific_information.rst
+++ b/gcc/ada/doc/gnat_ugn/platform_specific_information.rst
@@ -1719,7 +1719,7 @@ is
:switch:`-k`
Kill :samp:`@{nn}` from exported names
(:ref:`Windows_Calling_Conventions`
- for a discussion about ``Stdcall``-style symbols.
+ for a discussion about ``Stdcall``-style symbols).
.. index:: --help (dlltool)
diff --git a/gcc/ada/gnat_rm.texi b/gcc/ada/gnat_rm.texi
--- a/gcc/ada/gnat_rm.texi
+++ b/gcc/ada/gnat_rm.texi
@@ -1895,7 +1895,7 @@ applies to both the @code{Precondition} pragma
and the aspect @code{Precondition}. Note that the identifiers for
pragmas Pre_Class and Post_Class are Pre’Class and Post’Class (not
Pre_Class and Post_Class), since these pragmas are intended to be
-identical to the corresponding aspects).
+identical to the corresponding aspects.
If the policy is @code{CHECK}, then assertions are enabled, i.e.
the corresponding pragma or aspect is activated.
@@ -2583,7 +2583,7 @@ For the semantics of this pragma, see the entry for aspect
Syntax:
@example
-pragma Contract_Cases ((CONTRACT_CASE @{, CONTRACT_CASE));
+pragma Contract_Cases (CONTRACT_CASE @{, CONTRACT_CASE@});
CONTRACT_CASE ::= CASE_GUARD => CONSEQUENCE
@@ -4749,7 +4749,7 @@ with some extended implementations of this pragma in certain Ada 83
implementations. The only difference between pragma @code{Interface}
and pragma @code{Import} is that there is special circuitry to allow
both pragmas to appear for the same subprogram entity (normally it
-is illegal to have multiple @code{Import} pragmas. This is useful in
+is illegal to have multiple @code{Import} pragmas). This is useful in
maintaining Ada 83/Ada 95 compatibility and is compatible with other
Ada 83 compilers.
@@ -5802,12 +5802,12 @@ pragma Obsolescent;
pragma Obsolescent (
[Message =>] static_string_EXPRESSION
-[,[Version =>] Ada_05]]);
+[,[Version =>] Ada_05]);
pragma Obsolescent (
[Entity =>] NAME
[,[Message =>] static_string_EXPRESSION
-[,[Version =>] Ada_05]] );
+[,[Version =>] Ada_05]]);
@end example
This pragma can occur immediately following a declaration of an entity,
@@ -7693,7 +7693,7 @@ pragma Source_File_Name (
Use this to override the normal naming convention. It is a configuration
pragma, and so has the usual applicability of configuration pragmas
(i.e., it applies to either an entire partition, or to all units in a
-compilation, or to a single unit, depending on how it is used.
+compilation, or to a single unit, depending on how it is used).
@code{unit_name} is mapped to @code{file_name_literal}. The identifier for
the second argument is required, and indicates whether this is the file
name for the spec or for the body.
@@ -8716,7 +8716,7 @@ for this purpose, see @ref{ac,,Pragma Obsolescent}.
The second form of pragma @code{Unreferenced} is used within a context
clause. In this case the arguments must be unit names of units previously
mentioned in @code{with} clauses (similar to the usage of pragma
-@code{Elaborate_All}. The effect is to suppress warnings about unreferenced
+@code{Elaborate_All}). The effect is to suppress warnings about unreferenced
units and unreferenced entities within these units.
For the variable case, warnings are never given for unreferenced variables
@@ -18987,7 +18987,7 @@ only if negative values are possible).
@item
If a subtype statically matches the first subtype of a given type, then it has
-by default the same @code{Value_Size} as the first subtype. This is a
+by default the same @code{Value_Size} as the first subtype. (This is a
consequence of RM 13.1(14): “if two subtypes statically match,
then their subtype-specific aspects are the same”.)
@@ -19421,7 +19421,7 @@ Suppose that we have an external device which presents two bytes, the first
byte presented, which is the first (low addressed byte) of the two byte
record is called Master, and the second byte is called Slave.
-The left most (most significant bit is called Control for each byte, and
+The left most (most significant) bit is called Control for each byte, and
the remaining 7 bits are called V1, V2, … V7, where V7 is the rightmost
(least significant) bit.
@@ -22298,7 +22298,7 @@ of stream pointer positioning (@ref{2ad,,Text_IO}). There is one additional
case:
If @code{Ada.Wide_Text_IO.Look_Ahead} reads a character outside the
-normal lower ASCII set (i.e., a character in the range:
+normal lower ASCII set, i.e. a character in the range:
@example
Wide_Character'Val (16#0080#) .. Wide_Character'Val (16#FFFF#)
@@ -22502,7 +22502,7 @@ of stream pointer positioning (@ref{2ad,,Text_IO}). There is one additional
case:
If @code{Ada.Wide_Wide_Text_IO.Look_Ahead} reads a character outside the
-normal lower ASCII set (i.e., a character in the range:
+normal lower ASCII set, i.e. a character in the range:
@example
Wide_Wide_Character'Val (16#0080#) .. Wide_Wide_Character'Val (16#10FFFF#)
@@ -25445,7 +25445,7 @@ x86, and x86_64 platforms.
This package provides the interface to the low level routines used
by the generated code for allocation and freeing storage for the
-default storage pool (analogous to the C routines malloc and free.
+default storage pool (analogous to the C routines malloc and free).
It also provides a reallocation interface analogous to the C routine
realloc. The body of this unit may be modified to provide alternative
allocation mechanisms for the default pool, and in addition, direct
@@ -26364,7 +26364,7 @@ routines, since these are architecture independent.
If active synchronization is required for access to the variables in the
shared passive package, then as described in the Ada Reference Manual, the
package may contain protected objects used for this purpose. In this case
-a lock file (whose name is @code{___lock} (three underscores)
+a lock file (whose name is @code{___lock}, with three underscores)
is created in the shared memory directory.
@geindex ___lock file (for shared passive packages)
diff --git a/gcc/ada/gnat_ugn.texi b/gcc/ada/gnat_ugn.texi
--- a/gcc/ada/gnat_ugn.texi
+++ b/gcc/ada/gnat_ugn.texi
@@ -8865,7 +8865,7 @@ Assume no invalid (bad) values except for ‘Valid attribute use
Check syntax and semantics only (no code generation attempted). When the
compiler is invoked by @code{gnatmake}, if the switch @code{-gnatc} is
only given to the compiler (after @code{-cargs} or in package Compiler of
-the project file, @code{gnatmake} will fail because it will not find the
+the project file), @code{gnatmake} will fail because it will not find the
object file after compilation. If @code{gnatmake} is called with
@code{-gnatc} as a builder switch (before @code{-cargs} or in package
Builder of the project file) then @code{gnatmake} will not fail because
@@ -9281,7 +9281,7 @@ name digs float_rep size alignment
@end example
where @code{name} is the string name of the type (which can have
-single spaces embedded in the name (e.g. long double), @code{digs} is
+single spaces embedded in the name, e.g. long double), @code{digs} is
the number of digits for the floating-point type, @code{float_rep} is
the float representation (I for IEEE-754-Binary, which is
the only one supported at this time),
@@ -10217,7 +10217,7 @@ format:
The @code{v} stands for verbose.
The effect of this setting is to write long-format error
-messages to @code{stdout} (the standard output file.
+messages to @code{stdout} (the standard output file).
The same program compiled with the
@code{-gnatv} switch would generate:
@@ -10333,7 +10333,7 @@ This switch causes GNAT to generate the
brief format error messages to @code{stderr} (the standard error
file) as well as the verbose
format message or full listing (which as usual is written to
-@code{stdout} (the standard output file).
+@code{stdout}, the standard output file).
@end table
@geindex -gnatm (gcc)
@@ -13909,7 +13909,7 @@ if any.
@c end of switch description (leave this comment to ease automatic parsing for
-@c GNAT Studio
+@c GNAT Studio)
In the above rules, appearing in column one is always permitted, that is,
counts as meeting either a requirement for a required preceding space,
@@ -17008,9 +17008,9 @@ which might help you in case your project has a lot of subdirectories.
## Each of these csc is put in its own directory.
## Their name are referenced by the directory names.
## They will be compiled into shared library (although this would also work
-## with static libraries
+## with static libraries)
## - The main program (and possibly other packages that do not belong to any
-## csc is put in the top level directory (where the Makefile is).
+## csc) is put in the top level directory (where the Makefile is).
## toplevel_dir __ first_csc (sources) __ lib (will contain the library)
## \\_ second_csc (sources) __ lib (will contain the library)
## \\_ ...
@@ -19770,7 +19770,7 @@ checks) in the program source.
The use of pragma Restrictions allows you to control which features are
permitted in your program. Apart from the obvious point that if you avoid
relatively expensive features like finalization (enforceable by the use
-of pragma Restrictions (No_Finalization), the use of this pragma does not
+of pragma Restrictions (No_Finalization)), the use of this pragma does not
affect the generated code in most cases.
One notable exception to this rule is that the possibility of task abort
@@ -20844,7 +20844,7 @@ If @code{Text_IO} must be used, note that by default output to the standard
output and standard error files is unbuffered (this provides better
behavior when output statements are used for debugging, or if the
progress of a program is observed by tracking the output, e.g. by
-using the Unix @emph{tail -f} command to watch redirected output.
+using the Unix @emph{tail -f} command to watch redirected output).
If you are generating large volumes of output with @code{Text_IO} and
performance is an important factor, use a designated file instead
@@ -24424,7 +24424,7 @@ DLL in the static import library generated by @code{dlltool} with switch
Kill @code{@@@emph{nn}} from exported names
(@ref{1d2,,Windows Calling Conventions}
-for a discussion about @code{Stdcall}-style symbols.
+for a discussion about @code{Stdcall}-style symbols).
@end table
@geindex --help (dlltool)
diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb
--- a/gcc/ada/sem_prag.adb
+++ b/gcc/ada/sem_prag.adb
@@ -20381,12 +20381,12 @@ package body Sem_Prag is
-- pragma Obsolescent (
-- [Message =>] static_string_EXPRESSION
- -- [,[Version =>] Ada_05]]);
+ -- [,[Version =>] Ada_05]);
-- pragma Obsolescent (
-- [Entity =>] NAME
-- [,[Message =>] static_string_EXPRESSION
- -- [,[Version =>] Ada_05]] );
+ -- [,[Version =>] Ada_05]]);
when Pragma_Obsolescent => Obsolescent : declare
Decl : Node_Id;