c-tree.texi, [...]: Remove trailing whitespace.

* doc/c-tree.texi, doc/cpp.texi, doc/extend.texi,
	doc/frontends.texi, doc/gcov.texi, doc/gty.texi, doc/install.texi,
	doc/invoke.texi, doc/libgcc.texi, doc/md.texi, doc/rtl.texi,
	doc/sourcebuild.texi, doc/standards.texi, doc/tm.texi,
	doc/trouble.texi: Remove trailing whitespace.

From-SVN: r76098
This commit is contained in:
Joseph Myers 2004-01-18 11:57:17 +00:00 committed by Joseph Myers
parent bbad4221ec
commit daf2f1299b
16 changed files with 188 additions and 180 deletions

View File

@ -1,3 +1,11 @@
2004-01-18 Joseph S. Myers <jsm@polyomino.org.uk>
* doc/c-tree.texi, doc/cpp.texi, doc/extend.texi,
doc/frontends.texi, doc/gcov.texi, doc/gty.texi, doc/install.texi,
doc/invoke.texi, doc/libgcc.texi, doc/md.texi, doc/rtl.texi,
doc/sourcebuild.texi, doc/standards.texi, doc/tm.texi,
doc/trouble.texi: Remove trailing whitespace.
2004-01-18 Richard Sandiford <rsandifo@redhat.com>
PR target/7618

View File

@ -1024,7 +1024,7 @@ To determine the scope of a function, you can use the
@code{NAMESPACE_DECL}) of which the function is a member. For a virtual
function, this macro returns the class in which the function was
actually defined, not the base class in which the virtual declaration
occurred.
occurred.
If a friend function is defined in a class scope, the
@code{DECL_FRIEND_CONTEXT} macro can be used to determine the class in
@ -1549,7 +1549,7 @@ is the type of exception that will be caught by this handler; it is
equal (by pointer equality) to @code{NULL} if this handler is for all
types. @code{HANDLER_PARMS} is the @code{DECL_STMT} for the catch
parameter, and @code{HANDLER_BODY} is the @code{COMPOUND_STMT} for the
block itself.
block itself.
@item IF_STMT

View File

@ -258,7 +258,7 @@ At present, GNU CPP does not implement conversion from arbitrary file
encodings to the source character set. Use of any encoding other than
plain ASCII or UTF-8, except in comments, will cause errors. Use of
encodings that are not strict supersets of ASCII, such as Shift JIS,
may cause errors even if non-ASCII characters appear only in comments.
may cause errors even if non-ASCII characters appear only in comments.
We plan to fix this in the near future.
All preprocessing work (the subject of the rest of this manual) is
@ -422,7 +422,7 @@ comment.
@end group
@end smallexample
Comments are not recognized within string literals.
Comments are not recognized within string literals.
@t{@w{"/* blah */"}} is the string constant @samp{@w{/* blah */}}, not
an empty string.
@ -2067,7 +2067,7 @@ this macro directly; instead, include the appropriate headers.
@itemx __INT_MAX__
@itemx __LONG_MAX__
@itemx __LONG_LONG_MAX__
Defined to the maximum value of the @code{signed char}, @code{wchar_t},
Defined to the maximum value of the @code{signed char}, @code{wchar_t},
@code{signed short},
@code{signed int}, @code{signed long}, and @code{signed long long} types
respectively. They exist to make the standard header given numerical limits
@ -4135,7 +4135,7 @@ cpp [@option{-D}@var{macro}[=@var{defn}]@dots{}] [@option{-U}@var{macro}]
[@option{-M}|@option{-MM}] [@option{-MG}] [@option{-MF} @var{filename}]
[@option{-MP}] [@option{-MQ} @var{target}@dots{}]
[@option{-MT} @var{target}@dots{}]
[@option{-P}] [@option{-fno-working-directory}]
[@option{-P}] [@option{-fno-working-directory}]
[@option{-x} @var{language}] [@option{-std=}@var{standard}]
@var{infile} @var{outfile}
@ -4188,7 +4188,7 @@ Note that you can also specify places to search using options such as
@option{-M} (@pxref{Invocation}). These take precedence over
environment variables, which in turn take precedence over the
configuration of GCC@.
@include cppenv.texi
@c man end

View File

