From: jsm28 Date: Sun, 18 Jan 2004 11:57:17 +0000 (+0000) Subject: * doc/c-tree.texi, doc/cpp.texi, doc/extend.texi, X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=commitdiff_plain;h=7a0ad664fcc900952a98c2a8520a76299e8fa481 * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76098 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 61d11d5323e..45b335fc0a5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2004-01-18 Joseph S. Myers + + * 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 PR target/7618 diff --git a/gcc/doc/c-tree.texi b/gcc/doc/c-tree.texi index 8a72b920da8..d1afe655c76 100644 --- a/gcc/doc/c-tree.texi +++ b/gcc/doc/c-tree.texi @@ -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 diff --git a/gcc/doc/cpp.texi b/gcc/doc/cpp.texi index 89e30660b45..5d1cb9b3029 100644 --- a/gcc/doc/cpp.texi +++ b/gcc/doc/cpp.texi @@ -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 diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index e33d604da99..9b03c77e94f 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -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 diff --git a/gcc/doc/frontends.texi b/gcc/doc/frontends.texi index 1ee56856df3..cb6987e49da 100644 --- a/gcc/doc/frontends.texi +++ b/gcc/doc/frontends.texi @@ -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 diff --git a/gcc/doc/gcov.texi b/gcc/doc/gcov.texi index 8f0a23cae5d..b219c0f18b9 100644 --- a/gcc/doc/gcov.texi +++ b/gcc/doc/gcov.texi @@ -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% diff --git a/gcc/doc/gty.texi b/gcc/doc/gty.texi index 56ce597f8dc..4dddc670c30 100644 --- a/gcc/doc/gty.texi +++ b/gcc/doc/gty.texi @@ -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. diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi index dd2947044f9..6dae9c90bd8 100644 --- a/gcc/doc/install.texi +++ b/gcc/doc/install.texi @@ -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
@@ -3234,7 +3234,7 @@ zSeries system (64-bit) running GNU/Linux for zSeries@.
@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
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 5c0080561a0..e115cf34cb4 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -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, diff --git a/gcc/doc/libgcc.texi b/gcc/doc/libgcc.texi index 7c4e13a8321..41e214e1612 100644 --- a/gcc/doc/libgcc.texi +++ b/gcc/doc/libgcc.texi @@ -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 diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi index cf690ec3fcd..a77e8caf183 100644 --- a/gcc/doc/md.texi +++ b/gcc/doc/md.texi @@ -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 diff --git a/gcc/doc/rtl.texi b/gcc/doc/rtl.texi index f84dfadea35..6fcce634f81 100644 --- a/gcc/doc/rtl.texi +++ b/gcc/doc/rtl.texi @@ -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. diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi index 5026de78745..4e913fe97e5 100644 --- a/gcc/doc/sourcebuild.texi +++ b/gcc/doc/sourcebuild.texi @@ -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{}, 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{}; 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. diff --git a/gcc/doc/standards.texi b/gcc/doc/standards.texi index 098c925f751..9fba4b079c4 100644 --- a/gcc/doc/standards.texi +++ b/gcc/doc/standards.texi @@ -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}. diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index 76a7b7eae54..fd2b3705561 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -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 diff --git a/gcc/doc/trouble.texi b/gcc/doc/trouble.texi index 524944c53e7..5ee77635f25 100644 --- a/gcc/doc/trouble.texi +++ b/gcc/doc/trouble.texi @@ -974,7 +974,7 @@ type @code{Derived*}, 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 struct Base @{