From bug-gnupress-bounces+sfllaw=engmail.uwaterloo.ca@gnu.org Thu Apr 17 23:25:50 2003
Return-path: <bug-gnupress-bounces+sfllaw=engmail.uwaterloo.ca@gnu.org>
Envelope-to: sfllaw@localhost
Delivery-date: Thu, 17 Apr 2003 23:25:50 -0400
Received: from localhost ([127.0.0.1] ident=fetchmail)
	by alps with esmtp (Exim 3.35 #1 (Debian))
	id 196MVZ-0006GB-00
	for <sfllaw@localhost>; Thu, 17 Apr 2003 23:25:49 -0400
Received: from engmail.uwaterloo.ca [129.97.50.62]
	by localhost with IMAP (fetchmail-5.9.11)
	for sfllaw@localhost (single-drop); Thu, 17 Apr 2003 23:25:49 -0400 (EDT)
Received: from monty-python.gnu.org (monty-python.gnu.org [199.232.76.173])
	by engmail.uwaterloo.ca (8.12.6p2/8.12.6) with ESMTP id h3I3O6Fc048775
	for <sfllaw@engmail.uwaterloo.ca>; Thu, 17 Apr 2003 23:24:06 -0400 (EDT)
	(envelope-from bug-gnupress-bounces+sfllaw=engmail.uwaterloo.ca@gnu.org)
Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org)
	by monty-python.gnu.org with esmtp (Exim 4.10.13)
	id 196MTf-0002EX-00
	for sfllaw@engmail.uwaterloo.ca; Thu, 17 Apr 2003 23:23:51 -0400
Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10.13)
	id 196MTH-0001W3-00
	for bug-gnupress@gnu.org; Thu, 17 Apr 2003 23:23:27 -0400
Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10.13)
	id 196MSy-0000mJ-00
	for bug-gnupress@gnu.org; Thu, 17 Apr 2003 23:23:10 -0400
Received: from [192.195.225.6] (helo=sirius)
	by monty-python.gnu.org with esmtp (Exim 4.10.13)
	id 196MSw-0000j9-00
	for bug-gnupress@gnu.org; Thu, 17 Apr 2003 23:23:06 -0400
