From: Joseph Myers Date: Tue, 26 Jun 2001 22:47:11 +0000 (+0100) Subject: c-tree.texi, [...]: Use two spaces after ends of sentences. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=767094ddfda30cbecd8944f64395640b217446b5;p=gcc.git c-tree.texi, [...]: Use two spaces after ends of sentences. * doc/c-tree.texi, doc/cpp.texi, doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/invoke.texi, doc/objc.texi, doc/rtl.texi, doc/tm.texi: Use two spaces after ends of sentences. From-SVN: r43594 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 26bda4e49f3..cf9b60006b6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2001-06-26 Joseph S. Myers + + * doc/c-tree.texi, doc/cpp.texi, doc/extend.texi, doc/gcc.texi, + doc/install.texi, doc/invoke.texi, doc/objc.texi, doc/rtl.texi, + doc/tm.texi: Use two spaces after ends of sentences. + 2001-06-26 Daniel Berlin * toplev.c (display_help): Fix param thinko. diff --git a/gcc/doc/c-tree.texi b/gcc/doc/c-tree.texi index c87ebe04f1e..e824efaa3a9 100644 --- a/gcc/doc/c-tree.texi +++ b/gcc/doc/c-tree.texi @@ -401,7 +401,7 @@ This predicate holds for a pointer to function type. @item TYPE_PTROB_P This predicate holds for a pointer to object type. Note however that it -does not hold for the generic pointer to object type @code{void *}. You +does not hold for the generic pointer to object type @code{void *}. You may use @code{TYPE_PTROBV_P} to test for a pointer to object type as well as @code{void *}. @@ -544,7 +544,7 @@ the type of @code{m}. @item TYPENAME_TYPE Used to represent a construct of the form @code{typename T::A}. The @code{TYPE_CONTEXT} is @code{T}; the @code{TYPE_NAME} is an -@code{IDENTIFIER_NODE} for @code{A}. If the type is specified via a +@code{IDENTIFIER_NODE} for @code{A}. If the type is specified via a template-id, then @code{TYPENAME_TYPE_FULLNAME} yields a @code{TEMPLATE_ID_EXPR}. The @code{TREE_TYPE} is non-@code{NULL} if the node is implicitly generated in support for the implicit typename @@ -724,7 +724,7 @@ Almost all non-function members are available on the @code{TYPE_FIELDS} list. Given one member, the next can be found by following the @code{TREE_CHAIN}. You should not depend in any way on the order in which fields appear on this list. All nodes on this list will be -@samp{DECL} nodes. A @code{FIELD_DECL} is used to represent a non-static +@samp{DECL} nodes. A @code{FIELD_DECL} is used to represent a non-static data member, a @code{VAR_DECL} is used to represent a static data member, and a @code{TYPE_DECL} is used to represent a type. Note that the @code{CONST_DECL} for an enumeration constant will appear on this @@ -930,7 +930,7 @@ analogous to @code{TYPE_SIZE} and @code{TYPE_ALIGN}. For a declaration, you should always use the @code{DECL_SIZE} and @code{DECL_ALIGN} rather than the @code{TYPE_SIZE} and @code{TYPE_ALIGN} given by the @code{TREE_TYPE}, since special attributes may have been applied to the -variable to give it a particular size and alignment. You may use the +variable to give it a particular size and alignment. You may use the predicates @code{DECL_THIS_STATIC} or @code{DECL_THIS_EXTERN} to test whether the storage class specifiers @code{static} or @code{extern} were used to declare a variable. @@ -1640,8 +1640,8 @@ And, if an exception is thrown while the expression is executing, @code{terminate} must be called. @item USING_STMT -Used to represent a @code{using} directive. The namespace is given by -@code{USING_STMT_NAMESPACE}, which will be a NAMESPACE_DECL. This node +Used to represent a @code{using} directive. The namespace is given by +@code{USING_STMT_NAMESPACE}, which will be a NAMESPACE_DECL. This node is needed inside template functions, to implement using directives during instantiation. diff --git a/gcc/doc/cpp.texi b/gcc/doc/cpp.texi index a13a3f4a87f..26c1578dff2 100644 --- a/gcc/doc/cpp.texi +++ b/gcc/doc/cpp.texi @@ -424,7 +424,7 @@ Your program will be more portable this way, too. After the textual transformations are finished, the input file is converted into a sequence of @dfn{preprocessing tokens}. These mostly correspond to the syntactic tokens used by the C compiler, but there are -a few differences. White space separates tokens; it is not itself a +a few differences. White space separates tokens; it is not itself a token of any kind. Tokens do not have to be separated by white space, but it is often necessary to avoid ambiguities. @@ -575,7 +575,7 @@ have the same meaning. @end example @noindent -(where @samp{^@@} is ASCII NUL). Within string or character constants, +(where @samp{^@@} is ASCII NUL). Within string or character constants, NULs are preserved. In the latter two cases the preprocessor emits a warning message. @@ -1634,7 +1634,7 @@ eprintf("success!\n", ); @expansion{} fprintf(stderr, "success!\n", ); @end example -GNU CPP has a pair of extensions which deal with this problem. First, +GNU CPP has a pair of extensions which deal with this problem. First, you are allowed to leave the variable argument out entirely: @example @@ -3092,8 +3092,8 @@ compilers. They are documented in the GCC manual. @ftable @code @item #pragma GCC dependency @code{#pragma GCC dependency} allows you to check the relative dates of -the current file and another file. If the other file is more recent than -the current file, a warning is issued. This is useful if the current +the current file and another file. If the other file is more recent than +the current file, a warning is issued. This is useful if the current file is derived from the other file, and should be regenerated. The other file is searched for using the normal include search path. Optional trailing text can be used to give more information in the @@ -3502,7 +3502,7 @@ by available memory. @item Number of parameters in a macro definition and arguments in a macro call. -We allow @code{USHRT_MAX}, which is no smaller than 65,535. The minimum +We allow @code{USHRT_MAX}, which is no smaller than 65,535. The minimum required by the standard is 127. @item Number of characters on a logical source line. @@ -3559,7 +3559,7 @@ An assertion looks like this: @end example @noindent -@var{predicate} must be a single identifier. @var{answer} can be any +@var{predicate} must be a single identifier. @var{answer} can be any sequence of tokens; all characters are significant except for leading and trailing whitespace, and differences in internal whitespace sequences are ignored. (This is similar to the rules governing macro @@ -3993,7 +3993,7 @@ $(objpfx)foo.o: foo.c @item -MQ @var{target} Same as @option{-MT}, but it quotes any characters which are special to -Make. @option{@w{-MQ '$(objpfx)foo.o'}} gives +Make. @option{@w{-MQ '$(objpfx)foo.o'}} gives @example $$(objpfx)foo.o: foo.c @@ -4233,13 +4233,13 @@ source line, since the first token on the line is no longer a @samp{#}. @item -gcc Define the macros @sc{__gnuc__}, @sc{__gnuc_minor__} and -@sc{__gnuc_patchlevel__}. These are defined automatically when you use +@sc{__gnuc_patchlevel__}. These are defined automatically when you use @command{gcc -E}; you can turn them off in that case with @option{-no-gcc}. @item -traditional Try to imitate the behavior of old-fashioned C, as opposed to ISO -C@. @xref{Traditional Mode}. +C@. @xref{Traditional Mode}. @item -trigraphs Process trigraph sequences. @xref{Initial processing}. diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index 8ad1f514c9c..152d6de65fd 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -2003,7 +2003,7 @@ slightly under 32kbytes of data. Use this option on the AVR to indicate that the specified function is an signal handler. The compiler will generate function entry and exit sequences suitable for use in an signal handler when this -attribute is present. Interrupts will be disabled inside function. +attribute is present. Interrupts will be disabled inside function. @item naked @cindex function without a prologue/epilogue code @@ -2561,7 +2561,7 @@ section, consider using the facilities of the linker instead. @cindex @code{shared} variable attribute On Windows NT, in addition to putting variable definitions in a named section, the section can also be shared among all running copies of an -executable or DLL. For example, this small program defines shared data +executable or DLL. For example, this small program defines shared data by putting it in a named section @code{shared} and marking the section shareable: @@ -3602,8 +3602,8 @@ This extension is not supported by GNU C++. @cindex @code{__func__} identifier GCC predefines two magic identifiers to hold the name of the current -function. The identifier @code{__FUNCTION__} holds the name of the function -as it appears in the source. The identifier @code{__PRETTY_FUNCTION__} +function. The identifier @code{__FUNCTION__} holds the name of the function +as it appears in the source. The identifier @code{__PRETTY_FUNCTION__} holds the name of the function pretty printed in a language specific fashion. @@ -3642,10 +3642,10 @@ __PRETTY_FUNCTION__ = int a::sub (int) @end smallexample The compiler automagically replaces the identifiers with a string -literal containing the appropriate name. Thus, they are neither +literal containing the appropriate name. Thus, they are neither preprocessor macros, like @code{__FILE__} and @code{__LINE__}, nor -variables. This means that they catenate with other string literals, and -that they can be used to initialize char arrays. For example +variables. This means that they catenate with other string literals, and +that they can be used to initialize char arrays. For example @smallexample char here[] = "Function " __FUNCTION__ " in " __FILE__; @@ -3668,7 +3668,7 @@ static const char __func__[] = "function-name"; @end smallexample appeared, where function-name is the name of the lexically-enclosing -function. This name is the unadorned name of the function. +function. This name is the unadorned name of the function. @end display By this definition, @code{__func__} is a variable, not a string literal. @@ -3991,24 +3991,24 @@ works correctly. @cindex volatile write @cindex volatile access -Both the C and C++ standard have the concept of volatile objects. These -are normally accessed by pointers and used for accessing hardware. The +Both the C and C++ standard have the concept of volatile objects. These +are normally accessed by pointers and used for accessing hardware. The standards encourage compilers to refrain from optimizations concerning accesses to volatile objects that it might perform on -non-volatile objects. The C standard leaves it implementation defined -as to what constitutes a volatile access. The C++ standard omits to +non-volatile objects. The C standard leaves it implementation defined +as to what constitutes a volatile access. The C++ standard omits to specify this, except to say that C++ should behave in a similar manner -to C with respect to volatiles, where possible. The minimum either +to C with respect to volatiles, where possible. The minimum either standard specifies is that at a sequence point all previous accesses to volatile objects have stabilized and no subsequent accesses have -occurred. Thus an implementation is free to reorder and combine +occurred. Thus an implementation is free to reorder and combine volatile accesses which occur between sequence points, but cannot do so -for accesses across a sequence point. The use of volatiles does not +for accesses across a sequence point. The use of volatiles does not allow you to violate the restriction on updating objects multiple times within a sequence point. In most expressions, it is intuitively obvious what is a read and what is -a write. For instance +a write. For instance @example volatile int *dst = @var{somevalue}; @@ -4018,12 +4018,12 @@ volatile int *src = @var{someothervalue}; @noindent will cause a read of the volatile object pointed to by @var{src} and stores the -value into the volatile object pointed to by @var{dst}. There is no +value into the volatile object pointed to by @var{dst}. There is no guarantee that these reads and writes are atomic, especially for objects larger than @code{int}. Less obvious expressions are where something which looks like an access -is used in a void context. An example would be, +is used in a void context. An example would be, @example volatile int *src = @var{somevalue}; @@ -4032,15 +4032,15 @@ volatile int *src = @var{somevalue}; With C, such expressions are rvalues, and as rvalues cause a read of the object, GCC interprets this as a read of the volatile being pointed -to. The C++ standard specifies that such expressions do not undergo +to. The C++ standard specifies that such expressions do not undergo lvalue to rvalue conversion, and that the type of the dereferenced -object may be incomplete. The C++ standard does not specify explicitly +object may be incomplete. The C++ standard does not specify explicitly that it is this lvalue to rvalue conversion which is responsible for -causing an access. However, there is reason to believe that it is, -because otherwise certain simple expressions become undefined. However, +causing an access. However, there is reason to believe that it is, +because otherwise certain simple expressions become undefined. However, because it would surprise most programmers, G++ treats dereferencing a pointer to volatile object of complete type in a void context as a read -of the object. When the object has incomplete type, G++ issues a +of the object. When the object has incomplete type, G++ issues a warning. @example @@ -4053,16 +4053,16 @@ volatile T *ptr2 = @var{somevalue}; @end example In this example, a warning is issued for @code{*ptr1}, and @code{*ptr2} -causes a read of the object pointed to. If you wish to force an error on +causes a read of the object pointed to. If you wish to force an error on the first case, you must force a conversion to rvalue with, for instance a static cast, @code{static_cast(*ptr1)}. When using a reference to volatile, G++ does not treat equivalent expressions as accesses to volatiles, but instead issues a warning that -no volatile is accessed. The rationale for this is that otherwise it +no volatile is accessed. The rationale for this is that otherwise it becomes difficult to determine where volatile access occur, and not possible to ignore the return value from functions returning volatile -references. Again, if you wish to force a read, cast the reference to +references. Again, if you wish to force a read, cast the reference to an rvalue. @node Restricted Pointers @@ -4073,7 +4073,7 @@ an rvalue. As with gcc, g++ understands the C99 feature of restricted pointers, specified with the @code{__restrict__}, or @code{__restrict} type -qualifier. Because you cannot compile C++ by specifying the @option{-std=c99} +qualifier. Because you cannot compile C++ by specifying the @option{-std=c99} language flag, @code{restrict} is not a keyword in C++. In addition to allowing restricted pointers, you can specify restricted @@ -4103,14 +4103,14 @@ void T::fn () __restrict__ @noindent Within the body of @code{T::fn}, @var{this} will have the effective -definition @code{T *__restrict__ const this}. Notice that the +definition @code{T *__restrict__ const this}. Notice that the interpretation of a @code{__restrict__} member function qualifier is different to that of @code{const} or @code{volatile} qualifier, in that it -is applied to the pointer rather than the object. This is consistent with +is applied to the pointer rather than the object. This is consistent with other compilers which implement restricted pointers. As with all outermost parameter qualifiers, @code{__restrict__} is -ignored in function definition matching. This means you only need to +ignored in function definition matching. This means you only need to specify @code{__restrict__} in a function definition, rather than in a function prototype as well. @@ -4519,7 +4519,7 @@ fptr p = (fptr)(a.*fp); @end example For PMF constants (i.e. expressions of the form @samp{&Klasse::Member}), -no object is needed to obtain the address of the function. They can be +no object is needed to obtain the address of the function. They can be converted to function pointers directly: @example @@ -4609,10 +4609,10 @@ versa, but there may be bugs in this area. @section Deprecated Features In the past, the GNU C++ compiler was extended to experiment with new -features, at a time when the C++ language was still evolving. Now that +features, at a time when the C++ language was still evolving. Now that the C++ standard is complete, some of those features are superseded by -superior alternatives. Using the old features might cause a warning in -some cases that the feature will be dropped in the future. In other +superior alternatives. Using the old features might cause a warning in +some cases that the feature will be dropped in the future. In other cases, the feature might be gone already. While the list below is not exhaustive, it documents some of the options @@ -4622,16 +4622,16 @@ that are now deprecated: @item -fexternal-templates @itemx -falt-external-templates These are two of the many ways for g++ to implement template -instantiation. @xref{Template Instantiation}. The C++ standard clearly +instantiation. @xref{Template Instantiation}. The C++ standard clearly defines how template definitions have to be organized across -implementation units. g++ has an implicit instantiation mechanism that +implementation units. g++ has an implicit instantiation mechanism that should work just fine for standard-conforming code. @item -fstrict-prototype @itemx -fno-strict-prototype Previously it was possible to use an empty prototype parameter list to indicate an unspecified number of parameters (like C), rather than no -parameters, as C++ demands. This feature has been removed, except where +parameters, as C++ demands. This feature has been removed, except where it is required for backwards compatibility @xref{Backwards Compatibility}. @end table @@ -4647,11 +4647,11 @@ and will be removed from g++ at some point. @cindex ARM [Annotated C++ Reference Manual] Now that there is a definitive ISO standard C++, g++ has a specification -to adhere to. The C++ language evolved over time, and features that +to adhere to. The C++ language evolved over time, and features that used to be acceptable in previous drafts of the standard, such as the ARM -[Annotated C++ Reference Manual], are no longer accepted. In order to allow +[Annotated C++ Reference Manual], are no longer accepted. In order to allow compilation of C++ written to such drafts, g++ contains some backwards -compatibilities. @emph{All such backwards compatibility features are +compatibilities. @emph{All such backwards compatibility features are liable to disappear in future versions of g++.} They should be considered deprecated @xref{Deprecated Features}. @@ -4659,13 +4659,13 @@ deprecated @xref{Deprecated Features}. @item For scope If a variable is declared at for scope, it used to remain in scope until the end of the scope which contained the for statement (rather than just -within the for scope). g++ retains this, but issues a warning, if such a +within the for scope). g++ retains this, but issues a warning, if such a variable is accessed outside the for scope. @item implicit C language Old C system header files did not contain an @code{extern "C" @{@dots{}@}} -scope to set the language. On such systems, all header files are -implicitly scoped inside a C language scope. Also, an empty prototype +scope to set the language. On such systems, all header files are +implicitly scoped inside a C language scope. Also, an empty prototype @code{()} will be treated as an unspecified number of arguments, rather than no arguments, as C++ demands. @end table diff --git a/gcc/doc/gcc.texi b/gcc/doc/gcc.texi index 40c28e383fc..1167ab44245 100644 --- a/gcc/doc/gcc.texi +++ b/gcc/doc/gcc.texi @@ -299,8 +299,8 @@ bugs. It corresponds to GCC version 3.1. @cindex CHILL Several versions of the compiler (C, C++, Objective-C, Fortran, Java and CHILL) are integrated; this is why we use the name -``GNU Compiler Collection''. GCC can compile programs written in any of these -languages. The Fortran, CHILL, and Java compilers are described in +``GNU Compiler Collection''. GCC can compile programs written in any of these +languages. The Fortran, CHILL, and Java compilers are described in separate manuals. @cindex GCC @@ -322,7 +322,7 @@ compiler. For example, we refer to the optimization options as affecting the behavior of ``GCC'' or sometimes just ``the compiler''. Front ends for other languages, such as Ada 95 and Pascal exist but -have not yet been integrated into GCC. These front ends, like that for C++, +have not yet been integrated into GCC. These front ends, like that for C++, are built in subdirectories of GCC and link to it. The result is an integrated compiler that can compile programs written in C, C++, Objective-C, or any of the languages for which you have installed front @@ -1603,9 +1603,9 @@ charfunc (tmp.c_str ()); @subsection Implicit Copy-Assignment for Virtual Bases When a base class is virtual, only one subobject of the base class -belongs to each full object. Also, the constructors and destructors are -invoked only once, and called from the most-derived class. However, such -objects behave unspecified when being assigned. For example: +belongs to each full object. Also, the constructors and destructors are +invoked only once, and called from the most-derived class. However, such +objects behave unspecified when being assigned. For example: @example struct Base@{ @@ -1638,19 +1638,19 @@ void func(Derived &d1, Derived &d2) @end example The C++ standard specifies that @samp{Base::Base} is only called once -when constructing or copy-constructing a Derived object. It is +when constructing or copy-constructing a Derived object. It is unspecified whether @samp{Base::operator=} is called more than once when the implicit copy-assignment for Derived objects is invoked (as it is inside @samp{func} in the example). g++ implements the ``intuitive'' algorithm for copy-assignment: assign all -direct bases, then assign all members. In that algorithm, the virtual -base subobject can be encountered many times. In the example, copying +direct bases, then assign all members. In that algorithm, the virtual +base subobject can be encountered many times. In the example, copying proceeds in the following order: @samp{val}, @samp{name} (via @code{strdup}), @samp{bval}, and @samp{name} again. If application code relies on copy-assignment, a user-defined -copy-assignment operator removes any uncertainties. With such an +copy-assignment operator removes any uncertainties. With such an operator, the application can define whether and how the virtual base subobject is assigned. @@ -2181,7 +2181,7 @@ requires. If the bug is in the compiler proper (@file{cc1}), send the preprocessor output generated by adding @option{-save-temps} to the compilation command (@pxref{Debugging Options}). When you do this, use the same @option{-I}, @option{-D} or @option{-U} options that you used in -actual compilation. Then send the @var{input}.i or @var{input}.ii files +actual compilation. Then send the @var{input}.i or @var{input}.ii files generated. A single statement is not enough of an example. In order to compile it, @@ -2389,15 +2389,15 @@ we should be able to reproduce the crash ourselves. @cindex gccbug script To simplify creation of bug reports, and to allow better tracking of -reports, we use the GNATS bug tracking system. Part of that system is -the @code{gccbug} script. This is a Unix shell script, so you need a -shell to run it. It is normally installed in the same directory where +reports, we use the GNATS bug tracking system. Part of that system is +the @code{gccbug} script. This is a Unix shell script, so you need a +shell to run it. It is normally installed in the same directory where @code{gcc} is installed. The gccbug script is derived from send-pr, @pxref{using -send-pr,,Creating new Problem Reports,send-pr,Reporting Problems}. When +send-pr,,Creating new Problem Reports,send-pr,Reporting Problems}. When invoked, it starts a text editor so you can fill out the various fields -of the report. When the you quit the editor, the report is automatically +of the report. When the you quit the editor, the report is automatically send to the bug reporting address. A number of fields in this bug report form are specific to GCC, and are @@ -3139,7 +3139,7 @@ closing files, and sequencing the passes. The parsing pass is invoked only once, to parse the entire input. A high level tree representation is then generated from the input, one function at a time. This tree code is then transformed into RTL -intermediate code, and processed. The files involved in transforming +intermediate code, and processed. The files involved in transforming the trees into RTL are @file{expr.c}, @file{expmed.c}, and @file{stmt.c}. @c Note, the above files aren't strictly the only files involved. It's @@ -3342,7 +3342,7 @@ The source file of this pass is @file{sibcall.c} @opindex di The option @option{-di} causes a debugging dump of the RTL code after -this pass is run. This dump file's name is made by appending +this pass is run. This dump file's name is made by appending @samp{.sibling} to the input file name. @cindex jump optimization @@ -3405,10 +3405,10 @@ the input file name. @cindex Single Static Assignment optimizations @opindex fssa @item -Static Single Assignment (SSA) based optimization passes. The +Static Single Assignment (SSA) based optimization passes. The SSA conversion passes (to/from) are turned on by the @option{-fssa} option (it is also done automatically if you enable an SSA optimization pass). -These passes utilize a form called Static Single Assignment. In SSA form, +These passes utilize a form called Static Single Assignment. In SSA form, each variable (pseudo register) is only set once, giving you def-use and use-def chains for free, and enabling a lot more optimization passes to be run in linear time. @@ -3431,7 +3431,7 @@ is never executed. It operates in linear time. @opindex dX The option @option{-dX} causes a debugging dump of the RTL code after -this pass. This dump file's name is made by appending @samp{.dce} to +this pass. This dump file's name is made by appending @samp{.dce} to the input file name. @end itemize @cindex global common subexpression elimination @@ -3448,7 +3448,7 @@ invariants out of loops---that is left to the loop optimization pass. If MR PRE GCSE is done, code hoisting (aka unification) is also done, as well as load motion. If you are optimizing for speed, LCM (lazy code motion) based GCSE is -done. LCM is based on the work of Knoop, Ruthing, and Steffen. LCM +done. LCM is based on the work of Knoop, Ruthing, and Steffen. LCM based GCSE also does loop invariant code motion. We also perform load and store motion when optimizing for speed. Regardless of which type of GCSE is used, the GCSE pass also performs @@ -3537,7 +3537,7 @@ the input file name. @cindex register movement @item -Register movement (@file{regmove.c}). This pass looks for cases where +Register movement (@file{regmove.c}). This pass looks for cases where matching constraints would force an instruction to need a reload, and this reload would be a register to register move. It then attempts to change the registers used by the instruction to avoid the move @@ -3628,15 +3628,15 @@ to the input file name. @cindex reordering, block @item Basic block reordering. This pass implements profile guided code -positioning. If profile information is not available, various types of +positioning. If profile information is not available, various types of static analysis are performed to make the predictions normally coming from the profile feedback (IE execution frequency, branch probability, -etc). It is implemented in the file @file{bb-reorder.c}, and the +etc). It is implemented in the file @file{bb-reorder.c}, and the various prediction routines are in @file{predict.c}. @opindex dB The option @option{-dB} causes a debugging dump of the RTL code after -this pass. This dump file's name is made by appending @samp{.bbro} to +this pass. This dump file's name is made by appending @samp{.bbro} to the input file name. @cindex cross-jumping @@ -3992,8 +3992,8 @@ initialization when a compilation driver is being initialized. @item UPDATE_PATH_HOST_CANONICALIZE (@var{path}, @var{key}) If defined, a C statement (sans semicolon) that performs host-dependent canonicalization when a path used in a compilation driver or preprocessor is -canonicalized. @var{path} is the path to be canonicalized, and @var{key} is -a translation prefix when its value isn't @code{NULL}. If the C statement +canonicalized. @var{path} is the path to be canonicalized, and @var{key} is +a translation prefix when its value isn't @code{NULL}. If the C statement does canonicalize @var{path}, the new path should be returned. @end table diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi index 8acea8a8bf7..f544aca9830 100644 --- a/gcc/doc/install.texi +++ b/gcc/doc/install.texi @@ -33,7 +33,7 @@ @settitle Installing GCC: Binaries @end ifset -@comment $Id: install.texi,v 1.33 2001/06/23 23:41:59 jsm28 Exp $ +@comment $Id: install.texi,v 1.34 2001/06/25 00:21:28 jsm28 Exp $ @c Copyright (C) 2001 Free Software Foundation, Inc. @c *** Converted to texinfo by Dean Wakerley, dean@wakerley.com @@ -105,8 +105,8 @@ This document describes the generic installation procedure for GCC as well as detailing some target specific installation instructions. GCC includes several components that previously were separate distributions -with their own installation instructions. This document supersedes all -package specific installation instructions. We provide the component +with their own installation instructions. This document supersedes all +package specific installation instructions. We provide the component specific installation information in the source distribution for historical reference purposes only. @@ -147,7 +147,7 @@ The installation procedure itself is broken into five steps. @end ifnotinfo Please note that GCC does not support @samp{make uninstall} and probably -won't do so in the near future as this would open a can of worms. Instead, +won't do so in the near future as this would open a can of worms. Instead, we suggest that you install GCC into a directory of its own and simply remove that directory when you do not need that specific version of GCC any longer. @@ -193,7 +193,7 @@ are also included in the full distribution. If you choose to download specific components, you must download the core gcc distribution plus any language specific distributions you wish to use. The core distribution includes the C language front end as well as the -shared components. Each language has a tarball which includes the language +shared components. Each language has a tarball which includes the language front end as well as the language runtime (when appropriate). Unpack the core distribution as well as any language specific @@ -401,7 +401,7 @@ argument, only @option{--enable-shared} does. @item @anchor{with-gnu-as}--with-gnu-as Specify that the compiler should assume that the -assembler it finds is the GNU assembler. However, this does not modify +assembler it finds is the GNU assembler. However, this does not modify the rules to find an assembler and will result in confusion if found assembler is not actually the GNU assembler. (Confusion will also result if the compiler finds the GNU assembler but has not been @@ -434,14 +434,14 @@ Check the @file{@var{exec_prefix}/lib/gcc-lib/@var{target}/@var{version}} directory, where @var{exec_prefix} defaults to @var{prefix} which defaults to @file{/usr/local} unless overridden by the -@option{--prefix=/pathname} switch described above. @var{target} is the +@option{--prefix=/pathname} switch described above. @var{target} is the target system triple, such as @var{sparc-sun-solaris2.7}, and @var{version} denotes the GCC version, such as 2.95.2. @item Check operating system specific directories (e.g. @file{/usr/ccs/bin} on Sun Solaris). @end itemize -Note that these rules do not check for the value of @env{PATH}. You may +Note that these rules do not check for the value of @env{PATH}. You may want to use @option{--with-as} if no assembler is installed in the directories listed above, or if you have multiple assemblers installed and want to choose one that is not found by the above rules. @@ -545,7 +545,7 @@ Microsoft Win32 API thread support. Specify which cpu variant the compiler should generate code for by default. This is currently only supported on the some ports, specifically arm, powerpc, and -SPARC. If configure does not recognize the model name (e.g. arm700, +SPARC. If configure does not recognize the model name (e.g. arm700, 603e, or ultrasparc) you provide, please check the configure script for a complete list of supported models. @@ -564,10 +564,10 @@ in @file{@var{prefix}/@var{dirname}/cpp}, in addition to @var{bindir}. @item --enable-maintainer-mode The build rules that regenerate the GCC master message catalog @file{gcc.pot} are normally -disabled. This is because it can only be rebuilt if the complete source -tree is present. If you have changed the sources and want to rebuild the +disabled. This is because it can only be rebuilt if the complete source +tree is present. If you have changed the sources and want to rebuild the catalog, configuring with @option{--enable-maintainer-mode} will enable -this. Note that you need a recent version of the @code{gettext} tools +this. Note that you need a recent version of the @code{gettext} tools to do so. @item --enable-version-specific-runtime-libs @@ -578,12 +578,12 @@ addition, libstdc++'s include files will be installed in @file{@var{libsubdir}/include/g++} unless you overruled it by using @option{--with-gxx-include-dir=@var{dirname}}. Using this option is particularly useful if you intend to use several versions of GCC in -parallel. This is currently supported by @samp{libf2c} and +parallel. This is currently supported by @samp{libf2c} and @samp{libstdc++}. @item --enable-languages=@var{lang1},@var{lang2},@dots{} Specify that only a particular subset of compilers and -their runtime libraries should be built. For a list of valid values for +their runtime libraries should be built. For a list of valid values for @var{langN} you can issue the following command in the @file{gcc} directory of your GCC source tree:@* @samp{grep language= */config-lang.in}@* Currently, you can use any of the following: @@ -624,10 +624,10 @@ to look up installations paths in the registry using the following key: @end smallexample @var{KEY} defaults to GCC version number, and can be overridden by the -@option{--enable-win32-registry=@var{KEY}} option. Vendors and distributors +@option{--enable-win32-registry=@var{KEY}} option. Vendors and distributors who use custom installers are encouraged to provide a different key, perhaps one comprised of vendor name and GCC version number, to -avoid conflict with existing installations. This feature is enabled +avoid conflict with existing installations. This feature is enabled by default, and can be disabled by @option{--disable-win32-registry} option. This option has no effect on the other hosts. @@ -654,8 +654,8 @@ checks @samp{rtl} and @samp{gcac} are very expensive. @itemx --disable-nls The @option{--enable-nls} option enables Native Language Support (NLS), which lets GCC output diagnostics in languages other than American -English. Native Language Support is enabled by default if not doing a -canadian cross build. The @option{--disable-nls} option disables NLS. +English. Native Language Support is enabled by default if not doing a +canadian cross build. The @option{--disable-nls} option disables NLS. @item --with-included-gettext If NLS is enabled, the @option{--with-included-gettext} option causes the build @@ -819,7 +819,7 @@ bootstrap4} to increase the number of stages of bootstrap. If you used the flag @option{--enable-languages=@dots{}} to restrict the compilers to be built, only those you've actually enabled will be -built. This will of course only build those runtime libraries, for +built. This will of course only build those runtime libraries, for which the particular compiler has been built. Please note, that re-defining LANGUAGES when calling @samp{make bootstrap} @strong{does not} work anymore! @@ -907,7 +907,7 @@ the number of processors in your machine. to current development versions of GCC and GCC 3.0 or later. GCC 2.95.x does not come with a testsuite.} -Before you install GCC, you might wish to run the testsuite. This +Before you install GCC, you might wish to run the testsuite. This step is optional and may require you to download additional software. First, you must have @uref{download.html,,downloaded the testsuites}. @@ -959,7 +959,7 @@ compilers as well as the C++ and Java runtime libraries. As a first possibility to cut down the number of tests that are run it is possible to use @samp{make check-gcc} or @samp{make check-g++} -in the gcc subdirectory of the object directory. To further cut down the +in the gcc subdirectory of the object directory. To further cut down the tests the following is possible: @example @@ -985,9 +985,9 @@ output of @samp{make check} into a file and look at the @section How to interpret test results After the testsuite has run you'll find various @file{*.sum} and @file{*.log} -files in the testsuite subdirectories. The @file{*.log} files contain a +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 list +results, the @file{*.sum} files summarize the results. These summaries list all the tests that have been run with a corresponding status code: @itemize @bullet @@ -1016,7 +1016,7 @@ problem in future releases. @section Submitting test results If you want to report the results to the GCC project, use the -@file{contrib/test_summary} shell script. Start it in the @var{objdir} with +@file{contrib/test_summary} shell script. Start it in the @var{objdir} with @example @var{srcdir}/contrib/test_summary -p your_commentary.txt \ @@ -1024,14 +1024,14 @@ If you want to report the results to the GCC project, use the @end example This script uses the @command{Mail} program to send the results, so -make sure it is in your @env{PATH}. The file @file{your_commentary.txt} is +make sure it is in your @env{PATH}. The file @file{your_commentary.txt} is prepended to the testsuite summary and should contain any special -remarks you have on your results or your build environment. Please +remarks you have on your results or your build environment. Please do not edit the testsuite result block or the subject line, as these messages are automatically parsed and presented at the @uref{http://gcc.gnu.org/testresults/,,GCC testresults} web page. Here you can also gather information on how specific tests -behave on different platforms and compare them with your results. A +behave on different platforms and compare them with your results. A few failing testcases are possible even on released versions and you should look here first if you think your results are unreasonable. @@ -1110,7 +1110,7 @@ recent version of GCC. @cindex Binaries @cindex Installing GCC: Binaries -We are often asked about pre-compiled versions of GCC. While we cannot +We are often asked about pre-compiled versions of GCC. While we cannot provide these for all platforms, below you'll find links to binaries for various platforms where creating them by yourself is not easy due to various reasons. @@ -1172,9 +1172,9 @@ In addition to those specific offerings, you can get a binary distribution CD-ROM from the @uref{http://www.fsf.org/order/order.html,,Free Software Foundation}. It contains binaries for a number of platforms, and -includes not only GCC, but other stuff as well. The current CD does +includes not only GCC, but other stuff as well. The current CD does not contain the latest version of GCC, but it should allow -bootstrapping the compiler. An updated version of that disk is in the +bootstrapping the compiler. An updated version of that disk is in the works. @html @@ -1411,7 +1411,7 @@ MIL-STD-1750A processors. The MIL-STD-1750A cross configuration produces output for @code{as1750}, an assembler/linker available under the GNU Public -License for the 1750A. @code{as1750} can be obtained at +License for the 1750A. @code{as1750} can be obtained at @uref{ftp://ftp.fta-berlin.de/pub/crossgcc/1750gals/}. A similarly licensed simulator for the 1750A is available from same address. @@ -1902,7 +1902,7 @@ glibc 2.2.4 whether patches for GCC 3.0 are needed. You can use glibc @heading @anchor{ix86-*-linux*oldld}i?86-*-linux*oldld Use this configuration to generate @file{a.out} binaries on Linux-based GNU systems if you do not have gas/binutils version 2.5.2 or later -installed. This is an obsolete configuration. +installed. This is an obsolete configuration. @html