@ -253,7 +253,7 @@ The @code{register} specifier affects code generation only in these ways:
@itemize @bullet
@item
When used as part of the register variable extension, see
When used as part of the register variable extension, see
@ref{Explicit Reg Vars}.
@item
@ -594,7 +594,7 @@ bug.)
GCC allows you to declare @dfn{local labels} in any nested block
scope. A local label is just like an ordinary label, but you can
only reference it (with a @code{goto} statement, or by taking its
address) within the block in which it was declared.
address) within the block in which it was declared.
A local label declaration looks like this:
@ -2394,7 +2394,7 @@ See the ELF gABI for complete details, but the short story is:
@table @dfn
@item default
Default visibility is the normal case for ELF. This value is
Default visibility is the normal case for ELF. This value is
available for the visibility attribute to override other options
that may change the assumed visibility of symbols.
@ -2451,7 +2451,7 @@ pass arguments, unless it takes a variable number of arguments.
@cindex functions that pop the argument stack on the 386
On the Intel 386, the @code{fastcall} attribute causes the compiler to
pass the first two arguments in the registers ECX and EDX. Subsequent
arguments are passed on the stack. The called function will pop the
arguments are passed on the stack. The called function will pop the
arguments off the stack. If the number of arguments is variable all
arguments are pushed on the stack.
@ -2647,7 +2647,7 @@ attribute is applied to a symbol @emph{definition}, an error is reported.
If a symbol previously declared @code{dllimport} is later defined, the
attribute is ignored in subsequent references, and a warning is emitted.
The attribute is also overridden by a subsequent declaration as
@code{dllexport}.
@code{dllexport}.
When applied to C++ classes, the attribute marks non-inlined
member functions and static data members as imports. However, the
@ -2663,7 +2663,7 @@ but provides a small performance benefit by eliminating a thunk in the
dll. The use of the @code{dllimport} attribute on imported variables was
required on older versions of GNU ld, but can now be avoided by passing
the @option{--enable-auto-import} switch to ld. As with functions, using
the attribute for a variable eliminates a thunk in the dll.
the attribute for a variable eliminates a thunk in the dll.
One drawback to using this attribute is that a pointer to a function or
variable marked as dllimport cannot be used as a constant address. The
@ -3196,7 +3196,7 @@ The @code{common} attribute requests GCC to place a variable in
``common'' storage. The @code{nocommon} attribute requests the
opposite -- to allocate space for it directly.
These attributes override the default chosen by the
These attributes override the default chosen by the
@option{-fno-common} and @option{-fcommon} flags respectively.
@item deprecated
@ -5501,7 +5501,7 @@ do not implement, a description of the parsing is in order. The string
is parsed as by @code{strtol}; that is, the base is recognized by
leading @samp{0} or @samp{0x} prefixes. The number parsed is placed
in the significand such that the least significant bit of the number
is at the least significant bit of the significand. The number is
is at the least significant bit of the significand. The number is
truncated to fit the significand field provided. The significand is
forced to be a quiet NaN.
@ -5518,7 +5518,7 @@ Similar to @code{__builtin_nan}, except the return type is @code{long double}.
@end deftypefn
@deftypefn {Built-in Function} double __builtin_nans (const char *str)
Similar to @code{__builtin_nan}, except the significand is forced
Similar to @code{__builtin_nan}, except the significand is forced
to be a signaling NaN. The @code{nans} function is proposed by
@uref{http://std.dkuug.dk/JTC1/SC22/WG14/www/docs/n965.htm,,WG14 N965}.
@end deftypefn

View File

@ -11,7 +11,7 @@
@cindex Java
@cindex Ada
@cindex treelang
Several versions of the compiler (C, C++, Objective-C, Ada,
Several versions of the compiler (C, C++, Objective-C, Ada,
Fortran, Java and treelang) are integrated; this is why we use the name
``GNU Compiler Collection''. GCC can compile programs written in any of these
languages. The Ada, Fortran, Java and treelang compilers are described in

View File

@ -211,12 +211,12 @@ Unconditional branches are normally not interesting.
@end table
@command{gcov} should be run with the current directory the same as that
when you invoked the compiler. Otherwise it will not be able to locate
the source files. @command{gcov} produces files called
@file{@var{mangledname}.gcov} in the current directory. These contain
the coverage information of the source file they correspond to.
One @file{.gcov} file is produced for each source file containing code,
@command{gcov} should be run with the current directory the same as that
when you invoked the compiler. Otherwise it will not be able to locate
the source files. @command{gcov} produces files called
@file{@var{mangledname}.gcov} in the current directory. These contain
the coverage information of the source file they correspond to.
One @file{.gcov} file is produced for each source file containing code,
which was compiled to produce the data files. The @var{mangledname} part
of the output file name is usually simply the source file name, but can
be something more complicated if the @samp{-l} or @samp{-p} options are
@ -280,12 +280,12 @@ Here is a sample:
function main called 1 returned 1 blocks executed 75%
1: 4:@{
1: 5: int i, total;
-: 6:
-: 6:
1: 7: total = 0;
-: 8:
-: 8:
11: 9: for (i = 0; i < 10; i++)
10: 10: total += i;
-: 11:
-: 11:
1: 12: if (total != 45)
#####: 13: printf ("Failure\n");
-: 14: else
@ -310,14 +310,14 @@ function main called 1 returned 1 blocks executed 75%
1: 4:@{
1: 4-block 0
1: 5: int i, total;
-: 6:
-: 6:
1: 7: total = 0;
-: 8:
-: 8:
11: 9: for (i = 0; i < 10; i++)
11: 9-block 0
10: 10: total += i;
10: 10-block 0
-: 11:
-: 11:
1: 12: if (total != 45)
1: 12-block 0
#####: 13: printf ("Failure\n");
@ -369,14 +369,14 @@ Here is a sample of a resulting @file{tmp.c.gcov} file:
function main called 1 returned 1 blocks executed 75%
1: 4:@{
1: 5: int i, total;
-: 6:
-: 6:
1: 7: total = 0;
-: 8:
-: 8:
11: 9: for (i = 0; i < 10; i++)
branch 0 taken 91% (fallthrough)
branch 1 taken 9%
10: 10: total += i;
-: 11:
-: 11:
1: 12: if (total != 45)
branch 0 taken 0% (fallthrough)
branch 1 taken 100%

View File

@ -48,7 +48,7 @@ These markers can be placed:
@item
In a structure definition, before the open brace;
@item
In a global variable declaration, after the keyword @code{static} or
In a global variable declaration, after the keyword @code{static} or
@code{extern}; and
@item
In a structure field definition, before the name of the field.
@ -311,19 +311,19 @@ things you need to do:
@enumerate
@item
You need to add the file to the list of source files the type
machinery scans. There are three cases:
machinery scans. There are three cases:
@enumerate a
@item
For a back-end file, this is usually done
automatically; if not, you should add it to @code{target_gtfiles} in
the appropriate port's entries in @file{config.gcc}.
the appropriate port's entries in @file{config.gcc}.
@item
For files shared by all front ends, this is done by adding the
filename to the @code{GTFILES} variable in @file{Makefile.in}.
@item
@item
For any other file used by a front end, this is done by adding the
filename to the @code{gtfiles} variable defined in
@file{config-lang.in}. For C, the file is @file{c-config-lang.in}.
@ -342,7 +342,7 @@ header file, this should be done automatically. For a front-end header
file, it needs to be included by the same file that includes
@file{gtype-@var{lang}.h}. For other header files, it needs to be
included in @file{gtype-desc.c}, which is a generated file, so add it to
@code{ifiles} in @code{open_base_file} in @file{gengtype.c}.
@code{ifiles} in @code{open_base_file} in @file{gengtype.c}.
For source files that aren't header files, the machinery will generate a
header file that should be included in the source file you just changed.

View File

@ -152,7 +152,7 @@ We recommend you browse the entire generic installation instructions before
you proceed.
Lists of successful builds for released versions of GCC are
available at @uref{http://gcc.gnu.org/buildstat.html}.
available at @uref{http://gcc.gnu.org/buildstat.html}.
These lists are updated as new information becomes available.
The installation procedure itself is broken into five steps.
@ -256,7 +256,7 @@ use @command{bash} to be sure. Then set @env{CONFIG_SHELL} in your
environment to your ``good'' shell prior to running
@command{configure}/@command{make}.
@command{zsh} is not a fully compliant POSIX shell and will not
@command{zsh} is not a fully compliant POSIX shell and will not
work when configuring GCC.
@item GNU binutils
@ -980,7 +980,7 @@ If you configure with @option{--enable-generated-files-in-srcdir} then those
generated files will go into the source directory. This is mainly intended
for generating release or prerelease tarballs of the GCC sources, since it
is not a requirement that the users of source releases to have flex, bison, or
makeinfo.
makeinfo.
@item --enable-version-specific-runtime-libs
Specify
@ -1091,7 +1091,7 @@ without optimization.
@item --enable-gather-detailed-mem-stats
When this option is specified more detailed information on memory
allocation is gathered. This information is printed when using
@option{-fmem-report}.
@option{-fmem-report}.
@item --enable-nls
@itemx --disable-nls
@ -1205,7 +1205,7 @@ corresponding @option{--without} option.
Now that GCC is configured, you are ready to build the compiler and
runtime libraries.
We @strong{highly} recommend that GCC be built using GNU make;
We @strong{highly} recommend that GCC be built using GNU make;
other versions may work, then again they might not.
GNU make is required for compiling GNAT (the Ada compiler) and the Java
runtime library.
@ -1537,7 +1537,7 @@ Finally, you can run the testsuite (which may take a long time):
This will test various components of GCC, such as compiler
front ends and runtime libraries. While running the testsuite, DejaGnu
might emit some harmless messages resembling
@samp{WARNING: Couldn't find the global config file.} or
@samp{WARNING: Couldn't find the global config file.} or
@samp{WARNING: Couldn't find tool init file} that can be ignored.
@section How can I run the test suite on selected tests?
@ -1662,8 +1662,8 @@ the libjava testsuite at @file{libjava/testsuite/libjava.jacks/jacks}.
The result of running the testsuite are various @file{*.sum} and @file{*.log}
files in the testsuite subdirectories. The @file{*.log} files contain a
detailed log of the compiler invocations and the corresponding
results, the @file{*.sum} files summarize the results. These summaries
contain status codes for all tests:
results, the @file{*.sum} files summarize the results. These summaries
contain status codes for all tests:
@itemize @bullet
@item
@ -1915,7 +1915,7 @@ OpenServer/Unixware}.
@item
Sinix/Reliant Unix---@uref{ftp://ftp.fujitsu-siemens.com/pub/pd/gnu/gcc/,,Siemens}.
@item
Solaris 2 (SPARC, Intel)---@uref{http://www.sunfreeware.com/,,Sunfreeware}.
@ -2690,7 +2690,7 @@ A modern bintuils (as well as a plethora of other development related
GNU utilities) can be found in Support Level Supplement OSS658A, the
"GNU Development Tools" package. See the SCO web and ftp sites for details.
That package also contains the currently "officially supported" version of
GCC, version 2.95.3. It is useful for bootstrapping this version.
GCC, version 2.95.3. It is useful for bootstrapping this version.
@html
<hr />
@ -3234,7 +3234,7 @@ zSeries system (64-bit) running GNU/Linux for zSeries@.
<hr />
@end html
@heading @anchor{s390x-ibm-tpf*}s390x-ibm-tpf*
zSeries system (64-bit) running TPF. This platform is
zSeries system (64-bit) running TPF. This platform is
supported as cross-compilation target only.
@html
@ -3495,7 +3495,7 @@ to do so.
GCC's exception handling runtime requires a special ``configlette''
module, @file{contrib/gthr_supp_vxw_5x.c}. Follow the instructions in
that file to add the module to your kernel build. (Future versions of
VxWorks will incorporate this module.)
VxWorks will incorporate this module.)
@html
<hr />

View File

@ -1460,7 +1460,7 @@ inlined by default.
@opindex Wabi
Warn when G++ generates code that is probably not compatible with the
vendor-neutral C++ ABI. Although an effort has been made to warn about
all such cases, there are probably some cases that are not warned about,
all such cases, there are probably some cases that are not warned about,
even though G++ is generating incompatible code. There may also be
cases where warnings are emitted even though the code that is generated
will be compatible.
@ -1484,7 +1484,7 @@ struct B : public A @{ int f2 : 1; @};
@noindent
In this case, G++ will place @code{B::f2} into the same byte
as@code{A::f1}; other compilers will not. You can avoid this problem
as@code{A::f1}; other compilers will not. You can avoid this problem
by explicitly padding @code{A} so that its size is a multiple of the
byte size on your platform; that will cause G++ and other compilers to
layout @code{B} identically.
@ -1521,7 +1521,7 @@ union too small by the number of bits in an @code{int}.
@item
Empty classes can be placed at incorrect offsets. For example:
@smallexample
struct A @{@};
@ -1614,7 +1614,7 @@ Item 23: Don't try to return a reference when you must return an object.
@end itemize
Also warn about violations of the following style guidelines from
Also warn about violations of the following style guidelines from
Scott Meyers' @cite{More Effective C++} book:
@itemize @bullet
@ -1772,17 +1772,17 @@ used.
@item -fno-nil-receivers
@opindex -fno-nil-receivers
Assume that all Objective-C message dispatches (e.g.,
@code{[receiver message:arg]}) in this translation unit ensure that the receiver
is not @code{nil}. This allows for more efficient entry points in the runtime to be
used. Currently, this option is only available in conjunction with
Assume that all Objective-C message dispatches (e.g.,
@code{[receiver message:arg]}) in this translation unit ensure that the receiver
is not @code{nil}. This allows for more efficient entry points in the runtime to be
used. Currently, this option is only available in conjunction with
the NeXT runtime on Mac OS X 10.3 and later.
@item -fobjc-exceptions
@opindex -fobjc-exceptions
Enable syntactic support for structured exception handling in Objective-C,
similar to what is offered by C++ and Java. Currently, this option is only
available in conjunction with the NeXT runtime on Mac OS X 10.3 and later.
Enable syntactic support for structured exception handling in Objective-C,
similar to what is offered by C++ and Java. Currently, this option is only
available in conjunction with the NeXT runtime on Mac OS X 10.3 and later.
@smallexample
@@try @{
@ -1811,15 +1811,15 @@ available in conjunction with the NeXT runtime on Mac OS X 10.3 and later.
@end smallexample
The @code{@@throw} statement may appear anywhere in an Objective-C or
Objective-C++ program; when used inside of a @code{@@catch} block, the
@code{@@throw} may appear without an argument (as shown above), in which case
Objective-C++ program; when used inside of a @code{@@catch} block, the
@code{@@throw} may appear without an argument (as shown above), in which case
the object caught by the @code{@@catch} will be rethrown.
Note that only (pointers to) Objective-C objects may be thrown and
caught using this scheme. When an object is thrown, it will be caught
by the nearest @code{@@catch} clause capable of handling objects of that type,
analogously to how @code{catch} blocks work in C++ and Java. A
@code{@@catch(id @dots{})} clause (as shown above) may also be provided to catch
analogously to how @code{catch} blocks work in C++ and Java. A
@code{@@catch(id @dots{})} clause (as shown above) may also be provided to catch
any and all Objective-C exceptions not caught by previous @code{@@catch}
clauses (if any).
@ -1833,7 +1833,7 @@ There are several caveats to using the new exception mechanism:
@itemize @bullet
@item
Although currently designed to be binary compatible with @code{NS_HANDLER}-style
Although currently designed to be binary compatible with @code{NS_HANDLER}-style
idioms provided by the @code{NSException} class, the new
exceptions can only be used on Mac OS X 10.3 (Panther) and later
systems, due to additional functionality needed in the (NeXT) Objective-C
@ -1841,13 +1841,13 @@ runtime.
@item
As mentioned above, the new exceptions do not support handling
types other than Objective-C objects. Furthermore, when used from
types other than Objective-C objects. Furthermore, when used from
Objective-C++, the Objective-C exception model does not interoperate with C++
exceptions at this time. This means you cannot @code{@@throw} an exception
from Objective-C and @code{catch} it in C++, or vice versa
from Objective-C and @code{catch} it in C++, or vice versa
(i.e., @code{throw @dots{} @@catch}).
@end itemize
The @option{-fobjc-exceptions} switch also enables the use of synchronization
blocks for thread-safe execution:
@ -1860,7 +1860,7 @@ blocks for thread-safe execution:
Upon entering the @code{@@synchronized} block, a thread of execution shall
first check whether a lock has been placed on the corresponding @code{guard}
object by another thread. If it has, the current thread shall wait until
the other thread relinquishes its lock. Once @code{guard} becomes available,
the other thread relinquishes its lock. Once @code{guard} becomes available,
the current thread will place its own lock on it, execute the code contained in
the @code{@@synchronized} block, and finally relinquish the lock (thereby
making @code{guard} available to other threads).
@ -1875,10 +1875,10 @@ to be unlocked properly.
Emit a special marker instructing @command{ld(1)} not to statically link in
the resulting object file, and allow @command{dyld(1)} to load it in at
run time instead. This is used in conjunction with the Fix-and-Continue
debugging mode, where the object file in question may be recompiled and
debugging mode, where the object file in question may be recompiled and
dynamically reloaded in the course of program execution, without the need
to restart the program itself. Currently, Fix-and-Continue functionality
is only available in conjunction with the NeXT runtime on Mac OS X 10.3
is only available in conjunction with the NeXT runtime on Mac OS X 10.3
and later.
@item -fzero-link
@ -1888,7 +1888,7 @@ to @code{objc_getClass("@dots{}")} (when the name of the class is known at
compile time) with static class references that get initialized at load time,
which improves run-time performance. Specifying the @option{-fzero-link} flag
suppresses this behavior and causes calls to @code{objc_getClass("@dots{}")}
to be retained. This is useful in Zero-Link debugging mode, since it allows
to be retained. This is useful in Zero-Link debugging mode, since it allows
for individual class implementations to be modified during program execution.
@item -gen-decls
@ -1923,7 +1923,7 @@ being used.
@opindex Wundeclared-selector
Warn if a @code{@@selector(@dots{})} expression referring to an
undeclared selector is found. A selector is considered undeclared if no
method with that name has been declared before the
method with that name has been declared before the
@code{@@selector(@dots{})} expression, either explicitly in an
@code{@@interface} or @code{@@protocol} declaration, or implicitly in
an @code{@@implementation} section. This option always performs its
@ -2158,7 +2158,7 @@ requiring a non-null value by the @code{nonnull} function attribute.
@option{-Wnonnull} is included in @option{-Wall} and @option{-Wformat}. It
can be disabled with the @option{-Wno-nonnull} option.
@item -Winit-self @r{(C, C++, and Objective-C only)}
@item -Winit-self @r{(C, C++, and Objective-C only)}
@opindex Winit-self
Warn about uninitialized variables which are initialized with themselves.
Note this option can only be used with the @option{-Wuninitialized} option,
@ -2940,7 +2940,7 @@ code is to provide behavior which is selectable at compile-time.
@opindex Winline
Warn if a function can not be inlined and it was declared as inline.
Even with this option, the compiler will not warn about failures to
inline functions declared in system headers.
inline functions declared in system headers.
The compiler uses a variety of heuristics to determine whether or not
to inline a function. For example, the compiler takes into account
@ -3600,7 +3600,7 @@ With @option{-O}, the compiler tries to reduce code size and execution
time, without performing any optimizations that take a great deal of
compilation time.
@option{-O} turns on the following optimization flags:
@option{-O} turns on the following optimization flags:
@gccoptlist{-fdefer-pop @gol
-fmerge-constants @gol
-fthread-jumps @gol
@ -3774,7 +3774,7 @@ use inlining heavily such as those based on recursive templates with C++.
Inlining is actually controlled by a number of parameters, which may be
specified individually by using @option{--param @var{name}=@var{value}}.
The @option{-finline-limit=@var{n}} option sets some of these parameters
The @option{-finline-limit=@var{n}} option sets some of these parameters
as follows:
@table @gcctabopt
@ -4085,9 +4085,9 @@ of stalled insns into the ready list, during the second scheduling pass.
@item -fsched-stalled-insns-dep=@var{n}
@opindex fsched-stalled-insns-dep
Define how many insn groups (cycles) will be examined for a dependency
on a stalled insn that is candidate for premature removal from the queue
of stalled insns. Has an effect only during the second scheduling pass,
Define how many insn groups (cycles) will be examined for a dependency
on a stalled insn that is candidate for premature removal from the queue
of stalled insns. Has an effect only during the second scheduling pass,
and only if @option{-fsched-stalled-insns} is used and its value is not zero.
@item -fsched2-use-superblocks
@ -4096,7 +4096,7 @@ When scheduling after register allocation, do use superblock scheduling
algorithm. Superblock scheduling allows motion across basic block boundaries
resulting on faster schedules. This option is experimental, as not all machine
descriptions used by GCC model the CPU closely enough to avoid unreliable
results from the algorithm.
results from the algorithm.
This only makes sense when scheduling after register allocation, i.e.@: with
@option{-fschedule-insns2} or at @option{-O2} or higher.
@ -4513,7 +4513,7 @@ file The information in this data file is very dependent on the
structure of the generated code, so you must use the same source code
and the same optimization options for both compilations.
With @option{-fbranch-probabilities}, GCC puts a
With @option{-fbranch-probabilities}, GCC puts a
@samp{REG_BR_PROB} note on each @samp{JUMP_INSN} and @samp{CALL_INSN}.
These can be used to improve optimization. Currently, they are only
used in one place: in @file{reorg.c}, instead of guessing which path a
@ -4598,7 +4598,7 @@ the loop is entered. This is done using the old loop unroller whose loop
recognition is based on notes from frontend. This usually makes programs run more slowly.
@option{-fold-unroll-all-loops} implies the same options as
@option{-fold-unroll-loops}.
@item -funswitch-loops
@opindex funswitch-loops
Move branches with loop invariant conditions out of the loop, with duplicates
@ -4704,7 +4704,7 @@ needlessly consume memory and resources.
@item max-inline-insns-single
Several parameters control the tree inliner used in gcc.
This number sets the maximum number of instructions (counted in gcc's
internal representation) in a single function that the tree inliner
internal representation) in a single function that the tree inliner
will consider for inlining. This only affects functions declared
inline and methods implemented in a class declaration (C++).
The default value is 500.
@ -4737,7 +4737,7 @@ The default value is 150.
@item max-inline-insns-rtl
For languages that use the RTL inliner (this happens at a later stage
than tree inlining), you can set the maximum allowable size (counted
than tree inlining), you can set the maximum allowable size (counted
in RTL instructions) for the RTL inliner with this parameter.
The default value is 600.
@ -5644,12 +5644,12 @@ returns the pathname. If it does not exist, it returns the second argument.
This way, @code{if-exists-else} can be used to select one file or another,
based on the existence of the first. Here is a small example of its usage:
@smallexample
@smallexample
*startfile:
crt0%O%s %:if-exists(crti%O%s) \
%:if-exists-else(crtbeginT%O%s crtbegin%O%s)
@end smallexample
@end table
@end table
@item %@{@code{S}@}
Substitutes the @code{-S} switch, if that switch was given to GCC@.
@ -5724,7 +5724,7 @@ jim.d -bar -boggle
If @code{S} was given to GCC, substitutes @code{X}; else if @code{T} was
given to GCC, substitutes @code{Y}; else substitutes @code{D}. There can
be as many clauses as you need. This may be combined with @code{.},
be as many clauses as you need. This may be combined with @code{.},
@code{!}, @code{|}, and @code{*} as needed.
@ -6081,7 +6081,7 @@ when the compiler is configured for 68HC12-based systems.
@itemx -m68hcs12
@opindex m68S12
@opindex m68hcs12
Generate output for a 68HCS12.
Generate output for a 68HCS12.
@item -mauto-incdec
@opindex mauto-incdec
@ -6245,7 +6245,7 @@ the rules of the ABI@.
@option{-mimpure-text}, used in addition to @option{-shared}, tells
the compiler to not pass @option{-z text} to the linker when linking a
shared object. Using this option, you can link position-dependent
code into a shared object.
code into a shared object.
@option{-mimpure-text} suppresses the ``relocations remain against
allocatable but non-writable sections'' linker error message.
@ -7310,10 +7310,10 @@ libraries.
@item -mprioritize-restricted-insns=@var{priority}
@opindex mprioritize-restricted-insns
This option controls the priority that is assigned to
dispatch-slot restricted instructions during the second scheduling
pass. The argument @var{priority} takes the value @var{0/1/2} to assign
@var{no/highest/second-highest} priority to dispatch slot restricted
This option controls the priority that is assigned to
dispatch-slot restricted instructions during the second scheduling
pass. The argument @var{priority} takes the value @var{0/1/2} to assign
@var{no/highest/second-highest} priority to dispatch slot restricted
instructions.
@item -msched-costly-dep=@var{dependence_type}
@ -7321,12 +7321,12 @@ instructions.
This option controls which dependences are considered costly
by the target during instruction scheduling. The argument
@var{dependence_type} takes one of the following values:
@var{no}: no dependence is costly,
@var{all}: all dependences are costly,
@var{no}: no dependence is costly,
@var{all}: all dependences are costly,
@var{true_store_to_load}: a true dependence from store to load is costly,
@var{store_to_load}: any dependence from store to load is costly,
@var{number}: any dependence which latency >= @var{number} is costly.
@item -minsert-sched-nops=@var{scheme}
@opindex minsert-sched-nops
This option controls which nop insertion scheme will be used during
@ -7338,7 +7338,7 @@ according to the scheduler's grouping.
@var{regroup_exact}: Insert nops to force costly dependent insns into
separate groups. Insert exactly as many nops as needed to force an insn
to a new group, according to the estimated processor grouping.
@var{number}: Insert nops to force costly dependent insns into
@var{number}: Insert nops to force costly dependent insns into
separate groups. Insert @var{number} nops to force an insn to a new group.
@item -mcall-sysv
@ -7563,8 +7563,8 @@ These options are defined for all architectures running the Darwin operating
system. They are useful for compatibility with other Mac OS compilers.
@table @gcctabopt
@item -all_load
@opindex all_load
@item -all_load
@opindex all_load
Loads all members of static archive libraries.
See man ld(1) for more information.
@ -7578,7 +7578,7 @@ to be fatal.
Causes the output file to be marked such that the dynamic linker will
bind all undefined references when the file is loaded or launched.
@item -bundle
@item -bundle
@opindex bundle
Produce a Mach-o bundle format file.
See man ld(1) for more information.
@ -7591,63 +7591,63 @@ output file being linked. See man ld(1) for more information.
@item -allowable_client @var{client_name}
@itemx -arch_only
@itemx -client_name
@itemx -client_name
@itemx -compatibility_version
@itemx -current_version
@itemx -current_version
@itemx -dependency-file
@itemx -dylib_file
@itemx -dylib_file
@itemx -dylinker_install_name
@itemx -dynamic
@itemx -dynamiclib
@itemx -exported_symbols_list
@itemx -dynamiclib
@itemx -exported_symbols_list
@itemx -filelist
@itemx -flat_namespace
@itemx -flat_namespace
@itemx -force_cpusubtype_ALL
@itemx -force_flat_namespace
@itemx -force_flat_namespace
@itemx -headerpad_max_install_names
@itemx -image_base
@itemx -image_base
@itemx -init
@itemx -install_name
@itemx -keep_private_externs
@itemx -multi_module
@itemx -multiply_defined
@itemx -multiply_defined_unused
@itemx -noall_load
@itemx -multiply_defined
@itemx -multiply_defined_unused
@itemx -noall_load
@itemx -nofixprebinding
@itemx -nomultidefs
@itemx -noprebind
@itemx -noprebind
@itemx -noseglinkedit
@itemx -pagezero_size
@itemx -pagezero_size
@itemx -prebind
@itemx -prebind_all_twolevel_modules
@itemx -private_bundle
@itemx -read_only_relocs
@itemx -sectalign
@itemx -sectobjectsymbols
@itemx -sectalign
@itemx -sectobjectsymbols
@itemx -whyload
@itemx -seg1addr
@itemx -seg1addr
@itemx -sectcreate
@itemx -sectobjectsymbols
@itemx -sectorder
@itemx -seg_addr_table
@itemx -seg_addr_table_filename
@itemx -seglinkedit
@itemx -segprot
@itemx -segprot
@itemx -segs_read_only_addr
@itemx -segs_read_write_addr
@itemx -single_module
@itemx -single_module
@itemx -static
@itemx -sub_library
@itemx -sub_umbrella
@itemx -sub_umbrella
@itemx -twolevel_namespace
@itemx -umbrella
@itemx -undefined
@itemx -unexported_symbols_list
@itemx -weak_reference_mismatches
@itemx -whatsloaded
@itemx -whatsloaded
@opindex allowable_client
@opindex arch_only
@opindex arch_only
@opindex client_name
@opindex compatibility_version
@opindex current_version
@ -7657,35 +7657,35 @@ output file being linked. See man ld(1) for more information.
@opindex dynamic
@opindex dynamiclib
@opindex exported_symbols_list
@opindex filelist
@opindex flat_namespace
@opindex filelist
@opindex flat_namespace
@opindex force_cpusubtype_ALL
@opindex force_flat_namespace
@opindex headerpad_max_install_names
@opindex image_base
@opindex init
@opindex init
@opindex install_name
@opindex keep_private_externs
@opindex multi_module
@opindex multi_module
@opindex multiply_defined
@opindex multiply_defined_unused
@opindex noall_load
@opindex multiply_defined_unused
@opindex noall_load
@opindex nofixprebinding
@opindex nomultidefs
@opindex nomultidefs
@opindex noprebind
@opindex noseglinkedit
@opindex noseglinkedit
@opindex pagezero_size
@opindex prebind
@opindex prebind_all_twolevel_modules
@opindex private_bundle
@opindex private_bundle
@opindex read_only_relocs
@opindex sectalign
@opindex sectobjectsymbols
@opindex whyload
@opindex sectalign
@opindex sectobjectsymbols
@opindex whyload
@opindex seg1addr
@opindex sectcreate
@opindex sectobjectsymbols
@opindex sectorder
@opindex sectcreate
@opindex sectobjectsymbols
@opindex sectorder
@opindex seg_addr_table
@opindex seg_addr_table_filename
@opindex seglinkedit
@ -8213,7 +8213,7 @@ Use all SSE extensions enabled by @option{-msse2} as well as the new
SSE extensions in Prescott New Instructions. @option{-mpni} also
enables 2 builtin functions, @code{__builtin_ia32_monitor} and
@code{__builtin_ia32_mwait}, for new instructions @code{monitor} and
@code{mwait}.
@code{mwait}.
@item sse,387
Attempt to utilize both instruction sets at once. This effectively double the
@ -8292,22 +8292,22 @@ without that switch.
@itemx -m128bit-long-double
@opindex m96bit-long-double
@opindex m128bit-long-double
These switches control the size of @code{long double} type. The i386
application binary interface specifies the size to be 96 bits,
These switches control the size of @code{long double} type. The i386
application binary interface specifies the size to be 96 bits,
so @option{-m96bit-long-double} is the default in 32 bit mode.
Modern architectures (Pentium and newer) would prefer @code{long double}
to be aligned to an 8 or 16 byte boundary. In arrays or structures
conforming to the ABI, this would not be possible. So specifying a
to be aligned to an 8 or 16 byte boundary. In arrays or structures
conforming to the ABI, this would not be possible. So specifying a
@option{-m128bit-long-double} will align @code{long double}
to a 16 byte boundary by padding the @code{long double} with an additional
32 bit zero.
32 bit zero.
In the x86-64 compiler, @option{-m128bit-long-double} is the default choice as
its ABI specifies that @code{long double} is to be aligned on 16 byte boundary.
Notice that neither of these options enable any extra precision over the x87
standard of 80 bits for a @code{long double}.
standard of 80 bits for a @code{long double}.
@strong{Warning:} if you override the default value for your target ABI, the
structures and arrays containing @code{long double} will change their size as
@ -9569,7 +9569,7 @@ the compiler. This setting is the default.
@item -mno-app-regs
@opindex mno-app-regs
This option will cause r2 and r5 to be treated as fixed registers.
@item -mv850e1
@opindex mv850e1
Specify that the target processor is the V850E1. The preprocessor
@ -10116,9 +10116,9 @@ targets default to @option{-m64}.
@itemx -mesa
@opindex mzarch
@opindex mesa
When @option{-mzarch} is specified, generate code using the
instructions available on z/Architecture.
When @option{-mesa} is specified, generate code using the
When @option{-mzarch} is specified, generate code using the
instructions available on z/Architecture.
When @option{-mesa} is specified, generate code using the
instructions available on ESA/390. Note that @option{-mesa} is
not possible with @option{-m64}.
When generating code compliant to the GNU/Linux for S/390 ABI,

View File

@ -40,7 +40,7 @@ and @code{@w{unsigned int}} correspond to @code{SImode}; @code{long} and
* Integer library routines::
* Soft float library routines::
* Exception handling routines::
* Miscellaneous routines::
* Miscellaneous routines::
@end menu
@node Integer library routines

View File

@ -1256,7 +1256,7 @@ instruction is defined:
@dots{})
@end smallexample
@end ifset
GCC can only handle one commutative pair in an asm; if you use more,
GCC can only handle one commutative pair in an asm; if you use more,
the compiler may fail.
@cindex @samp{#} in constraint
@ -3429,7 +3429,7 @@ built. It is intended to handle non-trivial actions needed along
the abnormal return path.
The address of the exception handler to which the function should return
is passed as operand to this pattern. It will normally need to copied by
is passed as operand to this pattern. It will normally need to copied by
the pattern to some special register or memory location.
If the pattern needs to determine the location of the target call
frame in order to do so, it may use @code{EH_RETURN_STACKADJ_RTX},
@ -3871,7 +3871,7 @@ first operand.
@item
In combinations of @code{neg}, @code{mult}, @code{plus}, and
@code{minus}, the @code{neg} operations (if any) will be moved inside
the operations as far as possible. For instance,
the operations as far as possible. For instance,
@code{(neg (mult A B))} is canonicalized as @code{(mult (neg A) B)}, but
@code{(plus (mult (neg A) B) C)} is canonicalized as
@code{(minus A (mult B C))}.
@ -5482,13 +5482,13 @@ processors.
The task of exploiting more processor parallelism is solved by an
instruction scheduler. For a better solution to this problem, the
instruction scheduler has to have an adequate description of the
processor parallelism (or @dfn{pipeline description}). Currently GCC
processor parallelism (or @dfn{pipeline description}). Currently GCC
provides two alternative ways to describe processor parallelism,
both described below. The first method is outlined in the next section;
it was once the only method provided by GCC, and thus is used in a number
of exiting ports. The second, and preferred method, specifies functional
unit reservations for groups of instructions with the aid of @dfn{regular
expressions}. This is called the @dfn{automaton based description}.
expressions}. This is called the @dfn{automaton based description}.
The GCC instruction scheduler uses a @dfn{pipeline hazard recognizer} to
figure out the possibility of the instruction issue by the processor
@ -5657,7 +5657,7 @@ The following optional construction describes names of automata
generated and used for the pipeline hazards recognition. Sometimes
the generated finite state automaton used by the pipeline hazard
recognizer is large. If we use more than one automaton and bind functional
units to the automata, the total size of the automata is usually
units to the automata, the total size of the automata is usually
less than the size of the single automaton. If there is no one such
construction, only one finite state automaton is generated.
@ -5771,7 +5771,7 @@ expression according to the following syntax:
allof = allof "+" repeat
| repeat
repeat = element "*" number
| element
@ -6078,7 +6078,7 @@ construction
The old instruction level parallelism description and the pipeline
hazards recognizer based on it have the following drawbacks in
comparison with the @acronym{DFA}-based ones:
@itemize @bullet
@item
Each functional unit is believed to be reserved at the instruction

View File

@ -2378,7 +2378,7 @@ rest of the register receives an undefined value. Likewise, if
the mode of the register, the rest of the register can be changed in
an undefined way.
If @var{lval} is a @code{strict_low_part} or @code{zero_extract}
If @var{lval} is a @code{strict_low_part} or @code{zero_extract}
of a @code{subreg}, then the part of the register specified by the
machine mode of the @code{subreg} is given the value @var{x} and
the rest of the register is not changed.
@ -2462,7 +2462,7 @@ trouble to describe the values that are stored, but it is essential to
inform the compiler that the registers will be altered, lest it
attempt to keep data in them across the string instruction.
If @var{x} is @code{(mem:BLK (const_int 0))} or
If @var{x} is @code{(mem:BLK (const_int 0))} or
@code{(mem:BLK (scratch))}, it means that all memory
locations must be presumed clobbered. If @var{x} is a @code{parallel},
it has the same meaning as a @code{parallel} in a @code{set} expression.

View File

@ -192,8 +192,8 @@ files, kept in the top level directory, are used. FIXME: when is the
the top level one) used?
@item The file @file{config.gcc} is used to handle configuration
specific to the particular target machine. The file
@file{config.build} is used to handle configuration specific to the
specific to the particular target machine. The file
@file{config.build} is used to handle configuration specific to the
particular build machine. The file @file{config.host} is used to handle
configuration specific to the particular host machine. (In general,
these should only be used for features that cannot reasonably be tested in
@ -276,7 +276,7 @@ headers to work with GCC, some other headers may also be installed in
@file{config} to be installed on some systems.
GCC installs its own version of @code{<float.h>}, from @file{ginclude/float.h}.
This is done to cope with command-line options that change the
This is done to cope with command-line options that change the
representation of floating point numbers.
GCC also installs its own version of @code{<limits.h>}; this is generated
@ -901,13 +901,13 @@ GCC contains the following C language test suites, in the
@table @file
@item gcc.dg
This contains tests of particular features of the C compiler, using the
This contains tests of particular features of the C compiler, using the
more modern @samp{dg} harness. Correctness tests for various compiler
features should go here if possible.
Magic comments determine whether the file
is preprocessed, compiled, linked or run. In these tests, error and warning
message texts are compared against expected texts or regular expressions
Magic comments determine whether the file
is preprocessed, compiled, linked or run. In these tests, error and warning
message texts are compared against expected texts or regular expressions
given in comments. These tests are run with the options @samp{-ansi -pedantic}
unless other options are given in the test. Except as noted below they
are not run with multiple optimization options.
@ -936,7 +936,7 @@ FIXME: describe this.
This contains particular code fragments which have historically broken easily.
These tests are run with multiple optimization options, so tests for features
which only break at some optimization levels belong here. This also contains
tests to check that certain optimizations occur. It might be worthwhile to
tests to check that certain optimizations occur. It might be worthwhile to
separate the correctness tests cleanly from the code quality tests, but
it hasn't been done yet.

View File

@ -145,10 +145,10 @@ GNU C library). @xref{Standard Libraries,,Standard Libraries}.
Most of the compiler support routines used by GCC are present in
@file{libgcc}, but there are a few exceptions. GCC requires the
freestanding environment provide @code{memcpy}, @code{memmove},
@code{memset} and @code{memcmp}. Some older ports of GCC are
@code{memset} and @code{memcmp}. Some older ports of GCC are
configured to use the BSD @code{bcopy}, @code{bzero} and @code{bcmp}
functions instead, but this is deprecated for new ports.
Finally, if @code{__builtin_trap} is used, and the target does
Finally, if @code{__builtin_trap} is used, and the target does
not implement the @code{trap} pattern, then GCC will emit a call
to @code{abort}.

View File

@ -5666,23 +5666,23 @@ insns with indexes greater than given index.
@deftypefn {Target Hook} bool IS_COSTLY_DEPENDENCE (rtx @var{insn1}, rtx @var{insn2}, rtx @var{dep_link}, int @var{dep_cost}, int @var{distance})
This hook is used to define which dependences are considered costly by
the target, so costly that it is not advisable to schedule the insns that
the target, so costly that it is not advisable to schedule the insns that
are involved in the dependence too close to one another. The parameters
to this hook are as follows: The second parameter @var{insn2} is dependent
upon the first parameter @var{insn1}. The dependence between @var{insn1}
and @var{insn2} is represented by the third parameter @var{dep_link}. The
fourth parameter @var{cost} is the cost of the dependence, and the fifth
parameter @var{distance} is the distance in cycles between the two insns.
to this hook are as follows: The second parameter @var{insn2} is dependent
upon the first parameter @var{insn1}. The dependence between @var{insn1}
and @var{insn2} is represented by the third parameter @var{dep_link}. The
fourth parameter @var{cost} is the cost of the dependence, and the fifth
parameter @var{distance} is the distance in cycles between the two insns.
The hook returns @code{true} if considering the distance between the two
insns the dependence between them is considered costly by the target,
and @code{false} otherwise.
Defining this hook can be useful in multiple-issue out-of-order machines,
where (a) it's practically hopeless to predict the actual data/resource
where (a) it's practically hopeless to predict the actual data/resource
delays, however: (b) there's a better chance to predict the actual grouping
that will be formed, and (c) correctly emulating the grouping can be very
that will be formed, and (c) correctly emulating the grouping can be very
important. In such targets one may want to allow issuing dependent insns
closer to one another - i.e, closer than the dependence distance; however,
closer to one another - i.e, closer than the dependence distance; however,
not in cases of "costly dependences", which this hooks allows to define.
@end deftypefn

View File

@ -974,7 +974,7 @@ type @code{Derived<T>*}, so is obviously dependent), or using
into scope by a @code{using}-declaration.
Another, similar example involves calling member functions of a base
class:
class:
@smallexample
template <typename T> struct Base @{