Received: from sirius ([127.0.0.1] ident=sirian)
	by sirius with esmtp (Exim 3.36 #1 (Debian))
	id 196L6X-00011P-00
	for <bug-gnupress@gnu.org>; Thu, 17 Apr 2003 20:55:53 -0500
From: Stephen Compall <s11@member.fsf.org>
To: bug-gnupress@gnu.org
Subject: [DOCPATCH] section 5 (was Re: [Bug-gnupress] PDFs to copyedit.)
Date: Thu, 17 Apr 2003 20:55:44 -0500
User-Agent: KMail/1.5.1
References: <200304170545.BAA00068@agnesi.math.uwaterloo.ca>
In-Reply-To: <200304170545.BAA00068@agnesi.math.uwaterloo.ca>
MIME-Version: 1.0
Content-Type: Multipart/Mixed;
  boundary="Boundary-00=_gs1n+n7OrQHIlQg"
Message-Id: <200304172055.52668.s11@member.fsf.org>
X-BeenThere: bug-gnupress@gnu.org
X-Mailman-Version: 2.1b5
Precedence: list
List-Id: <bug-gnupress.gnu.org>
List-Help: <mailto:bug-gnupress-request@gnu.org?subject=help>
List-Post: <mailto:bug-gnupress@gnu.org>
List-Subscribe: <http://mail.gnu.org/mailman/listinfo/bug-gnupress>,
	<mailto:bug-gnupress-request@gnu.org?subject=subscribe>
List-Archive: <http://mail.gnu.org/pipermail/bug-gnupress>
List-Unsubscribe: <http://mail.gnu.org/mailman/listinfo/bug-gnupress>,
	<mailto:bug-gnupress-request@gnu.org?subject=unsubscribe>
Sender: bug-gnupress-bounces+sfllaw=engmail.uwaterloo.ca@gnu.org
Errors-To: bug-gnupress-bounces+sfllaw=engmail.uwaterloo.ca@gnu.org
X-Spam-Status: No, hits=-8.4 required=5.0 tests=IN_REP_TO,FROM_ENDS_IN_NUMS,UNIFIED_PATCH version=2.20
X-Spam-Level: 
Status: RO
X-Status: F
Content-Length: 17055
Lines: 397


--Boundary-00=_gs1n+n7OrQHIlQg
Content-Type: Text/Plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Description: clearsigned data
Content-Disposition: inline

=2D----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Thursday 17 April 2003 12:45 am, James A Morrison wrote:
>  The 20 sections of the gcc manual are at
> http://www.csclub.uwaterloo.ca/~ja2morri/gcc.???.pdf
>
> where ??? is the number between 001 to 020 inclusive.
> I'm sorry, I don't know who the proofreaders are, or
> do I remember who volunteered to take what sections,
> so have fun with what is there.

I preemptively ran over section 5, and I have attached a patch if you
are interested.

Some things I couldn't figure out on my own:

Page 72: "Note that many of the preprocessor's warnings are on by
default and have no options to control them."

Page 73: "Suppress all warnings, including those which GNU CPP issues
by default."

(that's a contradiction, I believe)

I made an assumption about the behavior of -I on standard system
include directories when -nostdinc is passed.  Is this correct?

Page 79: Doesn't -l search for a shared library to which to link in
preference to a static library?

Here is my ChangeLog entry.  Not sure how much detail was appropriate.

2003-04-17  Stephen Compall  <s11@member.fsf.org>

	* cppopts.texi: Specified behavior of -I with system headers when
	-nostdinc is passed.

	Changed @strong{Note:} to @strong{Please note:} to fix potential
	Info parsing problem.

	Various small grammar fixes.

	* invoke.texi: Added code tags around C constants and functions,
	as well as samp and option tags in appropriate places.

	Clarified units of `ggc-min-heapsize'.

	Fixed quote marks around "RAM".

	Various small grammar fixes.

=2D --=20
Stephen Compall - Also known as S11001001
DotGNU `Contributor' -- http://dotgnu.org
Jabber ID: sirian@theoretic.com

Taking advice on what the GPL means from Microsoft is like taking
Stalin's word on the meaning of the US Constitution. They don't
understand and they're not trying to understand: they're simply trying
to scare people out of dealing with a competitor they can't buy, can't
intimidate, and can't stop.
	-- Eben Moglen

=2D----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQE+n1sl2AceYinZ4EgRAr52AJsFQj+K7iMX7TEYSStQTqkn/Xva2ACfUV28
f3/rfXlUjmM4+x7jdlfTZnA=3D
=3DltGV
=2D----END PGP SIGNATURE-----

--Boundary-00=_gs1n+n7OrQHIlQg
Content-Type: text/x-diff;
  charset="iso-8859-1";
  name="gcc_man_1S11_s5.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="gcc_man_1S11_s5.patch"

Index: cppopts.texi
===================================================================
RCS file: /cvsroot/gcc/gcc/gcc/doc/cppopts.texi,v
retrieving revision 1.15.8.2
diff -u -r1.15.8.2 cppopts.texi
--- cppopts.texi	16 Mar 2003 14:13:10 -0000	1.15.8.2
+++ cppopts.texi	18 Apr 2003 01:33:39 -0000
@@ -58,7 +58,7 @@
 @ifset cppmanual
 (@pxref{System Headers})
 @end ifset
-.
+, unless @option{-nostdinc} was passed.
 
 @item -o @var{file}
 @opindex o
@@ -315,10 +315,10 @@
 recognize the extension, it will treat the file as C; this is the most
 generic mode.
 
-@strong{Note:} Previous versions of cpp accepted a @option{-lang} option
-which selected both the language and the standards conformance level.
-This option has been removed, because it conflicts with the @option{-l}
-option.
+@strong{Please note:} Previous versions of cpp accepted a
+@option{-lang} option which selected both the language and the
+standards conformance level.  This option has been removed, because it
+conflicts with the @option{-l} option.
 
 @item -std=@var{standard}
 @itemx -ansi
@@ -366,13 +366,13 @@
 @opindex I-
 Split the include path.  Any directories specified with @option{-I}
 options before @option{-I-} are searched only for headers requested with
-@code{@w{#include "@var{file}"}}; they are not searched for
+@code{@w{#include "@var{file}"}}; they are not searched with
 @code{@w{#include <@var{file}>}}.  If additional directories are
 specified with @option{-I} options after the @option{-I-}, those
 directories are searched for all @samp{#include} directives.
 
-In addition, @option{-I-} inhibits the use of the directory of the current
-file directory as the first search directory for @code{@w{#include
+In addition, @option{-I-} inhibits the use of the current input file's
+directory as the first search directory for @code{@w{#include
 "@var{file}"}}.
 @ifset cppmanual
 @xref{Search Path}.
Index: invoke.texi
===================================================================
RCS file: /cvsroot/gcc/gcc/gcc/doc/invoke.texi,v
retrieving revision 1.209.2.25
diff -u -r1.209.2.25 invoke.texi
--- invoke.texi	17 Apr 2003 07:35:12 -0000	1.209.2.25
+++ invoke.texi	18 Apr 2003 01:33:39 -0000
@@ -4452,30 +4452,30 @@
 generation.
 
 The default is 30% + 70% * (RAM/1GB) with an upper bound of 100% when
-RAM >= 1GB.  If @code{getrlimit} is available, the notion of "RAM" is
-the smallest of actual RAM, RLIMIT_RSS, RLIMIT_DATA and RLIMIT_AS.  If
-GCC is not able to calculate RAM on a particular platform, the lower
-bound of 30% is used.  Setting this parameter and
-@option{ggc-min-heapsize} to zero causes a full collection to occur at
-every opportunity.  This is extremely slow, but can be useful for
-debugging.
+RAM >= 1GB.  If @code{getrlimit} is available, the notion of ``RAM''
+is the smallest of actual RAM, @code{RLIMIT_RSS}, @code{RLIMIT_DATA}
+and @code{RLIMIT_AS}.  If GCC is not able to calculate RAM on a
+particular platform, the lower bound of 30% is used.  Setting this
+parameter and @option{ggc-min-heapsize} to zero causes a full
+collection to occur at every opportunity.  This is extremely slow, but
+can be useful for debugging.
 
 @item ggc-min-heapsize
 
-Minimum size of the garbage collector's heap before it begins bothering
-to collect garbage.  The first collection occurs after the heap expands
-by @option{ggc-min-expand}% beyond @option{ggc-min-heapsize}.  Again,
-tuning this may improve compilation speed, and has no effect on code
-generation.
-
-The default is RAM/8, with a lower bound of 4096 (four megabytes) and an
-upper bound of 131072 (128 megabytes).  If @code{getrlimit} is
-available, the notion of "RAM" is the smallest of actual RAM,
-RLIMIT_RSS, RLIMIT_DATA and RLIMIT_AS.  If GCC is not able to calculate
-RAM on a particular platform, the lower bound is used.  Setting this
-parameter very large effectively disables garbage collection.  Setting
-this parameter and @option{ggc-min-expand} to zero causes a full
-collection to occur at every opportunity.
+Minimum size of the garbage collector's heap before it begins
+bothering to collect garbage, in kilobytes.  The first collection
+occurs after the heap expands by @option{ggc-min-expand}% beyond
+@option{ggc-min-heapsize}.  Again, tuning this may improve compilation
+speed, and has no effect on code generation.
+
+The default is RAM/8, with a lower bound of 4096 (four megabytes) and
+an upper bound of 131072 (128 megabytes).  If @code{getrlimit} is
+available, the notion of ``RAM'' is the smallest of actual RAM,
+@code{RLIMIT_RSS}, @code{RLIMIT_DATA} and @code{RLIMIT_AS}.  If GCC is
+not able to calculate RAM on a particular platform, the lower bound is
+used.  Setting this parameter very large effectively disables garbage
+collection.  Setting this parameter and @option{ggc-min-expand} to
+zero causes a full collection to occur at every opportunity.
 
 @end table
 @end table
@@ -4495,10 +4495,10 @@
 
 @opindex Wp
 You can use @option{-Wp,@var{option}} to bypass the compiler driver
-and pass @var{option} directly through to the preprocessor.  If
-@var{option} contains commas, it is split into multiple options at the
-commas.  However, many options are modified, translated or interpreted
-by the compiler driver before being passed to the preprocessor, and
+and pass @var{option} directly to the preprocessor.  If @var{option}
+contains commas, it is split into multiple options at the commas.
+However, many options are modified, translated or interpreted by the
+compiler driver before being passed to the preprocessor, and
 @option{-Wp} forcibly bypasses this phase.  The preprocessor's direct
 interface is undocumented and subject to change, so whenever possible
 you should avoid using @option{-Wp} and let the driver handle the
@@ -4601,13 +4601,14 @@
 
 @item -nostdlib
 @opindex nostdlib
-Do not use the standard system startup files or libraries when linking.
-No startup files and only the libraries you specify will be passed to
-the linker.  The compiler may generate calls to memcmp, memset, and memcpy
-for System V (and ISO C) environments or to bcopy and bzero for
-BSD environments.  These entries are usually resolved by entries in
-libc.  These entry points should be supplied through some other
-mechanism when this option is specified.
+Do not use the standard system startup files or libraries when
+linking.  No startup files and only the libraries you specify will be
+passed to the linker.  The compiler may generate calls to
+@code{memcmp}, @code{memset}, and @code{memcpy} for System V (and ISO
+C) environments or to @code{bcopy} and @code{bzero} for BSD
+environments.  These entries are usually resolved by entries in libc.
+These entry points should be supplied through some other mechanism
+when this option is specified.
 
 @cindex @option{-lgcc}, use with @option{-nostdlib}
 @cindex @option{-nostdlib} and unresolved references
@@ -4766,7 +4767,7 @@
 directory (where the current input file came from) as the first search
 directory for @samp{#include "@var{file}"}.  There is no way to
 override this effect of @option{-I-}.  With @option{-I.} you can specify
-searching the directory which was current when the compiler was
+searching the directory that was current when the compiler was
 invoked.  That is not exactly the same as what the preprocessor does
 by default, but it is often satisfactory.
 
@@ -4793,7 +4794,7 @@
 @option{-B} prefix, if any.  If that name is not found, or if @option{-B}
 was not specified, the driver tries two standard prefixes, which are
 @file{/usr/lib/gcc/} and @file{/usr/local/lib/gcc-lib/}.  If neither of
-those results in a file name that is found, the unmodified program
+those results in the name of a reachable file, the unmodified program
 name is searched for using the directories specified in your
 @env{PATH} environment variable.
 
@@ -4881,7 +4882,7 @@
 string.  All lines after this directive up to the next directive or
 blank line are considered to be the text for the spec string.  If this
 results in an empty string then the spec will be deleted.  (Or, if the
-spec did not exist, then nothing will happened.)  Otherwise, if the spec
+spec did not exist, then nothing will happen.)  Otherwise, if the spec
 does not currently exist a new spec will be created.  If the spec does
 exist then its contents will be overridden by the text of this
 directive, unless the first character of that text is the @samp{+}
@@ -4918,7 +4919,7 @@
 @@c++
 @end smallexample
 
-Says that .ZZ files are, in fact, C++ source files.
+Says that @samp{.ZZ} files are, in fact, C++ source files.
 
 @item #@var{name}
 This causes an error messages saying:
@@ -5031,11 +5032,11 @@
 without regard to any appended suffix.
 
 @item %j@var{SUFFIX}
-Substitutes the name of the @code{HOST_BIT_BUCKET}, if any, and if it is
-writable, and if save-temps is off; otherwise, substitute the name
-of a temporary file, just like @samp{%u}.  This temporary file is not
-meant for communication between processes, but rather as a junk
-disposal mechanism.
+Substitutes the name of the @code{HOST_BIT_BUCKET}, if any, and if it
+is writable, and if @option{save-temps} is off; otherwise, substitute
+the name of a temporary file, just like @samp{%u}.  This temporary
+file is not meant for communication between processes, but rather as a
+junk disposal mechanism.
 
 @item %.@var{SUFFIX}
 Substitutes @var{.SUFFIX} for the suffixes of a matched switch's args
@@ -5257,32 +5258,32 @@
 before this option will see @code{-S}, @samp{%} commands in the spec
 string after this option will not.
 
-@item %@{@code{S}*:@code{X}@}
-Substitutes @code{X} if one or more switches whose names start with
+@item %@{@code{S}*:@var{x}@}
+Substitutes @var{x} if one or more switches whose names start with
 @code{-S} are specified to GCC@.  Note that the tail part of the
 @code{-S} option (i.e.@: the part matched by the @samp{*}) will be substituted
-for each occurrence of @samp{%*} within @code{X}.
+for each occurrence of @samp{%*} within @var{x}.
 
-@item %@{@code{S}:@code{X}@}
-Substitutes @code{X}, but only if the @samp{-S} switch was given to GCC@.
+@item %@{@code{S}:@var{x}@}
+Substitutes @var{x}, but only if the @samp{-S} switch was given to GCC@.
 
-@item %@{!@code{S}:@code{X}@}
-Substitutes @code{X}, but only if the @samp{-S} switch was @emph{not} given to GCC@.
+@item %@{!@code{S}:@var{x}@}
+Substitutes @var{x}, but only if the @samp{-S} switch was @emph{not} given to GCC@.
 
-@item %@{|@code{S}:@code{X}@}
-Like %@{@code{S}:@code{X}@}, but if no @code{S} switch, substitute @samp{-}.
+@item %@{|@code{S}:@var{x}@}
+Like %@{@code{S}:@var{x}@}, but if no @code{S} switch, substitute @samp{-}.
 
-@item %@{|!@code{S}:@code{X}@}
-Like %@{!@code{S}:@code{X}@}, but if there is an @code{S} switch, substitute @samp{-}.
+@item %@{|!@code{S}:@var{x}@}
+Like %@{!@code{S}:@var{x}@}, but if there is an @code{S} switch, substitute @samp{-}.
 
-@item %@{.@code{S}:@code{X}@}
-Substitutes @code{X}, but only if processing a file with suffix @code{S}.
+@item %@{.@code{S}:@var{x}@}
+Substitutes @var{x}, but only if processing a file with suffix @code{S}.
 
-@item %@{!.@code{S}:@code{X}@}
-Substitutes @code{X}, but only if @emph{not} processing a file with suffix @code{S}.
+@item %@{!.@code{S}:@var{x}@}
+Substitutes @var{x}, but only if @emph{not} processing a file with suffix @code{S}.
 
-@item %@{@code{S}|@code{P}:@code{X}@}
-Substitutes @code{X} if either @code{-S} or @code{-P} was given to GCC@.  This may be
+@item %@{@code{S}|@code{P}:@var{x}@}
+Substitutes @var{x} if either @code{-S} or @code{-P} was given to GCC@.  This may be
 combined with @samp{!} and @samp{.} sequences as well, although they
 have a stronger binding than the @samp{|}.  For example a spec string
 like this:
@@ -5303,8 +5304,8 @@
 
 @end table
 
-The conditional text @code{X} in a %@{@code{S}:@code{X}@} or
-%@{!@code{S}:@code{X}@} construct may contain other nested @samp{%} constructs
+The conditional text @var{x} in a %@{@code{S}:@var{x}@} or
+%@{!@code{S}:@var{x}@} construct may contain other nested @samp{%} constructs
 or spaces, or even newlines.  They are processed as usual, as described
 above.
 
@@ -5319,13 +5320,13 @@
 that a command should be piped to the following command, but only if @option{-pipe}
 is specified.
 
-It is built into GCC which switches take arguments and which do not.
-(You might think it would be useful to generalize this to allow each
-compiler's spec to say which switches take arguments.  But this cannot
-be done in a consistent fashion.  GCC cannot even decide which input
-files have been specified without knowing which switches take arguments,
-and it must know which input files to compile in order to tell which
-compilers to run).
+Information about which switches take arguments and which do not is
+built into GCC.@footnote{You might think it would be useful to generalize
+this to allow each compiler's spec to say which switches take
+arguments.  But this cannot be done in a consistent fashion.  GCC
+cannot even decide which input files have been specified without
+knowing which switches take arguments, and it must know which input
+files to compile in order to tell which compilers to run.}
 
 GCC also knows implicitly that arguments starting in @option{-l} are to be
 treated as compiler output files, and passed to the linker in their
@@ -5383,7 +5384,7 @@
 
 In addition, each of these target machine types can have its own
 special options, starting with @samp{-m}, to choose among various
-hardware models or configurations---for example, 68010 vs 68020,
+hardware models or configurations---for example, 68010 vs.@: 68020,
 floating coprocessor or none.  A single installed version of the
 compiler can compile for any model or configuration, according to the
 options specified.
@@ -5393,7 +5394,7 @@
 platform.
 
 These options are defined by the macro @code{TARGET_SWITCHES} in the
-machine description.  The default for the options is also defined by
+machine description.  The defaults for the options are also defined by
 that macro, which enables you to change the defaults.
 
 @menu

--Boundary-00=_gs1n+n7OrQHIlQg
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

_______________________________________________
Bug-gnupress mailing list
Bug-gnupress@gnu.org
http://mail.gnu.org/mailman/listinfo/bug-gnupress

--Boundary-00=_gs1n+n7OrQHIlQg--


Index: cppopts.texi
===================================================================
RCS file: /cvsroot/gcc/gcc/gcc/doc/cppopts.texi,v
retrieving revision 1.15.8.2
diff -u -r1.15.8.2 cppopts.texi
--- cppopts.texi	16 Mar 2003 14:13:10 -0000	1.15.8.2
+++ cppopts.texi	18 Apr 2003 01:33:39 -0000
@@ -58,7 +58,7 @@
 @ifset cppmanual
 (@pxref{System Headers})
 @end ifset
-.
+, unless @option{-nostdinc} was passed.
 
 @item -o @var{file}
 @opindex o
@@ -315,10 +315,10 @@
 recognize the extension, it will treat the file as C; this is the most
 generic mode.
 
-@strong{Note:} Previous versions of cpp accepted a @option{-lang} option
-which selected both the language and the standards conformance level.
-This option has been removed, because it conflicts with the @option{-l}
-option.
+@strong{Please note:} Previous versions of cpp accepted a
+@option{-lang} option which selected both the language and the
+standards conformance level.  This option has been removed, because it
+conflicts with the @option{-l} option.
 
 @item -std=@var{standard}
 @itemx -ansi
@@ -366,13 +366,13 @@
 @opindex I-
 Split the include path.  Any directories specified with @option{-I}
 options before @option{-I-} are searched only for headers requested with
-@code{@w{#include "@var{file}"}}; they are not searched for
+@code{@w{#include "@var{file}"}}; they are not searched with
 @code{@w{#include <@var{file}>}}.  If additional directories are
 specified with @option{-I} options after the @option{-I-}, those
 directories are searched for all @samp{#include} directives.
 
-In addition, @option{-I-} inhibits the use of the directory of the current
-file directory as the first search directory for @code{@w{#include
+In addition, @option{-I-} inhibits the use of the current input file's
+directory as the first search directory for @code{@w{#include
 "@var{file}"}}.
 @ifset cppmanual
 @xref{Search Path}.
Index: invoke.texi
===================================================================
RCS file: /cvsroot/gcc/gcc/gcc/doc/invoke.texi,v
retrieving revision 1.209.2.25
diff -u -r1.209.2.25 invoke.texi
--- invoke.texi	17 Apr 2003 07:35:12 -0000	1.209.2.25
+++ invoke.texi	18 Apr 2003 01:33:39 -0000
@@ -4452,30 +4452,30 @@
 generation.
 
 The default is 30% + 70% * (RAM/1GB) with an upper bound of 100% when
-RAM >= 1GB.  If @code{getrlimit} is available, the notion of "RAM" is
-the smallest of actual RAM, RLIMIT_RSS, RLIMIT_DATA and RLIMIT_AS.  If
-GCC is not able to calculate RAM on a particular platform, the lower
-bound of 30% is used.  Setting this parameter and
-@option{ggc-min-heapsize} to zero causes a full collection to occur at
-every opportunity.  This is extremely slow, but can be useful for
-debugging.
+RAM >= 1GB.  If @code{getrlimit} is available, the notion of ``RAM''
+is the smallest of actual RAM, @code{RLIMIT_RSS}, @code{RLIMIT_DATA}
+and @code{RLIMIT_AS}.  If GCC is not able to calculate RAM on a
+particular platform, the lower bound of 30% is used.  Setting this
+parameter and @option{ggc-min-heapsize} to zero causes a full
+collection to occur at every opportunity.  This is extremely slow, but
+can be useful for debugging.
 
 @item ggc-min-heapsize
 
-Minimum size of the garbage collector's heap before it begins bothering
-to collect garbage.  The first collection occurs after the heap expands
-by @option{ggc-min-expand}% beyond @option{ggc-min-heapsize}.  Again,
-tuning this may improve compilation speed, and has no effect on code
-generation.
-
-The default is RAM/8, with a lower bound of 4096 (four megabytes) and an
-upper bound of 131072 (128 megabytes).  If @code{getrlimit} is
-available, the notion of "RAM" is the smallest of actual RAM,
-RLIMIT_RSS, RLIMIT_DATA and RLIMIT_AS.  If GCC is not able to calculate
-RAM on a particular platform, the lower bound is used.  Setting this
-parameter very large effectively disables garbage collection.  Setting
-this parameter and @option{ggc-min-expand} to zero causes a full
-collection to occur at every opportunity.
+Minimum size of the garbage collector's heap before it begins
+bothering to collect garbage, in kilobytes.  The first collection
+occurs after the heap expands by @option{ggc-min-expand}% beyond
+@option{ggc-min-heapsize}.  Again, tuning this may improve compilation
+speed, and has no effect on code generation.
+
+The default is RAM/8, with a lower bound of 4096 (four megabytes) and
+an upper bound of 131072 (128 megabytes).  If @code{getrlimit} is
+available, the notion of ``RAM'' is the smallest of actual RAM,
+@code{RLIMIT_RSS}, @code{RLIMIT_DATA} and @code{RLIMIT_AS}.  If GCC is
+not able to calculate RAM on a particular platform, the lower bound is
+used.  Setting this parameter very large effectively disables garbage
+collection.  Setting this parameter and @option{ggc-min-expand} to
+zero causes a full collection to occur at every opportunity.
 
 @end table
 @end table
@@ -4495,10 +4495,10 @@
 
 @opindex Wp
 You can use @option{-Wp,@var{option}} to bypass the compiler driver
-and pass @var{option} directly through to the preprocessor.  If
-@var{option} contains commas, it is split into multiple options at the
-commas.  However, many options are modified, translated or interpreted
-by the compiler driver before being passed to the preprocessor, and
+and pass @var{option} directly to the preprocessor.  If @var{option}
+contains commas, it is split into multiple options at the commas.
+However, many options are modified, translated or interpreted by the
+compiler driver before being passed to the preprocessor, and
 @option{-Wp} forcibly bypasses this phase.  The preprocessor's direct
 interface is undocumented and subject to change, so whenever possible
 you should avoid using @option{-Wp} and let the driver handle the
@@ -4601,13 +4601,14 @@
 
 @item -nostdlib
 @opindex nostdlib
-Do not use the standard system startup files or libraries when linking.
-No startup files and only the libraries you specify will be passed to
-the linker.  The compiler may generate calls to memcmp, memset, and memcpy
-for System V (and ISO C) environments or to bcopy and bzero for
-BSD environments.  These entries are usually resolved by entries in
-libc.  These entry points should be supplied through some other
-mechanism when this option is specified.
+Do not use the standard system startup files or libraries when
+linking.  No startup files and only the libraries you specify will be
+passed to the linker.  The compiler may generate calls to
+@code{memcmp}, @code{memset}, and @code{memcpy} for System V (and ISO
+C) environments or to @code{bcopy} and @code{bzero} for BSD
+environments.  These entries are usually resolved by entries in libc.
+These entry points should be supplied through some other mechanism
+when this option is specified.
 
 @cindex @option{-lgcc}, use with @option{-nostdlib}
 @cindex @option{-nostdlib} and unresolved references
@@ -4766,7 +4767,7 @@
 directory (where the current input file came from) as the first search
 directory for @samp{#include "@var{file}"}.  There is no way to
 override this effect of @option{-I-}.  With @option{-I.} you can specify
-searching the directory which was current when the compiler was
+searching the directory that was current when the compiler was
 invoked.  That is not exactly the same as what the preprocessor does
 by default, but it is often satisfactory.
 
@@ -4793,7 +4794,7 @@
 @option{-B} prefix, if any.  If that name is not found, or if @option{-B}
 was not specified, the driver tries two standard prefixes, which are
 @file{/usr/lib/gcc/} and @file{/usr/local/lib/gcc-lib/}.  If neither of
-those results in a file name that is found, the unmodified program
+those results in the name of a reachable file, the unmodified program
 name is searched for using the directories specified in your
 @env{PATH} environment variable.
 
@@ -4881,7 +4882,7 @@
 string.  All lines after this directive up to the next directive or
 blank line are considered to be the text for the spec string.  If this
 results in an empty string then the spec will be deleted.  (Or, if the
-spec did not exist, then nothing will happened.)  Otherwise, if the spec
+spec did not exist, then nothing will happen.)  Otherwise, if the spec
 does not currently exist a new spec will be created.  If the spec does
 exist then its contents will be overridden by the text of this
 directive, unless the first character of that text is the @samp{+}
@@ -4918,7 +4919,7 @@
 @@c++
 @end smallexample
 
-Says that .ZZ files are, in fact, C++ source files.
+Says that @samp{.ZZ} files are, in fact, C++ source files.
 
 @item #@var{name}
 This causes an error messages saying:
@@ -5031,11 +5032,11 @@
 without regard to any appended suffix.
 
 @item %j@var{SUFFIX}
-Substitutes the name of the @code{HOST_BIT_BUCKET}, if any, and if it is
-writable, and if save-temps is off; otherwise, substitute the name
-of a temporary file, just like @samp{%u}.  This temporary file is not
-meant for communication between processes, but rather as a junk
-disposal mechanism.
+Substitutes the name of the @code{HOST_BIT_BUCKET}, if any, and if it
+is writable, and if @option{save-temps} is off; otherwise, substitute
+the name of a temporary file, just like @samp{%u}.  This temporary
+file is not meant for communication between processes, but rather as a
+junk disposal mechanism.
 
 @item %.@var{SUFFIX}
 Substitutes @var{.SUFFIX} for the suffixes of a matched switch's args
@@ -5257,32 +5258,32 @@
 before this option will see @code{-S}, @samp{%} commands in the spec
 string after this option will not.
 
-@item %@{@code{S}*:@code{X}@}
-Substitutes @code{X} if one or more switches whose names start with
+@item %@{@code{S}*:@var{x}@}
+Substitutes @var{x} if one or more switches whose names start with
 @code{-S} are specified to GCC@.  Note that the tail part of the
 @code{-S} option (i.e.@: the part matched by the @samp{*}) will be substituted
-for each occurrence of @samp{%*} within @code{X}.
+for each occurrence of @samp{%*} within @var{x}.
 
-@item %@{@code{S}:@code{X}@}
-Substitutes @code{X}, but only if the @samp{-S} switch was given to GCC@.
+@item %@{@code{S}:@var{x}@}
+Substitutes @var{x}, but only if the @samp{-S} switch was given to GCC@.
 
-@item %@{!@code{S}:@code{X}@}
-Substitutes @code{X}, but only if the @samp{-S} switch was @emph{not} given to GCC@.
+@item %@{!@code{S}:@var{x}@}
+Substitutes @var{x}, but only if the @samp{-S} switch was @emph{not} given to GCC@.
 
-@item %@{|@code{S}:@code{X}@}
-Like %@{@code{S}:@code{X}@}, but if no @code{S} switch, substitute @samp{-}.
+@item %@{|@code{S}:@var{x}@}
+Like %@{@code{S}:@var{x}@}, but if no @code{S} switch, substitute @samp{-}.
 
-@item %@{|!@code{S}:@code{X}@}
-Like %@{!@code{S}:@code{X}@}, but if there is an @code{S} switch, substitute @samp{-}.
+@item %@{|!@code{S}:@var{x}@}
+Like %@{!@code{S}:@var{x}@}, but if there is an @code{S} switch, substitute @samp{-}.
 
-@item %@{.@code{S}:@code{X}@}
-Substitutes @code{X}, but only if processing a file with suffix @code{S}.
+@item %@{.@code{S}:@var{x}@}
+Substitutes @var{x}, but only if processing a file with suffix @code{S}.
 
-@item %@{!.@code{S}:@code{X}@}
-Substitutes @code{X}, but only if @emph{not} processing a file with suffix @code{S}.
+@item %@{!.@code{S}:@var{x}@}
+Substitutes @var{x}, but only if @emph{not} processing a file with suffix @code{S}.
 
-@item %@{@code{S}|@code{P}:@code{X}@}
-Substitutes @code{X} if either @code{-S} or @code{-P} was given to GCC@.  This may be
+@item %@{@code{S}|@code{P}:@var{x}@}
+Substitutes @var{x} if either @code{-S} or @code{-P} was given to GCC@.  This may be
 combined with @samp{!} and @samp{.} sequences as well, although they
 have a stronger binding than the @samp{|}.  For example a spec string
 like this:
@@ -5303,8 +5304,8 @@
 
 @end table
 
-The conditional text @code{X} in a %@{@code{S}:@code{X}@} or
-%@{!@code{S}:@code{X}@} construct may contain other nested @samp{%} constructs
+The conditional text @var{x} in a %@{@code{S}:@var{x}@} or
+%@{!@code{S}:@var{x}@} construct may contain other nested @samp{%} constructs
 or spaces, or even newlines.  They are processed as usual, as described
 above.
 
@@ -5319,13 +5320,13 @@
 that a command should be piped to the following command, but only if @option{-pipe}
 is specified.
 
-It is built into GCC which switches take arguments and which do not.
-(You might think it would be useful to generalize this to allow each
-compiler's spec to say which switches take arguments.  But this cannot
-be done in a consistent fashion.  GCC cannot even decide which input
-files have been specified without knowing which switches take arguments,
-and it must know which input files to compile in order to tell which
-compilers to run).
+Information about which switches take arguments and which do not is
+built into GCC.@footnote{You might think it would be useful to generalize
+this to allow each compiler's spec to say which switches take
+arguments.  But this cannot be done in a consistent fashion.  GCC
+cannot even decide which input files have been specified without
+knowing which switches take arguments, and it must know which input
+files to compile in order to tell which compilers to run.}
 
 GCC also knows implicitly that arguments starting in @option{-l} are to be
 treated as compiler output files, and passed to the linker in their
@@ -5383,7 +5384,7 @@
 
 In addition, each of these target machine types can have its own
 special options, starting with @samp{-m}, to choose among various
-hardware models or configurations---for example, 68010 vs 68020,
+hardware models or configurations---for example, 68010 vs.@: 68020,
 floating coprocessor or none.  A single installed version of the
 compiler can compile for any model or configuration, according to the
 options specified.
@@ -5393,7 +5394,7 @@
 platform.
 
 These options are defined by the macro @code{TARGET_SWITCHES} in the
-machine description.  The default for the options is also defined by
+machine description.  The defaults for the options are also defined by
 that macro, which enables you to change the defaults.
 
 @menu