@@ -1910,7 +1910,7 @@ installed. This is an obsolete configuration. @end html @heading @anchor{ix86-*-linux*aout}i?86-*-linux*aout Use this configuration to generate @file{a.out} binaries on Linux-based -GNU systems. This configuration is being superseded. You must use +GNU systems. This configuration is being superseded. You must use gas/binutils version 2.5.2 or later. @html @@ -1965,7 +1965,7 @@ native compiler.} Use of the @option{-march-pentiumpro} flag can result in unrecognized opcodes when using the native assembler on OS versions before -5.0.6. (Support for P6 opcodes was added to the native ELF assembler in +5.0.6. (Support for P6 opcodes was added to the native ELF assembler in that version.) While it's rather rare to see these emitted by GCC yet, errors of the basic form: @@ -2322,11 +2322,11 @@ bootstrap. Binaries are available from the OSU-CIS archive, at
@end html @heading @anchor{m68k-bull-sysv}m68k-bull-sysv -Bull DPX/2 series 200 and 300 with BOS-2.00.45 up to BOS-2.01. GCC works -either with native assembler or GNU assembler. You can use +Bull DPX/2 series 200 and 300 with BOS-2.00.45 up to BOS-2.01. GCC works +either with native assembler or GNU assembler. You can use GNU assembler with native coff generation by providing @option{--with-gnu-as} to the configure script or use GNU assembler with dbx-in-coff encapsulation -by providing @samp{--with-gnu-as --stabs}. For any problem with native +by providing @samp{--with-gnu-as --stabs}. For any problem with native assembler or for availability of the DPX/2 port of GAS, contact @email{F.Pierresteguy@@frcl.bull.fr}. @@ -2710,7 +2710,7 @@ and use the @option{--with-gnu-as} configure option when configuring gcc. GNU as is distributed as part of the binutils package. You must use GAS on these platforms, as the native assembler can not handle -the code for exception handling support. Either of these messages indicates +the code for exception handling support. Either of these messages indicates that you are using the MIPS assembler when instead you should be using GAS: @samp{ as0: Error: ./libgcc2.c, line 1:Badly delimited numeric literal @@ -2780,10 +2780,10 @@ with O32 ABI only support by configuring it for the mips-sgi-irix5 target. See the link below for details. GCC does not correctly pass/return structures which are -smaller than 16 bytes and which are not 8 bytes. The problem is very -involved and difficult to fix. It affects a number of other targets also, +smaller than 16 bytes and which are not 8 bytes. The problem is very +involved and difficult to fix. It affects a number of other targets also, but IRIX 6 is affected the most, because it is a 64 bit target, and 4 byte -structures are common. The exact problem is that structures are being padded +structures are common. The exact problem is that structures are being padded at the wrong end, e.g. a 4 byte structure is loaded into the lower 4 bytes of the register when it should be loaded into the upper 4 bytes of the register. @@ -2791,7 +2791,7 @@ register. GCC is consistent with itself, but not consistent with the SGI C compiler (and the SGI supplied runtime libraries), so the only failures that can happen are when there are library functions that take/return such -structures. There are very few such library functions. I can only recall +structures. There are very few such library functions. I can only recall seeing two of them: inet_ntoa, and semctl. See @uref{http://freeware.sgi.com/,,http://freeware.sgi.com/} for more @@ -2860,7 +2860,7 @@ switch by using the configure option @option{--with-cpu-@var{cpu_type}}. You will need @uref{ftp://ftp.varesearch.com/pub/support/hjl/binutils,,binutils-2.9.4.0.8} -or newer for a working GCC. It is strongly recommended to recompile binutils +or newer for a working GCC. It is strongly recommended to recompile binutils if you initially built it with gcc-2.7.2.x. You can specify a default version for the @option{-mcpu=@var{cpu_type}} @@ -2955,7 +2955,7 @@ can be safely ignored; the stage 3 compiler is correct. @end html @heading @anchor{*-*-solaris*}*-*-solaris* -Starting with Solaris, Sun does not ship a C compiler any more. To +Starting with Solaris, Sun does not ship a C compiler any more. To bootstrap and install GCC you first have to install a pre-built compiler, see our @uref{binaries.html,,binaries page} for details. @@ -3026,13 +3026,13 @@ For example, the linker may hang indefinitely. The fix is to remove @file{/usr/ucb} from your @code{PATH}. All releases of GNU binutils prior to 2.11.1 have known bugs on this -platform. We recommend the use of GNU binutils 2.11.1 or the vendor +platform. We recommend the use of GNU binutils 2.11.1 or the vendor tools (Sun as, Sun ld). Unfortunately, C++ shared libraries, including libstdc++, won't work properly if assembled with Sun as: the linker will complain about relocations in read-only sections, in the definition of virtual -tables. Also, Sun as fails to process long symbols resulting from +tables. Also, Sun as fails to process long symbols resulting from mangling template-heavy C++ function names. @html diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 887817cf1ee..61d21e9152b 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -1352,7 +1352,7 @@ otherwise be invalid, or have different behavior. @item -fno-gnu-keywords @opindex fno-gnu-keywords Do not recognize @code{typeof} as a keyword, so that code can use this -word as an identifier. You can use the keyword @code{__typeof__} instead. +word as an identifier. You can use the keyword @code{__typeof__} instead. @option{-ansi} implies @option{-fno-gnu-keywords}. @item -fno-honor-std @@ -1440,7 +1440,7 @@ This information is generally only useful to the G++ development team. @opindex ftemplate-depth Set the maximum instantiation depth for template classes to @var{n}. A limit on the template instantiation depth is needed to detect -endless recursions during template class instantiation. ANSI/ISO C++ +endless recursions during template class instantiation. ANSI/ISO C++ conforming programs must not rely on a maximum depth greater than 17. @item -fuse-cxa-atexit @@ -1531,18 +1531,18 @@ you can use @samp{grep -v} to filter out those warnings. @item -Wno-deprecated (C++ only) @opindex Wno-deprecated -Do not warn about usage of deprecated features. @xref{Deprecated Features}. +Do not warn about usage of deprecated features. @xref{Deprecated Features}. @item -Wno-non-template-friend (C++ only) @opindex Wno-non-template-friend Disable warnings when non-templatized friend functions are declared -within a template. With the advent of explicit template specification +within a template. With the advent of explicit template specification support in g++, if the name of the friend is an unqualified-id (i.e., @samp{friend foo(int)}), the C++ language specification demands that the -friend declare or define an ordinary, nontemplate function. (Section -14.5.3). Before g++ implemented explicit specification, unqualified-ids +friend declare or define an ordinary, nontemplate function. (Section +14.5.3). Before g++ implemented explicit specification, unqualified-ids could be interpreted as a particular specialization of a templatized -function. Because this non-conforming behavior is no longer the default +function. Because this non-conforming behavior is no longer the default behavior for g++, @option{-Wnon-template-friend} allows the compiler to check existing code for potential trouble spots, and is on by default. This new compiler behavior can be turned off with @@ -2003,7 +2003,7 @@ Warn whenever a function is defined with a return-type that defaults to return-value in a function whose return-type is not @code{void}. For C++, a function without return type always produces a diagnostic -message, even when @option{-Wno-return-type} is specified. The only +message, even when @option{-Wno-return-type} is specified. The only exceptions are @samp{main} and functions defined in system headers. @item -Wswitch @@ -2991,16 +2991,16 @@ options, in particular with and without @option{-g}. @item -fdump-translation-unit-@var{number} (C and C++ only) @opindex fdump-translation-unit Dump a representation of the tree structure for the entire translation -unit to a file. The file name is made by appending @file{.tu} to the -source file name. If the @samp{-@var{number}} form is used, @var{number} +unit to a file. The file name is made by appending @file{.tu} to the +source file name. If the @samp{-@var{number}} form is used, @var{number} controls the details of the dump as described for the @option{-fdump-tree} options. @item -fdump-class-hierarchy (C++ only) @item -fdump-class-hierarchy-@var{number} (C++ only) @opindex fdump-class-hierarchy Dump a representation of each class's hierarchy and virtual function -table layout to a file. The file name is made by appending @file{.class} -to the source file name. If the @samp{-@var{number}} form is used, @var{number} +table layout to a file. The file name is made by appending @file{.class} +to the source file name. If the @samp{-@var{number}} form is used, @var{number} controls the details of the dump as described for the @option{-fdump-tree} options. @@ -3008,15 +3008,15 @@ options. @item -fdump-ast-@var{switch}-@var{number} (C++ only) @opindex fdump-ast Control the dumping at various stages of processing the abstract syntax -tree to a file. The file name is generated by appending a switch -specific suffix to the source file name. If the @samp{-@var{number}} form is +tree to a file. The file name is generated by appending a switch +specific suffix to the source file name. If the @samp{-@var{number}} form is used, @var{number} is a bit mask which controls the details of the -dump. The following bits are meaningful (these are not set symbolically, +dump. The following bits are meaningful (these are not set symbolically, as the primary function of these dumps is for debugging gcc itself): @table @samp @item bit0 (1) -Print the address of each node. Usually this is not meaningful as it +Print the address of each node. Usually this is not meaningful as it changes according to the environment and source file. @item bit1 (2) Inhibit dumping of members of a scope or body of a function, unless they @@ -3458,14 +3458,14 @@ This pass also performs global constant and copy propagation. @item -fgcse-lm @opindex fgcse-lm When @option{-fgcse-lm} is enabled, global common subexpression elimination will -attempt to move loads which are only killed by stores into themselves. This +attempt to move loads which are only killed by stores into themselves. This allows a loop containing a load/store sequence to be changed to a load outside the loop, and a copy/store within the loop. @item -fgcse-sm @opindex fgcse-sm When @option{-fgcse-sm} is enabled, A store motion pass is run after global common -subexpression elimination. This pass will attempt to move stores out of loops. +subexpression elimination. This pass will attempt to move stores out of loops. When used in conjunction with @option{-fgcse-lm}, loops containing a load/store sequence can be changed to a load before the loop and a store after the loop. @@ -3906,7 +3906,7 @@ file. The preprocessor outputs one @code{make} rule containing the object file name for that source file, a colon, and the names of all the included files. Unless overridden explicitly, the object file name consists of the basename of the source file with any suffix replaced with -object file suffix. If there are many included files then the +object file suffix. If there are many included files then the rule is split into several lines using @samp{\}-newline. @option{-M} implies @option{-E}. @@ -4217,7 +4217,7 @@ mechanism when this option is specified. @opindex nostdlib Do not use the standard system startup files or libraries when linking. No startup files and only the libraries you specify will be passed to -the linker. The compiler may generate calls to memcmp, memset, and memcpy +the linker. The compiler may generate calls to memcmp, memset, and memcpy for System V (and ISO C) environments or to bcopy and bzero for BSD environments. These entries are usually resolved by entries in libc. These entry points should be supplied through some other @@ -4264,10 +4264,10 @@ form an executable. Not all systems support this option. For predictable results, you must also specify the same set of options that were used to generate code (@option{-fpic}, @option{-fPIC}, or model suboptions) when you specify this option.@footnote{On some systems, @samp{gcc -shared} -needs to build supplementary stub code for constructors to work. On +needs to build supplementary stub code for constructors to work. On multi-libbed systems, @samp{gcc -shared} must select the correct support libraries to link against. Failing to supply the correct flags may lead -to subtle defects. Supplying them in cases where they are not necessary +to subtle defects. Supplying them in cases where they are not necessary is innocuous.} @item -shared-libgcc @@ -4345,7 +4345,7 @@ searched for header files. This can be used to override a system header file, substituting your own version, since these directories are searched before the system header file directories. However, you should not use this option to add directories that contain vendor-supplied -system header files (use @option{-isystem} for that). If you use more than +system header files (use @option{-isystem} for that). If you use more than one @option{-I} option, the directories are scanned in left-to-right order; the standard system directories come after. @@ -4627,7 +4627,7 @@ disposal mechanism. @item %.@var{SUFFIX} Substitutes @var{.SUFFIX} for the suffixes of a matched switch's args -when it is subsequently output with @samp{%*}. @var{SUFFIX} is +when it is subsequently output with @samp{%*}. @var{SUFFIX} is terminated by the next space or %. @item %w @@ -5093,7 +5093,7 @@ does not have code to emulate those instructions. @item -mcpu32 @opindex mcpu32 -Generate output for a CPU32. This is the default +Generate output for a CPU32. This is the default when the compiler is configured for CPU32-based systems. Use this option for microcontrollers with a @@ -5417,7 +5417,7 @@ Cypress CY7C602 chip, as used in the SparcStation/SparcServer 3xx series. This is also appropriate for the older SparcStation 1, 2, IPX etc. With @option{-msupersparc} the compiler optimizes code for the SuperSparc cpu, as -used in the SparcStation 10, 1000 and 2000 series. This flag also enables use +used in the SparcStation 10, 1000 and 2000 series. This flag also enables use of the full SPARC v8 instruction set. These options are deprecated and will be deleted in a future GCC release. @@ -6338,7 +6338,7 @@ SVr4. @end enumerate @option{-msvr4} is the default for the m88k-motorola-sysv4 and -m88k-dg-dgux m88k configurations. @option{-msvr3} is the default for all +m88k-dg-dgux m88k configurations. @option{-msvr3} is the default for all other m88k configurations. @item -mversion-03.00 @@ -7379,7 +7379,7 @@ in ordinary CPU registers instead. @opindex mno-fancy-math-387 Some 387 emulators do not support the @code{sin}, @code{cos} and @code{sqrt} instructions for the 387. Specify this option to avoid -generating those instructions. This option is the default on FreeBSD. +generating those instructions. This option is the default on FreeBSD. As of revision 2.6.1, these instructions are not generated unless you also use the @option{-funsafe-math-optimizations} switch. @@ -7497,37 +7497,37 @@ may want to reduce the preferred alignment to @item -mpush-args @opindex mpush-args -Use PUSH operations to store outgoing parameters. This method is shorter +Use PUSH operations to store outgoing parameters. This method is shorter and usually equally fast as method using SUB/MOV operations and is enabled -by default. In some cases disabling it may improve performance because of +by default. In some cases disabling it may improve performance because of improved scheduling and reduced dependencies. @item -maccumulate-outgoing-args @opindex maccumulate-outgoing-args If enabled, the maximum amount of space required for outgoing arguments will be -computed in the function prologue. This in faster on most modern CPUs +computed in the function prologue. This in faster on most modern CPUs because of reduced dependencies, improved scheduling and reduced stack usage when preferred stack boundary is not equal to 2. The drawback is a notable -increase in code size. This switch implies @option{-mno-push-args}. +increase in code size. This switch implies @option{-mno-push-args}. @item -mthreads @opindex mthreads -Support thread-safe exception handling on @samp{Mingw32}. Code that relies +Support thread-safe exception handling on @samp{Mingw32}. Code that relies on thread-safe exception handling must compile and link all code with the -@option{-mthreads} option. When compiling, @option{-mthreads} defines +@option{-mthreads} option. When compiling, @option{-mthreads} defines @option{-D_MT}; when linking, it links in a special thread helper library @option{-lmingwthrd} which cleans up per thread exception handling data. @item -mno-align-stringops @opindex mno-align-stringops -Do not align destination of inlined string operations. This switch reduces +Do not align destination of inlined string operations. This switch reduces code size and improves performance in case the destination is already aligned, but gcc don't know about it. @item -minline-all-stringops @opindex minline-all-stringops By default GCC inlines string operations only when destination is known to be -aligned at least to 4 byte boundary. This enables more inlining, increase code +aligned at least to 4 byte boundary. This enables more inlining, increase code size, but may improve performance of code that depends on fast memcpy, strlen and memset for short lengths. @@ -8043,7 +8043,7 @@ These @samp{-m} options are defined for the Clipper implementations: @table @gcctabopt @item -mc300 @opindex mc300 -Produce code for a C300 Clipper processor. This is the default. +Produce code for a C300 Clipper processor. This is the default. @item -mc400 @opindex mc400 @@ -8531,14 +8531,14 @@ This is the default for all systems. @item -m32381 @opindex m32381 Generate output containing 32381 instructions for floating point. This -also implies @option{-m32081}. The 32381 is only compatible with the 32332 -and 32532 cpus. This is the default for the pc532-netbsd configuration. +also implies @option{-m32081}. The 32381 is only compatible with the 32332 +and 32532 cpus. This is the default for the pc532-netbsd configuration. @item -mmulti-add @opindex mmulti-add Try and generate multiply-add floating point instructions @code{polyF} -and @code{dotF}. This option is only available if the @option{-m32381} -option is in effect. Using these instructions requires changes to to +and @code{dotF}. This option is only available if the @option{-m32381} +option is in effect. Using these instructions requires changes to to register allocation which generally has a negative impact on performance. This option should only be enabled when compiling code particularly likely to make heavy use of multiply-add instructions. @@ -8546,7 +8546,7 @@ particularly likely to make heavy use of multiply-add instructions. @item -mnomulti-add @opindex mnomulti-add Do not try and generate multiply-add floating point instructions -@code{polyF} and @code{dotF}. This is the default on all platforms. +@code{polyF} and @code{dotF}. This is the default on all platforms. @item -msoft-float @opindex msoft-float @@ -8555,12 +8555,12 @@ Generate output containing library calls for floating point. @item -mnobitfield @opindex mnobitfield -Do not use the bit-field instructions. On some machines it is faster to -use shifting and masking operations. This is the default for the pc532. +Do not use the bit-field instructions. On some machines it is faster to +use shifting and masking operations. This is the default for the pc532. @item -mbitfield @opindex mbitfield -Do use the bit-field instructions. This is the default for all platforms +Do use the bit-field instructions. This is the default for all platforms except the pc532. @item -mrtd @@ -8596,19 +8596,19 @@ compiled with the Unix compiler. @item -mnoregparam @opindex mnoregparam -Do not pass any arguments in registers. This is the default for all +Do not pass any arguments in registers. This is the default for all targets. @item -msb @opindex msb It is OK to use the sb as an index register which is always loaded with -zero. This is the default for the pc532-netbsd target. +zero. This is the default for the pc532-netbsd target. @item -mnosb @opindex mnosb The sb register is not available for use or has not been initialized to -zero by the run time system. This is the default for all targets except -the pc532-netbsd. It is also implied whenever @option{-mhimem} or +zero by the run time system. This is the default for all targets except +the pc532-netbsd. It is also implied whenever @option{-mhimem} or @option{-fpic} is set. @item -mhimem @@ -8672,7 +8672,7 @@ Code size will be smaller. @item -mcall-prologues @opindex mcall-prologues Functions prologues/epilogues expanded as call to appropriate -subroutines. Code size will be smaller. +subroutines. Code size will be smaller. @item -mno-tablejump @opindex mno-tablejump @@ -8924,7 +8924,7 @@ it. @table @gcctabopt @item -fexceptions @opindex fexceptions -Enable exception handling. Generates extra code needed to propagate +Enable exception handling. Generates extra code needed to propagate exceptions. For some targets, this implies GCC will generate frame unwind information for all functions, which can produce significant data size overhead, although it does not affect execution. If you do not @@ -9311,7 +9311,7 @@ option, and that not all targets provide complete support for it. This section describes several environment variables that affect how GCC operates. Some of them work by specifying directories or prefixes to use -when searching for various kinds of files. Some are used to specify other +when searching for various kinds of files. Some are used to specify other aspects of the compilation environment. @ifclear INTERNALS @@ -9459,7 +9459,7 @@ file @var{file} using @var{target} as the target name. @item LANG @findex LANG @cindex locale definition -This variable is used to pass locale information to the compiler. One way in +This variable is used to pass locale information to the compiler. One way in which this information is used is to determine the character set to be used when character literals, string literals and comments are parsed in C and C++. When the compiler is configured to allow multibyte characters, diff --git a/gcc/doc/objc.texi b/gcc/doc/objc.texi index 2c26b0ea20f..f23e3d0b12a 100644 --- a/gcc/doc/objc.texi +++ b/gcc/doc/objc.texi @@ -9,7 +9,7 @@ @chapter GNU Objective-C runtime features This document is meant to describe some of the GNU Objective-C runtime -features. It is not intended to teach you Objective-C, there are several +features. It is not intended to teach you Objective-C, there are several resources on the Internet that present the language. Questions and comments about this document to Ovidiu Predescu @email{ovidiu@@cup.hp.com}. @@ -28,12 +28,12 @@ comments about this document to Ovidiu Predescu The GNU Objective-C runtime provides a way that allows you to execute code before the execution of the program enters the @code{main} -function. The code is executed on a per-class and a per-category basis, +function. The code is executed on a per-class and a per-category basis, through a special class method @code{+load}. This facility is very useful if you want to initialize global variables which can be accessed by the program directly, without sending a message -to the class first. The usual way to initialize global variables, in the +to the class first. The usual way to initialize global variables, in the @code{+initialize} method, might not be useful because @code{+initialize} is only called when the first message is sent to a class object, which in some cases could be too late. @@ -63,12 +63,12 @@ FileStream *Stderr = nil; @end example In this example, the initialization of @code{Stdin}, @code{Stdout} and -@code{Stderr} in @code{+initialize} occurs too late. The programmer can +@code{Stderr} in @code{+initialize} occurs too late. The programmer can send a message to one of these objects before the variables are actually -initialized, thus sending messages to the @code{nil} object. The +initialized, thus sending messages to the @code{nil} object. The @code{+initialize} method which actually initializes the global variables is not invoked until the first message is sent to the class -object. The solution would require these variables to be initialized +object. The solution would require these variables to be initialized just before entering @code{main}. The correct solution of the above problem is to use the @code{+load} @@ -90,7 +90,7 @@ method instead of @code{+initialize}: @end example -The @code{+load} is a method that is not overridden by categories. If a +The @code{+load} is a method that is not overridden by categories. If a class and a category of it both implement @code{+load}, both methods are invoked. This allows some additional initializations to be performed in a category. @@ -147,23 +147,23 @@ category implemented in the same file; @end itemize You should make no assumptions about receiving @code{+load} in sibling -classes when you write @code{+load} of a class. The order in which +classes when you write @code{+load} of a class. The order in which sibling classes receive @code{+load} is not guaranteed. The order in which @code{+load} and @code{+initialize} are called could -be problematic if this matters. If you don't allocate objects inside +be problematic if this matters. If you don't allocate objects inside @code{+load}, it is guaranteed that @code{+load} is called before -@code{+initialize}. If you create an object inside @code{+load} the +@code{+initialize}. If you create an object inside @code{+load} the @code{+initialize} method of object's class is invoked even if -@code{+load} was not invoked. Note if you explicitly call @code{+load} -on a class, @code{+initialize} will be called first. To avoid possible +@code{+load} was not invoked. Note if you explicitly call @code{+load} +on a class, @code{+initialize} will be called first. To avoid possible problems try to implement only one of these methods. The @code{+load} method is also invoked when a bundle is dynamically -loaded into your running program. This happens automatically without any -intervening operation from you. When you write bundles and you need to +loaded into your running program. This happens automatically without any +intervening operation from you. When you write bundles and you need to write @code{+load} you can safely create and send messages to objects whose -classes already exist in the running program. The same restrictions as +classes already exist in the running program. The same restrictions as above apply to classes defined in bundle. @@ -172,7 +172,7 @@ above apply to classes defined in bundle. @section Type encoding The Objective-C compiler generates type encodings for all the -types. These type encodings are used at runtime to find out information +types. These type encodings are used at runtime to find out information about selectors and methods and about objects and classes. The types are encoded in the following way: @@ -224,12 +224,12 @@ The types are encoded in the following way: The encoding of bit-fields has changed to allow bit-fields to be properly handled by the runtime functions that compute sizes and alignments of -types that contain bit-fields. The previous encoding contained only the -size of the bit-field. Using only this information it is not possible to -reliably compute the size occupied by the bit-field. This is very +types that contain bit-fields. The previous encoding contained only the +size of the bit-field. Using only this information it is not possible to +reliably compute the size occupied by the bit-field. This is very important in the presence of the Boehm's garbage collector because the objects are allocated using the typed memory facility available in this -collector. The typed memory allocation requires information about where +collector. The typed memory allocation requires information about where the pointers are located inside the object. The position in the bit-field is the position, counting in bits, of the @@ -279,7 +279,7 @@ struct @{ @sp 1 In addition to the types the compiler also encodes the type -specifiers. The table below describes the encoding of the current +specifiers. The table below describes the encoding of the current Objective-C type specifiers: @sp 1 @@ -303,7 +303,7 @@ Objective-C type specifiers: @sp 1 -The type specifiers are encoded just before the type. Unlike types +The type specifiers are encoded just before the type. Unlike types however, the type specifiers are only encoded when they appear in method argument types. @@ -313,34 +313,34 @@ argument types. Support for a new memory management policy has been added by using a powerful conservative garbage collector, known as the -Boehm-Demers-Weiser conservative garbage collector. It is available from +Boehm-Demers-Weiser conservative garbage collector. It is available from @w{@uref{http://www.hpl.hp.com/personal/Hans_Boehm/gc/}}. To enable the support for it you have to configure the compiler using an -additional argument, @w{@option{--enable-objc-gc}}. You need to have -garbage collector installed before building the compiler. This will +additional argument, @w{@option{--enable-objc-gc}}. You need to have +garbage collector installed before building the compiler. This will build an additional runtime library which has several enhancements to -support the garbage collector. The new library has a new name, +support the garbage collector. The new library has a new name, @file{libobjc_gc.a} to not conflict with the non-garbage-collected library. When the garbage collector is used, the objects are allocated using the so-called typed memory allocation mechanism available in the -Boehm-Demers-Weiser collector. This mode requires precise information on -where pointers are located inside objects. This information is computed +Boehm-Demers-Weiser collector. This mode requires precise information on +where pointers are located inside objects. This information is computed once per class, immediately after the class has been initialized. There is a new runtime function @code{class_ivar_set_gcinvisible()} which can be used to declare a so-called @dfn{weak pointer} -reference. Such a pointer is basically hidden for the garbage collector; +reference. Such a pointer is basically hidden for the garbage collector; this can be useful in certain situations, especially when you want to keep track of the allocated objects, yet allow them to be -collected. This kind of pointers can only be members of objects, you -cannot declare a global pointer as a weak reference. Every type which is +collected. This kind of pointers can only be members of objects, you +cannot declare a global pointer as a weak reference. Every type which is a pointer type can be declared a weak pointer, including @code{id}, @code{Class} and @code{SEL}. -Here is an example of how to use this feature. Suppose you want to +Here is an example of how to use this feature. Suppose you want to implement a class whose instances hold a weak pointer reference; the following class does this: @@ -379,7 +379,7 @@ following class does this: @end example Weak pointers are supported through a new type character specifier -represented by the @samp{!} character. The +represented by the @samp{!} character. The @code{class_ivar_set_gcinvisible()} function adds or removes this specifier to the string type description of the instance variable named as argument. @@ -389,7 +389,7 @@ as argument. @section Constant string objects GNU Objective-C provides constant string objects that are generated -directly by the compiler. You declare a constant string object by +directly by the compiler. You declare a constant string object by prefixing a C constant string with the character @samp{@@}: @example @@ -398,11 +398,11 @@ prefixing a C constant string with the character @samp{@@}: The constant string objects are usually instances of the @code{NXConstantString} class which is provided by the GNU Objective-C -runtime. To get the definition of this class you must include the +runtime. To get the definition of this class you must include the @file{objc/NXConstStr.h} header file. User defined libraries may want to implement their own constant string -class. To be able to support them, the GNU Objective-C compiler provides +class. To be able to support them, the GNU Objective-C compiler provides a new command line options @option{-fconstant-string-class=@var{class-name}}. The provided class should adhere to a strict structure, the same as @code{NXConstantString}'s structure: @@ -419,12 +419,12 @@ as @code{NXConstantString}'s structure: @end example User class libraries may choose to inherit the customized constant -string class from a different class than @code{Object}. There is no +string class from a different class than @code{Object}. There is no requirement in the methods the constant string class has to implement. When a file is compiled with the @option{-fconstant-string-class} option, all the constant string objects will be instances of the class specified -as argument to this option. It is possible to have multiple compilation +as argument to this option. It is possible to have multiple compilation units referring to different constant string classes, neither the compiler nor the linker impose any restrictions in doing this. diff --git a/gcc/doc/rtl.texi b/gcc/doc/rtl.texi index 50324fc9bf3..81af0157bfb 100644 --- a/gcc/doc/rtl.texi +++ b/gcc/doc/rtl.texi @@ -160,7 +160,7 @@ An RTX code for other three input operations. Currently only @item i An RTX code for an entire instruction: @code{INSN}, @code{JUMP_INSN}, and -@code{CALL_INSN}. @xref{Insns}. +@code{CALL_INSN}. @xref{Insns}. @item m An RTX code for something that matches in insns, such as @@ -1345,8 +1345,8 @@ by incrementing it, but there is no need to mention this in the RTL. @item (mem:@var{m} @var{addr} @var{alias}) This RTX represents a reference to main memory at an address represented by the expression @var{addr}. @var{m} specifies how large -a unit of memory is accessed. @var{alias} specifies an alias set for the -reference. In general two items are in different alias sets if they cannot +a unit of memory is accessed. @var{alias} specifies an alias set for the +reference. In general two items are in different alias sets if they cannot reference the same memory address. @findex addressof @@ -1432,7 +1432,7 @@ However, they can pretend to do so when only the sign of the result will be used, which is the case when the result is stored in the condition code. And that is the @emph{only} way this kind of expression may validly be used: as a value to be stored in the condition codes, either -@code{(cc0)} or a register. @xref{Comparisons}. +@code{(cc0)} or a register. @xref{Comparisons}. The mode @var{m} is not related to the modes of @var{x} and @var{y}, but instead is the mode of the condition code value. If @code{(cc0)} is diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index 24eed3aefec..880b505e797 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -1909,7 +1909,7 @@ The byte offset. The mode of a top level SUBREG (or what may become one). @end table The default function can be found in rtlanal.c, function -@code{subreg_regno_offset}. Normally this does not need to be defined. +@code{subreg_regno_offset}. Normally this does not need to be defined. @end table @node Leaf Functions @@ -3008,7 +3008,7 @@ header files, it defaults to 0. @findex PUSH_ARGS @item PUSH_ARGS -A C expression. If nonzero, push insns will be used to pass +A C expression. If nonzero, push insns will be used to pass outgoing arguments. If the target machine does not have a push instruction, set it to zero. That directs GCC to use an alternate strategy: to @@ -3039,7 +3039,7 @@ alignment. Then the definition should be @findex ACCUMULATE_OUTGOING_ARGS @findex current_function_outgoing_args_size @item ACCUMULATE_OUTGOING_ARGS -A C expression. If nonzero, the maximum amount of space required for outgoing arguments +A C expression. If nonzero, the maximum amount of space required for outgoing arguments will be computed and placed into the variable @code{current_function_outgoing_args_size}. No space will be pushed onto the stack for each call; instead, the function prologue should @@ -4179,7 +4179,7 @@ values accessed by @code{__builtin_args_info}. @item __builtin_next_arg (@var{lastarg}) This is the equivalent of @code{__builtin_args_info}, for stack arguments. It returns the address of the first anonymous stack -argument, as type @code{void *}. If @code{ARGS_GROW_DOWNWARD}, it +argument, as type @code{void *}. If @code{ARGS_GROW_DOWNWARD}, it returns the address of the location above the first anonymous stack argument. Use it in @code{va_start} to initialize the pointer for fetching arguments from the stack. Also use it in @code{va_start} to @@ -4523,7 +4523,7 @@ not define this macro, the default name is used, which is @findex INIT_TARGET_OPTABS @item INIT_TARGET_OPTABS Define this macro as a C statement that declares additional library -routines renames existing ones. @code{init_optabs} calls this macro after +routines renames existing ones. @code{init_optabs} calls this macro after initializing all the normal library routines. @findex FLOAT_LIB_COMPARE_RETURNS_BOOL (@var{mode}, @var{comparison}) @@ -5406,7 +5406,7 @@ If defined, a C statement that calls the function named as the sole argument of this macro. This is used in @file{crtstuff.c} if @code{INIT_SECTION_ASM_OP} or @code{FINI_SECTION_ASM_OP} to calls to initialization and finalization functions from the init and fini -sections. By default, this macro is a simple function call. Some +sections. By default, this macro is a simple function call. Some ports need hand-crafted assembly code to avoid dependencies on registers initialized in the function prologue or to ensure that constant pools don't end up too far way in the text section. @@ -8585,7 +8585,7 @@ Expand a call to a machine specific built-in function that was set up by @samp{MD_INIT_BUILTINS}. @var{exp} is the expression for the function call; the result should go to @var{target} if that is convenient, and have mode @var{mode} if that is convenient. @var{subtarget} may be used as the target -for computing one of @var{exp}'s operands. @var{ignore} is nonzero if the value +for computing one of @var{exp}'s operands. @var{ignore} is nonzero if the value is to be ignored. This macro should return the result of the call to the built-in function.