c-tree.texi, [...]: Be more consistent about the use of "GCC" and related terms.

* doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
	doc/gcc.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
	doc/md.texi, doc/rtl.texi, doc/tm.texi: Be more consistent about
	the use of "GCC" and related terms.
	* doc/gcc.1, doc/gcov.1: Regenerate.

From-SVN: r43547
This commit is contained in:
Joseph Myers 2001-06-25 01:21:28 +01:00 committed by Joseph Myers
parent bd819a4aba
commit f0523f020a
13 changed files with 196 additions and 180 deletions

View File

@ -1,3 +1,11 @@
2001-06-25 Joseph S. Myers <jsm28@cam.ac.uk>
* doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
doc/gcc.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
doc/md.texi, doc/rtl.texi, doc/tm.texi: Be more consistent about
the use of "GCC" and related terms.
* doc/gcc.1, doc/gcov.1: Regenerate.
2001-06-24 Joseph S. Myers <jsm28@cam.ac.uk>
* doc/extend.texi, doc/gcc.texi, doc/install-old.texi,

View File

@ -88,7 +88,7 @@ return trees as output. However, most macros require a certain kinds of
tree node as input. In other words, there is a type-system for trees,
but it is not reflected in the C type-system.
For safety, it is useful to configure G++ with @option{--enable-checking}.
For safety, it is useful to configure GCC with @option{--enable-checking}.
Although this results in a significant performance penalty (since all
tree types are checked at run-time), and is therefore inappropriate in a
release version, it is extremely helpful during the development process.

View File

@ -112,7 +112,7 @@ ongoing work with the RS6000/PowerPC port, and help cleaning up Haifa
loop changes.
@item
Paul Eggert for random hacking all over gcc.
Paul Eggert for random hacking all over GCC.
@item
Mark Elbrecht for various DJGPP improvements.

View File

@ -9,10 +9,10 @@
@opindex pedantic
GNU C provides several language features not found in ISO standard C.
(The @option{-pedantic} option directs GNU CC to print a warning message if
(The @option{-pedantic} option directs GCC to print a warning message if
any of these features is used.) To test for the availability of these
features in conditional compilation, check for a predefined macro
@code{__GNUC__}, which is always defined under GNU CC.
@code{__GNUC__}, which is always defined under GCC.
These extensions are available in C and Objective-C. Most of them are
also available in C++. @xref{C++ Extensions,,Extensions to the
@ -427,7 +427,7 @@ but it's not wise to take the risk. If, however, the nested function
does not refer to anything that has gone out of scope, you should be
safe.
GNU CC implements taking the address of a nested function using a
GCC implements taking the address of a nested function using a
technique called @dfn{trampolines}. A paper describing them is
available as @uref{http://people.debian.org/~karlheg/Usenix88-lexic.pdf}.
@ -803,7 +803,7 @@ are open-coded on all types of machines. Multiplication is open-coded
if the machine supports fullword-to-doubleword a widening multiply
instruction. Division and shifts are open-coded only on machines that
provide special support. The operations that are not open-coded use
special library routines that come with GNU CC.
special library routines that come with GCC.
There may be pitfalls when you use @code{long long} types for function
arguments, unless you declare function prototypes. If a function
@ -859,11 +859,11 @@ floating type, you should use the ISO C99 functions @code{conjf},
@code{conj} and @code{conjl}, declared in @code{<complex.h>} and also
provided as built-in functions by GCC.
GNU CC can allocate complex automatic variables in a noncontiguous
GCC can allocate complex automatic variables in a noncontiguous
fashion; it's even possible for the real part to be in a register while
the imaginary part is on the stack (or vice-versa). None of the
supported debugging info formats has a way to represent noncontiguous
allocation like this, so GNU CC describes a noncontiguous complex
allocation like this, so GCC describes a noncontiguous complex
variable as if it were two separate variables of noncomplex type.
If the variable's actual name is @code{foo}, the two fictitious
variables are named @code{foo$real} and @code{foo$imag}. You can
@ -1574,7 +1574,7 @@ attributes.
@cindex @code{noreturn} function attribute
@item noreturn
A few standard library functions, such as @code{abort} and @code{exit},
cannot return. GNU CC knows this automatically. Some programs define
cannot return. GCC knows this automatically. Some programs define
their own functions that never return. You can declare them
@code{noreturn} to tell the compiler this fact. For example,
@ -1601,7 +1601,7 @@ restored before calling the @code{noreturn} function.
It does not make sense for a @code{noreturn} function to have a return
type other than @code{void}.
The attribute @code{noreturn} is not implemented in GNU C versions
The attribute @code{noreturn} is not implemented in GCC versions
earlier than 2.5. An alternative way to declare that a function does
not return, which works in the current version and in some older
versions, is as follows:
@ -1634,7 +1634,7 @@ Interesting non-pure functions are functions with infinite loops or those
depending on volatile memory or other system resource, that may change between
two consecutive calls (such as @code{feof} in a multithreading environment).
The attribute @code{pure} is not implemented in GNU C versions earlier
The attribute @code{pure} is not implemented in GCC versions earlier
than 2.96.
@cindex @code{const} function attribute
@item const
@ -1650,7 +1650,7 @@ function that calls a non-@code{const} function usually must not be
@code{const}. It does not make sense for a @code{const} function to
return @code{void}.
The attribute @code{const} is not implemented in GNU C versions earlier
The attribute @code{const} is not implemented in GCC versions earlier
than 2.5. An alternative way to declare that a function has no side
effects, which works in the current version and in some older versions,
is as follows:
@ -1703,7 +1703,7 @@ attribute are 2 and 3.
@opindex ffreestanding
The @code{format} attribute allows you to identify your own functions
which take format strings as arguments, so that GNU CC can check the
which take format strings as arguments, so that GCC can check the
calls to these functions for errors. The compiler always (unless
@option{-ffreestanding} is used) checks formats
for the standard library functions @code{printf}, @code{fprintf},
@ -1749,7 +1749,7 @@ The parameter @var{string-index} specifies which argument is the format
string argument (starting from 1).
The @code{format-arg} attribute allows you to identify your own
functions which modify format strings, so that GNU CC can check the
functions which modify format strings, so that GCC can check the
calls to @code{printf}, @code{scanf}, @code{strftime} or @code{strfmon}
type function whose operands are a call to one of your own function.
The compiler always treats @code{gettext}, @code{dgettext}, and
@ -1801,7 +1801,7 @@ These attributes are not currently implemented for Objective-C.
@item unused
This attribute, attached to a function, means that the function is meant
to be possibly unused. GNU CC will not produce a warning for this
to be possibly unused. GCC will not produce a warning for this
function. GNU C++ does not currently support this attribute as
definitions without parameters are valid in C++.
@ -1839,14 +1839,14 @@ Not all target machines support this attribute.
@item no_check_memory_usage
@cindex @code{no_check_memory_usage} function attribute
@opindex fcheck-memory-usage
The @code{no_check_memory_usage} attribute causes GNU CC to omit checks
The @code{no_check_memory_usage} attribute causes GCC to omit checks
of memory references when it generates code for that function. Normally
if you specify @option{-fcheck-memory-usage} (see @pxref{Code Gen
Options}), GNU CC generates calls to support routines before most memory
Options}), GCC generates calls to support routines before most memory
accesses to permit support code to record usage and detect uses of
uninitialized or unallocated storage. Since GNU CC cannot handle
uninitialized or unallocated storage. Since GCC cannot handle
@code{asm} statements properly they are not allowed in such functions.
If you declare a function with this attribute, GNU CC will not generate
If you declare a function with this attribute, GCC will not generate
memory checking code for that function, permitting the use of @code{asm}
statements without having to compile that function with different
options. This also allows you to write support routines of your own if
@ -2482,9 +2482,9 @@ or @samp{__pointer__} for the mode used to represent pointers.
@item nocommon
@cindex @code{nocommon} attribute
@opindex fno-common
This attribute specifies requests GNU CC not to place a variable
This attribute specifies requests GCC not to place a variable
``common'' but instead to allocate space for it directly. If you
specify the @option{-fno-common} flag, GNU CC will do this for all
specify the @option{-fno-common} flag, GCC will do this for all
variables.
Specifying the @code{nocommon} attribute for a variable provides an
@ -2540,7 +2540,7 @@ main()
@noindent
Use the @code{section} attribute with an @emph{initialized} definition
of a @emph{global} variable, as shown in the example. GNU CC issues
of a @emph{global} variable, as shown in the example. GCC issues
a warning and otherwise ignores the @code{section} attribute in
uninitialized variable declarations.
@ -2594,7 +2594,7 @@ applies to all function parameters with that type.
@item unused
This attribute, attached to a variable, means that the variable is meant
to be possibly unused. GNU CC will not produce a warning for this
to be possibly unused. GCC will not produce a warning for this
variable.
@item weak
@ -2807,7 +2807,7 @@ pid_t wait (wait_status_ptr_t p)
@item unused
When attached to a type (including a @code{union} or a @code{struct}),
this attribute means that variables of that type are meant to appear
possibly unused. GNU CC will not produce a warning for any variables of
possibly unused. GCC will not produce a warning for any variables of
that type, even if the variable appears to do nothing. This is often
the case with lock or thread classes, which are usually defined and then
not referenced, but contain constructors and destructors that have
@ -2826,7 +2826,7 @@ packed))}.
@cindex open coding
@cindex macros, inline alternative
By declaring a function @code{inline}, you can direct GNU CC to
By declaring a function @code{inline}, you can direct GCC to
integrate that function's code into the code for its callers. This
makes execution faster by eliminating the function-call overhead; in
addition, if any of the actual argument values are constant, their known
@ -2874,7 +2874,7 @@ does not affect the linkage of the function.
@cindex member fns, automatically @code{inline}
@cindex C++ member fns, automatically @code{inline}
@opindex fno-default-inline
GNU CC automatically inlines member functions defined within the class
GCC automatically inlines member functions defined within the class
body of C++ programs even if they are not explicitly declared
@code{inline}. (You can override this with @option{-fno-default-inline};
@pxref{C++ Dialect Options,,Options Controlling C++ Dialect}.)
@ -2884,7 +2884,7 @@ body of C++ programs even if they are not explicitly declared
When a function is both inline and @code{static}, if all calls to the
function are integrated into the caller, and the function's address is
never used, then the function's own assembler code is never referenced.
In this case, GNU CC does not actually output assembler code for the
In this case, GCC does not actually output assembler code for the
function, unless you specify the option @option{-fkeep-inline-functions}.
Some calls cannot be integrated for various reasons (in particular,
calls that precede the function's definition cannot be integrated, and
@ -2921,7 +2921,7 @@ existing semantics will remain available when @option{-std=gnu89} is
specified, but eventually the default will be @option{-std=gnu99} and
that will implement the C99 semantics, though it does not do so yet.)
GNU C does not inline any functions when not optimizing. It is not
GCC does not inline any functions when not optimizing. It is not
clear whether it is better to inline or not, in this case, but we found
that a correct implementation when not optimizing was difficult. So we
did the easy thing, and turned it off.
@ -2976,11 +2976,11 @@ template and does not know what it means or even whether it is valid
assembler input. The extended @code{asm} feature is most often used for
machine instructions the compiler itself does not know exist. If
the output expression cannot be directly addressed (for example, it is a
bit-field), your constraint must allow a register. In that case, GNU CC
bit-field), your constraint must allow a register. In that case, GCC
will use the register as the output of the @code{asm}, and then store
that register into the output.
The ordinary output operands must be write-only; GNU CC will assume that
The ordinary output operands must be write-only; GCC will assume that
the values in these operands before the instruction are dead and need
not be generated. Extended asm supports input-output or read-write
operands. Use the constraint character @samp{+} to indicate such an
@ -3017,12 +3017,12 @@ asm ("combine %2,%0" : "=r" (foo) : "r" (foo), "g" (bar));
@end example
Various optimizations or reloading could cause operands 0 and 1 to be in
different registers; GNU CC knows no reason not to do so. For example, the
different registers; GCC knows no reason not to do so. For example, the
compiler might find a copy of the value of @code{foo} in one register and
use it for operand 1, but generate the output operand 0 in a different
register (copying it afterward to @code{foo}'s own address). Of course,
since the register for operand 1 is not even mentioned in the assembler
code, the result will not work, but GNU CC can't tell that.
code, the result will not work, but GCC can't tell that.
Some instructions clobber specific hard registers. To describe this,
write a third colon after the input operands, followed by the names of
@ -3044,7 +3044,7 @@ operand is modified without also specifying it as an output
operand. Note that if all the output operands you specify are for this
purpose (and hence unused), you will then also need to specify
@code{volatile} for the @code{asm} construct, as described below, to
prevent GNU CC from deleting the @code{asm} statement as unused.
prevent GCC from deleting the @code{asm} statement as unused.
If you refer to a particular hardware register from the assembler code,
you will probably have to list the register after the third colon to
@ -3053,7 +3053,7 @@ the register names begin with @samp{%}; to produce one @samp{%} in the
assembler code, you must write @samp{%%} in the input.
If your assembler instruction can alter the condition code register, add
@samp{cc} to the list of clobbered registers. GNU CC on some machines
@samp{cc} to the list of clobbered registers. GCC on some machines
represents the condition codes as a specific hardware register;
@samp{cc} serves to name this register. On other machines, the
condition code is handled differently, and specifying @samp{cc} has no
@ -3061,7 +3061,7 @@ effect. But it is valid no matter what the machine.
If your assembler instruction modifies memory in an unpredictable
fashion, add @samp{memory} to the list of clobbered registers. This
will cause GNU CC to not keep memory values cached in registers across
will cause GCC to not keep memory values cached in registers across
the assembler instruction. You will also want to add the
@code{volatile} keyword if the memory affected is not listed in the
inputs or outputs of the @code{asm}, as the @samp{memory} clobber does
@ -3087,7 +3087,7 @@ asm ("movl %0,r9\n\tmovl %1,r10\n\tcall _foo"
: "r9", "r10");
@end example
Unless an output operand has the @samp{&} constraint modifier, GNU CC
Unless an output operand has the @samp{&} constraint modifier, GCC
may allocate it in the same register as an unrelated input operand, on
the assumption the inputs are consumed before the outputs are produced.
This assumption may be false if the assembler code actually consists of
@ -3137,7 +3137,7 @@ example, if the desired type were @code{int}, casting the argument to
argument to an @code{int} variable named @code{__arg} would warn about
using a pointer unless the caller explicitly casts it.
If an @code{asm} has output operands, GNU CC assumes for optimization
If an @code{asm} has output operands, GCC assumes for optimization
purposes the instruction has no side effects except to change the output
operands. This does not mean instructions with a side effect cannot be
used, but you must be careful, because the compiler may eliminate them
@ -3160,7 +3160,7 @@ the @code{asm}. For example:
@end example
@noindent
If you write an @code{asm} instruction with no outputs, GNU CC will know
If you write an @code{asm} instruction with no outputs, GCC will know
the instruction has side-effects and will not delete the instruction or
move it outside of loops.
@ -3352,8 +3352,8 @@ func (x, y)
It is up to you to make sure that the assembler names you choose do not
conflict with any other assembler symbols. Also, you must not use a
register name; that would produce completely invalid assembler code. GNU
CC does not as yet have the ability to store static variables in registers.
register name; that would produce completely invalid assembler code. GCC
does not as yet have the ability to store static variables in registers.
Perhaps that will be added.
@node Explicit Reg Vars
@ -3526,7 +3526,7 @@ unavailable for use in the reload pass; excessive use of this feature
leaves the compiler too few available registers to compile certain
functions.
This option does not guarantee that GNU CC will generate code that has
This option does not guarantee that GCC will generate code that has
this variable in the register you specify at all times. You may not
code an explicit reference to this register in an @code{asm} statement
and assume it will always refer to this variable.
@ -3601,7 +3601,7 @@ This extension is not supported by GNU C++.
@cindex @code{__PRETTY_FUNCTION__} identifier
@cindex @code{__func__} identifier
GNU CC predefines two magic identifiers to hold the name of the current
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__}
holds the name of the function pretty printed in a language specific
@ -3655,7 +3655,7 @@ On the other hand, @samp{#ifdef __FUNCTION__} does not have any special
meaning inside a function, since the preprocessor does not do anything
special with the identifier @code{__FUNCTION__}.
GNU CC also supports the magic word @code{__func__}, defined by the
GCC also supports the magic word @code{__func__}, defined by the
ISO standard C99:
@display
@ -3722,7 +3722,7 @@ function as well.
@end deftypefn
@node Other Builtins
@section Other built-in functions provided by GNU CC
@section Other built-in functions provided by GCC
@cindex built-in functions
@findex __builtin_isgreater
@findex __builtin_isgreaterequal
@ -3785,7 +3785,7 @@ function as well.
@findex strspn
@findex strstr
GNU CC provides a large number of built-in functions other than the ones
GCC provides a large number of built-in functions other than the ones
mentioned above. Some of these are for internal use in the processing
of exceptions or variable-length argument lists and will not be
documented here because they may change from time to time; we do not
@ -3794,7 +3794,7 @@ recommend general use of these functions.
The remaining functions are provided for optimization purposes.
@opindex fno-builtin
GNU CC includes built-in versions of many of the functions in the
GCC includes built-in versions of many of the functions in the
standard C library. The versions prefixed with @code{__builtin_} will
always be treated as having the same meaning as the C library function
even if you specify the @option{-fno-builtin} (@pxref{C Dialect Options})
@ -3838,7 +3838,7 @@ of these functions have corresponding versions prefixed with
@code{__builtin_}, except that the version for @code{sqrt} is called
@code{__builtin_fsqrt}.
GNU CC provides built-in versions of the ISO C99 floating point
GCC provides built-in versions of the ISO C99 floating point
comparison macros (that avoid raising exceptions for unordered
operands): @code{__builtin_isgreater}, @code{__builtin_isgreaterequal},
@code{__builtin_isless}, @code{__builtin_islessequal},
@ -3848,12 +3848,12 @@ operands): @code{__builtin_isgreater}, @code{__builtin_isgreaterequal},
@deftypefn {Built-in Function} int __builtin_constant_p (@var{exp})
You can use the built-in function @code{__builtin_constant_p} to
determine if a value is known to be constant at compile-time and hence
that GNU CC can perform constant-folding on expressions involving that
that GCC can perform constant-folding on expressions involving that
value. The argument of the function is the value to test. The function
returns the integer 1 if the argument is known to be a compile-time
constant and 0 if it is not known to be a compile-time constant. A
return of 0 does not indicate that the value is @emph{not} a constant,
but merely that GNU CC cannot prove it is a constant with the specified
but merely that GCC cannot prove it is a constant with the specified
value of the @option{-O} option.
You would typically use this function in an embedded application where
@ -3869,7 +3869,7 @@ a function if it does not. For example:
You may use this built-in function in either a macro or an inline
function. However, if you use it in an inlined function and pass an
argument of the function as the argument to the built-in, GNU CC will
argument of the function as the argument to the built-in, GCC will
never return 1 when you call the inline function with a string constant
or compound literal (@pxref{Compound Literals}) and will not return 1
when you pass a constant numeric value to the inline function unless you
@ -4031,16 +4031,16 @@ volatile int *src = @var{somevalue};
@end example
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
the object, GCC interprets this as a read of the volatile being pointed
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
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,
because it would surprise most programmers, g++ treats dereferencing a
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
@ -4057,7 +4057,7 @@ 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<S>(*ptr1)}.
When using a reference to volatile, g++ does not treat equivalent
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
becomes difficult to determine where volatile access occur, and not

View File

@ -1,5 +1,5 @@
.\" Automatically generated by Pod::Man version 1.16
.\" Sat Jun 16 09:19:37 2001
.\" Mon Jun 25 00:14:37 2001
.\"
.\" Standard preamble:
.\" ======================================================================
@ -138,7 +138,7 @@
.\" ======================================================================
.\"
.IX Title "GCC 1"
.TH GCC 1 "gcc-3.1" "2001-06-16" "GNU"
.TH GCC 1 "gcc-3.1" "2001-06-25" "GNU"
.UC
.SH "NAME"
gcc \- \s-1GNU\s0 project C and \*(C+ compiler
@ -821,7 +821,7 @@ languages; or options that are meaningful only for \*(C+ programs.
.Sh "Options Controlling C Dialect"
.IX Subsection "Options Controlling C Dialect"
The following options control the dialect of C (or languages derived
from C, such as \*(C+ and Objective C) that the compiler accepts:
from C, such as \*(C+ and Objective-C) that the compiler accepts:
.Ip "\fB\-ansi\fR" 4
.IX Item "-ansi"
In C mode, support all \s-1ISO\s0 C89 programs. In \*(C+ mode,
@ -1502,14 +1502,14 @@ Traditionally, diagnostic messages have been formatted irrespective of
the output device's aspect (e.g. its width, ...). The options described
below can be used to control the diagnostic messages formatting
algorithm, e.g. how many characters per line, how often source location
information should be reported. Right now, only the \*(C+ front-end can
information should be reported. Right now, only the \*(C+ front end can
honor these options. However it is expected, in the near future, that
the remaining front-ends would be able to digest them correctly.
the remaining front ends would be able to digest them correctly.
.Ip "\fB\-fmessage-length=\fR\fIn\fR" 4
.IX Item "-fmessage-length=n"
Try to format error messages so that they fit on lines of about \fIn\fR
characters. The default is 72 characters for g++ and 0 for the rest of
the front-ends supported by \s-1GCC\s0. If \fIn\fR is zero, then no
the front ends supported by \s-1GCC\s0. If \fIn\fR is zero, then no
line-wrapping will be done; each error message will appear on a single
line.
.Ip "\fB\-fdiagnostics-show-location=once\fR" 4
@ -1714,7 +1714,7 @@ In C, every \f(CW\*(C`else\*(C'\fR branch belongs to the innermost possible \f(C
statement, which in this example is \f(CW\*(C`if (b)\*(C'\fR. This is often not
what the programmer expected, as illustrated in the above example by
indentation the programmer chose. When there is the potential for this
confusion, \s-1GNU\s0 C will issue a warning when this flag is specified.
confusion, \s-1GCC\s0 will issue a warning when this flag is specified.
To eliminate the warning, add explicit braces around the innermost
\&\f(CW\*(C`if\*(C'\fR statement so there is no way the \f(CW\*(C`else\*(C'\fR could belong to
the enclosing \f(CW\*(C`if\*(C'\fR. The resulting code would look like this:
@ -3010,7 +3010,9 @@ sets \fB\-fno-math-errno\fR.
.IX Item "-funsafe-math-optimizations"
Allow optimizations for floating-point arithmetic that (a) assume
that arguments and results are valid and (b) may violate \s-1IEEE\s0 or
\&\s-1ANSI\s0 standards.
\&\s-1ANSI\s0 standards. When used at link-time, it may include libraries
or startup files that change the default \s-1FPU\s0 control word or other
similar optimizations.
.Sp
This option should never be turned on by any \fB\-O\fR option since
it can result in incorrect output for programs which depend on
@ -3739,7 +3741,7 @@ and searches several directories.
.Ip "\fB\-lobjc\fR" 4
.IX Item "-lobjc"
You need this special case of the \fB\-l\fR option in order to
link an Objective C program.
link an Objective-C program.
.Ip "\fB\-nostartfiles\fR" 4
.IX Item "-nostartfiles"
Do not use the standard system startup files when linking.
@ -5114,12 +5116,12 @@ references. In particular, a load instruction may execute before
a preceding store instruction. Such reordering violates
sequential consistency of volatile memory references, when there
are multiple processors. When consistency must be guaranteed,
\&\s-1GNU\s0 C generates special instructions, as needed, to force
\&\s-1GCC\s0 generates special instructions, as needed, to force
execution in the proper order.
.Sp
The \s-1MC88100\s0 processor does not reorder memory references and so
always provides sequential consistency. However, by default, \s-1GNU\s0
C generates the special instructions to guarantee consistency
always provides sequential consistency. However, by default, \s-1GCC\s0
generates the special instructions to guarantee consistency
even when you use \fB\-m88100\fR, so that the code may be run on an
\&\s-1MC88110\s0 processor. If you intend to run your code only on the
\&\s-1MC88100\s0 processor, you may use \fB\-mno-serialize-volatile\fR.
@ -5165,13 +5167,13 @@ zero will be detected. By default, detection is guaranteed.
.Sp
Some models of the \s-1MC88100\s0 processor fail to trap upon integer
division by zero under certain conditions. By default, when
compiling code that might be run on such a processor, \s-1GNU\s0 C
compiling code that might be run on such a processor, \s-1GCC\s0
generates code that explicitly checks for zero-valued divisors
and traps with exception number 503 when one is detected. Use of
mno-check-zero-division suppresses such checking for code
generated to run on an \s-1MC88100\s0 processor.
.Sp
\&\s-1GNU\s0 C assumes that the \s-1MC88110\s0 processor correctly detects all
\&\s-1GCC\s0 assumes that the \s-1MC88110\s0 processor correctly detects all
instances of integer division by zero. When \fB\-m88110\fR is
specified, both \fB\-mcheck-zero-division\fR and
\&\fB\-mno-check-zero-division\fR are ignored, and no explicit checks for
@ -5185,7 +5187,7 @@ On the \s-1MC88100\s0 processor the signed integer division instruction
div) traps to the operating system on a negative operand. The
operating system transparently completes the operation, but at a
large cost in execution time. By default, when compiling code
that might be run on an \s-1MC88100\s0 processor, \s-1GNU\s0 C emulates signed
that might be run on an \s-1MC88100\s0 processor, \s-1GCC\s0 emulates signed
integer division using the unsigned integer division instruction
divu), thereby avoiding the large penalty of a trap to the
operating system. Such emulation has its own, smaller, execution
@ -5400,7 +5402,7 @@ these options, specify \fB\-mminimal-toc\fR instead. This option causes
\&\s-1GCC\s0 to make only one \s-1TOC\s0 entry for every file. When you specify this
option, \s-1GCC\s0 will produce code that is slower and larger but which
uses extremely little \s-1TOC\s0 space. You may wish to use this option
only on files that contain less frequently executed code.
only on files that contain less frequently executed code.
.Ip "\fB\-maix64\fR" 4
.IX Item "-maix64"
.PD 0
@ -7556,10 +7558,10 @@ it.
.Ip "\fB\-fexceptions\fR" 4
.IX Item "-fexceptions"
Enable exception handling. Generates extra code needed to propagate
exceptions. For some targets, this implies \s-1GNU\s0 \s-1CC\s0 will generate frame
exceptions. For some targets, this implies \s-1GCC\s0 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
specify this option, \s-1GNU\s0 \s-1CC\s0 will enable it by default for languages like
specify this option, \s-1GCC\s0 will enable it by default for languages like
\&\*(C+ which normally require exception handling, and disable it for
languages like C that do not normally require it. However, you may need
to enable this option when compiling C code that needs to interoperate
@ -7765,13 +7767,13 @@ stubs for every function you call, you might have to specify
\&\fB\-fcheck-memory-usage\fR without \fB\-fprefix-function-name\fR.
.Sp
If you specify this option, you can not use the \f(CW\*(C`asm\*(C'\fR or
\&\f(CW\*(C`_\|_asm_\|_\*(C'\fR keywords in functions with memory checking enabled. \s-1GNU\s0
\&\s-1CC\s0 cannot understand what the \f(CW\*(C`asm\*(C'\fR statement may do, and therefore
\&\f(CW\*(C`_\|_asm_\|_\*(C'\fR keywords in functions with memory checking enabled. \s-1GCC\s0
cannot understand what the \f(CW\*(C`asm\*(C'\fR statement may do, and therefore
cannot generate the appropriate code, so it will reject it. However, if
you specify the function attribute \f(CW\*(C`no_check_memory_usage\*(C'\fR, \s-1GNU\s0 \s-1CC\s0 will disable memory checking within a
you specify the function attribute \f(CW\*(C`no_check_memory_usage\*(C'\fR, \s-1GCC\s0 will disable memory checking within a
function; you may use \f(CW\*(C`asm\*(C'\fR statements inside such functions. You
may have an inline expansion of a non-checked function within a checked
function; in that case \s-1GNU\s0 \s-1CC\s0 will not generate checks for the inlined
function; in that case \s-1GCC\s0 will not generate checks for the inlined
function's memory accesses.
.Sp
If you move your \f(CW\*(C`asm\*(C'\fR statements to non-checked inline functions
@ -7957,7 +7959,7 @@ names of the subprograms executed by the compiler. No slash is added
when this prefix is combined with the name of a subprogram, but you can
specify a prefix that ends with a slash if you wish.
.Sp
If \fB\s-1GCC_EXEC_PREFIX\s0\fR is not set, \s-1GNU\s0 \s-1CC\s0 will attempt to figure out
If \fB\s-1GCC_EXEC_PREFIX\s0\fR is not set, \s-1GCC\s0 will attempt to figure out
an appropriate prefix to use based on the pathname it was invoked with.
.Sp
If \s-1GCC\s0 cannot find the subprogram using the specified prefix, it

View File

@ -48,6 +48,12 @@
@c - "built-in" as an adjective ("built-in function"), or sometimes
@c "built in", not "builtin" (which isn't a word).
@c - "front end" as a noun, "front-end" as an adjective.
@c - "GCC" for the GNU Compiler Collection, both generally
@c and as the GNU C Compiler in the context of compiling C;
@c "G++" for the C++ compiler; "gcc" and "g++" (lowercase),
@c marked up with @command, for the commands for compilation when the
@c emphasis is on those; "GNU C" and "GNU C++" for language dialects;
@c and try to avoid the older term "GNU CC".
@macro gcctabopt{body}
@code{\body\}
@ -468,7 +474,7 @@ program using the facilities of an operating system would normally be
in a hosted implementation.
@opindex ffreestanding
GNU CC aims towards being usable as a conforming freestanding
GCC aims towards being usable as a conforming freestanding
implementation, or as the compiler for a conforming hosted
implementation. By default, it will act as the compiler for a hosted
implementation, defining @code{__STDC_HOSTED__} as @code{1} and
@ -482,7 +488,7 @@ kernel, you may well still need to make your own arrangements for
linking and startup. @xref{C Dialect Options,,Options Controlling C
Dialect}.
GNU CC does not provide the library facilities required only of hosted
GCC does not provide the library facilities required only of hosted
implementations, nor yet all the facilities required by C99 of
freestanding implementations; to use the facilities of a hosted
environment, you will need to find them elsewhere (for example, in the
@ -542,9 +548,9 @@ where people's opinions differ as to what is best.
and with certain linkers, assemblers and debuggers.
* External Bugs:: Problems compiling certain programs.
* Incompatibilities:: GCC is incompatible with traditional C.
* Fixed Headers:: GNU C uses corrected versions of system header files.
* Fixed Headers:: GCC uses corrected versions of system header files.
This is necessary, but doesn't always work smoothly.
* Standard Libraries:: GNU C uses the system C library, which might not be
* Standard Libraries:: GCC uses the system C library, which might not be
compliant with the ISO C standard.
* Disappointments:: Regrettable things we can't change, but not quite bugs.
* C++ Misunderstandings:: Common misunderstandings with GNU C++.
@ -622,8 +628,8 @@ compile environment.
@node Interoperation
@section Interoperation
This section lists various difficulties encountered in using GNU C or
GNU C++ together with other compilers or with the assemblers, linkers,
This section lists various difficulties encountered in using GCC
together with other compilers or with the assemblers, linkers,
libraries and debuggers on certain systems.
@itemize @bullet
@ -631,7 +637,7 @@ libraries and debuggers on certain systems.
Objective-C does not work on the RS/6000.
@item
GNU C++ does not do name mangling in the same way as other C++
G++ does not do name mangling in the same way as other C++
compilers. This means that object files compiled with one compiler
cannot be used with another.
@ -724,8 +730,8 @@ argument of type @code{double} and passes this pointer of type
@code{double *} to a function compiled with GCC, dereferencing the
pointer may cause a fatal signal.
One way to solve this problem is to compile your entire program with GNU
CC. Another solution is to modify the function that is compiled with
One way to solve this problem is to compile your entire program with GCC.
Another solution is to modify the function that is compiled with
Sun CC to copy the argument into a local variable; local variables
are always properly aligned. A third solution is to modify the function
that uses the pointer to dereference it via the following function
@ -1039,7 +1045,7 @@ MALLOC=gmalloc.o
There are several noteworthy incompatibilities between GNU C and K&R
(non-ISO) versions of C. The @option{-traditional} option
eliminates many of these incompatibilities, @emph{but not all}, by
telling GNU C to behave like a K&R C compiler.
telling GCC to behave like a K&R C compiler.
@itemize @bullet
@cindex string constants
@ -1126,7 +1132,7 @@ in it.
If you use the @option{-W} option with the @option{-O} option, you will
get a warning when GCC thinks such a problem might be possible.
The @option{-traditional} option directs GNU C to put variables in
The @option{-traditional} option directs GCC to put variables in
the stack by default, rather than in registers, in functions that
call @code{setjmp}. This results in the behavior found in
traditional C compilers.
@ -1162,7 +1168,7 @@ have the same scope as any other declaration in the same place.
In some other C compilers, a @code{extern} declaration affects all the
rest of the file even if it happens within a block.
The @option{-traditional} option directs GNU C to treat all @code{extern}
The @option{-traditional} option directs GCC to treat all @code{extern}
declarations as global, like traditional compilers.
@item
@ -1281,11 +1287,11 @@ union returning with the option @option{-fpcc-struct-return}.
@cindex preprocessing tokens
@cindex preprocessing numbers
@item
GNU C complains about program fragments such as @samp{0x74ae-0x4000}
GCC complains about program fragments such as @samp{0x74ae-0x4000}
which appear to be two hexadecimal constants separated by the minus
operator. Actually, this string is a single @dfn{preprocessing token}.
Each such token must correspond to one token in C. Since this does not,
GNU C prints an error message. Although it may appear obvious that what
GCC prints an error message. Although it may appear obvious that what
is meant is an operator and two values, the ISO C standard specifically
requires that this be treated as erroneous.
@ -2406,7 +2412,7 @@ mailing list, @email{gcc-patches@@gcc.gnu.org}.
Please follow these guidelines so we can study your patches efficiently.
If you don't follow these guidelines, your information might still be
useful, but using it will take extra work. Maintaining GNU C is a lot
useful, but using it will take extra work. Maintaining GCC is a lot
of work in the best of circumstances, and we can't keep up unless you do
your best to help.
@ -2845,8 +2851,8 @@ and variables in such libraries using lower case; this will work on VMS,
but is not portable to other systems. The compiler option @samp{/NAMES}
also provides control over global name handling.
Function and variable names are handled somewhat differently with GNU
C++. The GNU C++ compiler performs @dfn{name mangling} on function
Function and variable names are handled somewhat differently with G++.
The GNU C++ compiler performs @dfn{name mangling} on function
names, which means that it adds information to the function name to
describe the data types of the arguments that the function takes. One
result of this is that the name of a function can become very long.

View File

@ -1,5 +1,5 @@
.\" Automatically generated by Pod::Man version 1.16
.\" Thu Jun 14 10:58:24 2001
.\" Mon Jun 25 00:14:36 2001
.\"
.\" Standard preamble:
.\" ======================================================================
@ -138,7 +138,7 @@
.\" ======================================================================
.\"
.IX Title "GCOV 1"
.TH GCOV 1 "gcc-3.1" "2001-06-14" "GNU"
.TH GCOV 1 "gcc-3.1" "2001-06-25" "GNU"
.UC
.SH "NAME"
gcov \- coverage testing tool
@ -147,8 +147,8 @@ gcov \- coverage testing tool
gcov [\fB\-b\fR] [\fB\-c\fR] [\fB\-v\fR] [\fB\-n\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-o\fR \fIdirectory\fR] \fIsourcefile\fR
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
\&\fBgcov\fR is a test coverage program. Use it in concert with \s-1GNU\s0
\&\s-1CC\s0 to analyze your programs to help create more efficient, faster
\&\fBgcov\fR is a test coverage program. Use it in concert with \s-1GCC\s0
to analyze your programs to help create more efficient, faster
running code. You can use \fBgcov\fR as a profiling tool to help
discover where your optimization efforts will best affect your code. You
can also use \fBgcov\fR along with the other profiling tool,
@ -196,7 +196,7 @@ in fine-tuning the performance of your programs. \fBgprof\fR gives
timing information you can use along with the information you get from
\&\fBgcov\fR.
.PP
\&\fBgcov\fR works only on code compiled with \s-1GNU\s0 \s-1CC\s0. It is not
\&\fBgcov\fR works only on code compiled with \s-1GCC\s0. It is not
compatible with any other profiling or test coverage mechanism.
.SH "OPTIONS"
.IX Header "OPTIONS"
@ -231,7 +231,7 @@ The directory where the object files live. Gcov will search for \fI.bb\fR,
\&\fI.bbg\fR, and \fI.da\fR files in this directory.
.PP
When using \fBgcov\fR, you must first compile your program with two
special \s-1GNU\s0 \s-1CC\s0 options: \fB\-fprofile-arcs \-ftest-coverage\fR.
special \s-1GCC\s0 options: \fB\-fprofile-arcs \-ftest-coverage\fR.
This tells the compiler to generate additional information needed by
gcov (basically a flow graph of the program) and also includes
additional code in the object files for generating the extra profiling
@ -352,9 +352,9 @@ counts and finally writes the data to the file.
.Sh "Using \fBgcov\fP with \s-1GCC\s0 Optimization"
.IX Subsection "Using gcov with GCC Optimization"
If you plan to use \fBgcov\fR to help optimize your code, you must
first compile your program with two special \s-1GNU\s0 \s-1CC\s0 options:
first compile your program with two special \s-1GCC\s0 options:
\&\fB\-fprofile-arcs \-ftest-coverage\fR. Aside from that, you can use any
other \s-1GNU\s0 \s-1CC\s0 options; but if you want to prove that every single line
other \s-1GCC\s0 options; but if you want to prove that every single line
in your program was executed, you should not compile with optimization
at the same time. On some machines the optimizer can eliminate some
simple code lines by combining them with other lines. For example, code

View File

@ -29,7 +29,7 @@ English.
@node Gcov
@chapter @command{gcov}: a Test Coverage Program
@command{gcov} is a tool you can use in conjunction with @sc{gnu} CC to
@command{gcov} is a tool you can use in conjunction with GCC to
test code coverage in your programs.
This chapter describes version 1.5 of @command{gcov}.
@ -45,8 +45,8 @@ This chapter describes version 1.5 of @command{gcov}.
@section Introduction to @command{gcov}
@c man begin DESCRIPTION
@command{gcov} is a test coverage program. Use it in concert with @sc{gnu}
CC to analyze your programs to help create more efficient, faster
@command{gcov} is a test coverage program. Use it in concert with GCC
to analyze your programs to help create more efficient, faster
running code. You can use @command{gcov} as a profiling tool to help
discover where your optimization efforts will best affect your code. You
can also use @command{gcov} along with the other profiling tool,
@ -99,7 +99,7 @@ in fine-tuning the performance of your programs. @command{gprof} gives
timing information you can use along with the information you get from
@command{gcov}.
@command{gcov} works only on code compiled with @sc{gnu} CC. It is not
@command{gcov} works only on code compiled with GCC. It is not
compatible with any other profiling or test coverage mechanism.
@c man end
@ -154,7 +154,7 @@ The directory where the object files live. Gcov will search for @file{.bb},
@need 3000
When using @command{gcov}, you must first compile your program with two
special @sc{gnu} CC options: @samp{-fprofile-arcs -ftest-coverage}.
special GCC options: @samp{-fprofile-arcs -ftest-coverage}.
This tells the compiler to generate additional information needed by
gcov (basically a flow graph of the program) and also includes
additional code in the object files for generating the extra profiling
@ -276,9 +276,9 @@ counts and finally writes the data to the file.
@section Using @command{gcov} with GCC Optimization
If you plan to use @command{gcov} to help optimize your code, you must
first compile your program with two special @sc{gnu} CC options:
first compile your program with two special GCC options:
@samp{-fprofile-arcs -ftest-coverage}. Aside from that, you can use any
other @sc{gnu} CC options; but if you want to prove that every single line
other GCC options; but if you want to prove that every single line
in your program was executed, you should not compile with optimization
at the same time. On some machines the optimizer can eliminate some
simple code lines by combining them with other lines. For example, code
@ -322,7 +322,7 @@ of these files are placed in the same directory as the source file, and
contain data stored in a platform-independent method.
The @file{.bb} and @file{.bbg} files are generated when the source file
is compiled with the @sc{gnu} CC @option{-ftest-coverage} option. The
is compiled with the GCC @option{-ftest-coverage} option. The
@file{.bb} file contains a list of source files (including headers),
functions within those files, and line numbers corresponding to each
basic block in the source file.
@ -364,7 +364,7 @@ list of basic blocks, and to verify that the file has been read
correctly.
The @file{.da} file is generated when a program containing object files
built with the @sc{gnu} CC @option{-fprofile-arcs} option is executed. A
built with the GCC @option{-fprofile-arcs} option is executed. A
separate @file{.da} file is created for each source file compiled with
this option, and the name of the @file{.da} file is stored as an
absolute pathname in the resulting object file. This path name is

View File

@ -33,7 +33,7 @@
@settitle Installing GCC: Binaries
@end ifset
@comment $Id: install.texi,v 1.32 2001/06/21 19:00:08 pme Exp $
@comment $Id: install.texi,v 1.33 2001/06/23 23:41:59 jsm28 Exp $
@c Copyright (C) 2001 Free Software Foundation, Inc.
@c *** Converted to texinfo by Dean Wakerley, dean@wakerley.com
@ -249,7 +249,7 @@ where @var{srcdir} == @var{objdir} should still work, but doesn't
get extensive testing; building where @var{objdir} is a subdirectory
of @var{srcdir} is unsupported.
If you have built GNU CC previously in the same directory for a
If you have built GCC previously in the same directory for a
different target machine, do @samp{make distclean} to delete all files
that might be invalid. One of the files this deletes is
@file{Makefile}; if @samp{make distclean} complains that @file{Makefile}
@ -643,7 +643,7 @@ of tree node types when referencing fields of that node, and some other
internal consistency checks. This does not change the generated code,
but adds error checking within the compiler. This will slow down the
compiler and may only work properly if you are building the compiler
with GNU C. This is on by default when building from CVS or snapshots,
with GCC. This is on by default when building from CVS or snapshots,
but off for releases. More control over the checks may be had by
specifying @var{list}; the categories of checks available are
@samp{misc}, @samp{tree}, @samp{gc}, @samp{rtl} and @samp{gcac}. The
@ -1422,7 +1422,7 @@ not yet implemented for the 1750A.)
The @code{as1750} assembler requires the file @file{ms1750.inc}, which is
found in the directory @file{config/1750a}.
GNU CC produced the same sections as the Fairchild F9450 C Compiler,
GCC produced the same sections as the Fairchild F9450 C Compiler,
namely:
@table @code
@ -1442,7 +1442,7 @@ Initialization section (code to copy KREL to SREL).
The smallest addressable unit is 16 bits (BITS_PER_UNIT is 16). This
means that type @code{char} is represented with a 16-bit word per character.
The 1750A's ``Load/Store Upper/Lower Byte'' instructions are not used by
GNU CC.
GCC.
@html
</p>
@ -1523,7 +1523,7 @@ or you can use a copy of GCC 2.95.3 or higher built on Tru64 UNIX V4.0:
% CC=gcc -Wa,-oldas @var{srcdir}/configure [@var{target}] [@var{options}]
@end example
GNU CC writes a @samp{.verstamp} directive to the assembler output file
GCC writes a @samp{.verstamp} directive to the assembler output file
unless it is built as a cross-compiler. It gets the version to use from
the system header file @file{/usr/include/stamp.h}. If you install a
new version of DEC Unix, you should rebuild GCC to pick up the new version
@ -1548,14 +1548,14 @@ unless the comparisons fail without that option. If you add
@option{-save-temps}, you will have to manually delete the @samp{.i} and
@samp{.s} files after each series of compilations.
GNU CC now supports both the native (ECOFF) debugging format used by DBX
GCC now supports both the native (ECOFF) debugging format used by DBX
and GDB and an encapsulated STABS format for use only with GDB. See the
discussion of the @option{--with-stabs} option of @file{configure} above
for more information on these formats and how to select them.
There is a bug in DEC's assembler that produces incorrect line numbers
for ECOFF format when the @samp{.align} directive is used. To work
around this problem, GNU CC will not emit such alignment directives
around this problem, GCC will not emit such alignment directives
while writing ECOFF format debugging information even if optimization is
being performed. Unfortunately, this has the very undesirable
side-effect that code addresses when @option{-O} is specified are
@ -1714,7 +1714,7 @@ compilers, you may need to add @option{-Wf,-XNg1500 -Olimit 3000}.
Please have a look at our @uref{binaries.html,,binaries page}.
You cannot install GNU C by itself on MSDOS; it will not compile under
You cannot install GCC by itself on MSDOS; it will not compile under
any MSDOS compiler except itself. You need to get the complete
compilation package DJGPP, which includes binaries as well as sources,
and includes all the necessary compilation tools and libraries.
@ -1732,7 +1732,7 @@ A port to the AT&T DSP1610 family of processors.
@end html
@heading @anchor{elxsi-elxsi-bsd}elxsi-elxsi-bsd
The Elxsi's C compiler has known limitations that prevent it from
compiling GNU C. Please contact @email{mrs@@cygnus.com} for more details.
compiling GCC. Please contact @email{mrs@@cygnus.com} for more details.
@html
</p>
@ -2160,11 +2160,11 @@ These problems don't exist in operating system version 1.1.
<hr>
@end html
@heading @anchor{*-lynx-lynxos}*-lynx-lynxos
LynxOS 2.2 and earlier comes with GNU CC 1.x already installed as
LynxOS 2.2 and earlier comes with GCC 1.x already installed as
@file{/bin/gcc}. You should compile with this instead of @file{/bin/cc}.
You can tell GNU CC to use the GNU assembler and linker, by specifying
You can tell GCC to use the GNU assembler and linker, by specifying
@samp{--with-gnu-as --with-gnu-ld} when configuring. These will produce
COFF format object files and executables; otherwise GNU CC will use the
COFF format object files and executables; otherwise GCC will use the
installed tools, which produce @file{a.out} format executables.
@html
@ -2261,8 +2261,8 @@ This configuration is intended for embedded systems.
@end html
@heading @anchor{m68000-hp-bsd}m68000-hp-bsd
HP 9000 series 200 running BSD. Note that the C compiler that comes
with this system cannot compile GNU CC; contact @email{law@@cygnus.com}
to get binaries of GNU CC for bootstrapping.
with this system cannot compile GCC; contact @email{law@@cygnus.com}
to get binaries of GCC for bootstrapping.
@html
</p>
@ -2296,12 +2296,12 @@ Also, you must fix a kernel bug. Details in the file @file{README.ALTOS}.
Apple Macintosh running A/UX.
You may configure GCC to use either the system assembler and
linker or the GNU assembler and linker. You should use the GNU configuration
if you can, especially if you also want to use GNU C++. You enabled
if you can, especially if you also want to use G++. You enabled
that configuration with + the @option{--with-gnu-as} and @option{--with-gnu-ld}
options to @code{configure}.
Note the C compiler that comes
with this system cannot compile GNU CC. You can find binaries of GNU CC
with this system cannot compile GCC. You can find binaries of GCC
for bootstrapping on @code{jagubox.gsfc.nasa.gov}.
You will also a patched version of @file{/bin/ld} there that
raises some of the arbitrary limits found in the original.
@ -2311,7 +2311,7 @@ raises some of the arbitrary limits found in the original.
<hr>
@end html
@heading @anchor{m68k-att-sysv}m68k-att-sysv
AT&T 3b1, a.k.a. 7300 PC. This version of GNU CC cannot
AT&T 3b1, a.k.a. 7300 PC. This version of GCC cannot
be compiled with the system C compiler, which is too buggy.
You will need to get a previous version of GCC and use it to
bootstrap. Binaries are available from the OSU-CIS archive, at
@ -2322,7 +2322,7 @@ bootstrap. Binaries are available from the OSU-CIS archive, at
<hr>
@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. GNU CC works
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
@ -2339,7 +2339,7 @@ Use @samp{configure unos} for building on Unos.
The Unos assembler is named @code{casm} instead of @code{as}. For some
strange reason linking @file{/bin/as} to @file{/bin/casm} changes the
behavior, and does not work. So, when installing GNU CC, you should
behavior, and does not work. So, when installing GCC, you should
install the following script as @file{as} in the subdirectory where
the passes of GCC are installed:
@ -2349,12 +2349,12 @@ casm $*
@end example
The default Unos library is named @file{libunos.a} instead of
@file{libc.a}. To allow GNU CC to function, either change all
@file{libc.a}. To allow GCC to function, either change all
references to @option{-lc} in @file{gcc.c} to @option{-lunos} or link
@file{/lib/libc.a} to @file{/lib/libunos.a}.
@cindex @code{alloca}, for Unos
When compiling GNU CC with the standard compiler, to overcome bugs in
When compiling GCC with the standard compiler, to overcome bugs in
the support of @code{alloca}, do not use @option{-O} when making stage 2.
Then use the stage 2 compiler with @option{-O} to make the stage 3
compiler. This compiler will have the same characteristics as the usual
@ -2376,7 +2376,7 @@ and linking from that library.
@end html
@heading @anchor{m68k-hp-hpux}m68k-hp-hpux
HP 9000 series 300 or 400 running HP-UX. HP-UX version 8.0 has a bug in
the assembler that prevents compilation of GNU CC. This
the assembler that prevents compilation of GCC. This
bug manifests itself during the first stage of compilation, while
building @file{libgcc2.a}:
@ -2528,7 +2528,7 @@ compiler. If the stage 3 and stage 4 object files are identical, this
suggests you encountered a problem with the standard C compiler; the
stage 3 and 4 compilers may be usable.
It is best, however, to use an older version of GNU CC for bootstrapping
It is best, however, to use an older version of GCC for bootstrapping
if you have one.
@html
@ -2703,7 +2703,7 @@ inhibit reordering.
The @option{-noasmopt} option can be useful for testing whether a problem
is due to erroneous assembler reordering. Even if a problem does not go
away with @option{-noasmopt}, it may still be due to assembler
reordering---perhaps GNU CC itself was miscompiled as a result.
reordering---perhaps GCC itself was miscompiled as a result.
To enable debugging under Irix 5, you must use GNU as 2.5 or later,
and use the @option{--with-gnu-as} configure option when configuring gcc.
@ -2838,8 +2838,8 @@ Go to the Berkeley universe before compiling.
@end html
@heading @anchor{ns32k-utek}ns32k-utek
UTEK ns32000 system (``merlin''). The C compiler that comes with this
system cannot compile GNU CC; contact @samp{tektronix!reed!mason} to get
binaries of GNU CC for bootstrapping.
system cannot compile GCC; contact @samp{tektronix!reed!mason} to get
binaries of GCC for bootstrapping.
@html
@ -2942,8 +2942,8 @@ switch by using the configure option @option{--with-cpu-@var{cpu_type}}.
@end html
@heading @anchor{romp-*-aos}romp-*-aos, romp-*-mach
The only operating systems supported for the IBM RT PC are AOS and
MACH. GNU CC does not support AIX running on the RT. We recommend you
compile GNU CC with an earlier version of itself; if you compile GNU CC
MACH. GCC does not support AIX running on the RT. We recommend you
compile GCC with an earlier version of itself; if you compile GCC
with @code{hc}, the Metaware compiler, it will work, but you will get
mismatches between the stage 2 and stage 3 compilers in various files.
These errors are minor differences in some floating-point constants and
@ -3212,7 +3212,7 @@ system's linker seems to be unable to handle such a large program with
debugging information.
The system's compiler runs out of capacity when compiling @file{stmt.c}
in GNU CC. You can work around this by building @file{cpp} in GNU CC
in GCC. You can work around this by building @file{cpp} in GCC
first, then use that instead of the system's preprocessor with the
system's C compiler to compile @file{stmt.c}. Here is how:
@ -3223,7 +3223,7 @@ echo '/lib/cpp.gnu -traditional $@{1+"$@@"@}' > /lib/cpp
chmod +x /lib/cpp
@end smallexample
The system's compiler produces bad code for some of the GNU CC
The system's compiler produces bad code for some of the GCC
optimization files. So you must build the stage 2 compiler without
optimization. Then build a stage 3 compiler with optimization.
That executable should work. Here are the necessary commands:

View File

@ -904,7 +904,7 @@ programs that might use these names for other things.
Functions which would normally be built in but do not have semantics
defined by ISO C (such as @code{alloca} and @code{ffs}) are not built-in
functions with @option{-ansi} is used. @xref{Other Builtins,,Other
built-in functions provided by GNU CC}, for details of the functions
built-in functions provided by GCC}, for details of the functions
affected.
@item -std=
@ -994,7 +994,7 @@ switch only affects the @code{asm} and @code{typeof} keywords, since
@cindex built-in functions
Don't recognize built-in functions that do not begin with
@samp{__builtin_} as prefix. @xref{Other Builtins,,Other built-in
functions provided by GNU CC}, for details of the functions affected,
functions provided by GCC}, for details of the functions affected,
including those which are not built-in functions when @option{-ansi} or
@option{-std} options for strict ISO C conformance are used because they
do not have an ISO standard meaning.
@ -1934,7 +1934,7 @@ In C, every @code{else} branch belongs to the innermost possible @code{if}
statement, which in this example is @code{if (b)}. This is often not
what the programmer expected, as illustrated in the above example by
indentation the programmer chose. When there is the potential for this
confusion, GNU C will issue a warning when this flag is specified.
confusion, GCC will issue a warning when this flag is specified.
To eliminate the warning, add explicit braces around the innermost
@code{if} statement so there is no way the @code{else} could belong to
the enclosing @code{if}. The resulting code would look like this:
@ -6303,12 +6303,12 @@ references. In particular, a load instruction may execute before
a preceding store instruction. Such reordering violates
sequential consistency of volatile memory references, when there
are multiple processors. When consistency must be guaranteed,
GNU C generates special instructions, as needed, to force
GCC generates special instructions, as needed, to force
execution in the proper order.
The MC88100 processor does not reorder memory references and so
always provides sequential consistency. However, by default, GNU
C generates the special instructions to guarantee consistency
always provides sequential consistency. However, by default, GCC
generates the special instructions to guarantee consistency
even when you use @option{-m88100}, so that the code may be run on an
MC88110 processor. If you intend to run your code only on the
MC88100 processor, you may use @option{-mno-serialize-volatile}.
@ -6356,13 +6356,13 @@ zero will be detected. By default, detection is guaranteed.
Some models of the MC88100 processor fail to trap upon integer
division by zero under certain conditions. By default, when
compiling code that might be run on such a processor, GNU C
compiling code that might be run on such a processor, GCC
generates code that explicitly checks for zero-valued divisors
and traps with exception number 503 when one is detected. Use of
mno-check-zero-division suppresses such checking for code
generated to run on an MC88100 processor.
GNU C assumes that the MC88110 processor correctly detects all
GCC assumes that the MC88110 processor correctly detects all
instances of integer division by zero. When @option{-m88110} is
specified, both @option{-mcheck-zero-division} and
@option{-mno-check-zero-division} are ignored, and no explicit checks for
@ -6378,7 +6378,7 @@ On the MC88100 processor the signed integer division instruction
div) traps to the operating system on a negative operand. The
operating system transparently completes the operation, but at a
large cost in execution time. By default, when compiling code
that might be run on an MC88100 processor, GNU C emulates signed
that might be run on an MC88100 processor, GCC emulates signed
integer division using the unsigned integer division instruction
divu), thereby avoiding the large penalty of a trap to the
operating system. Such emulation has its own, smaller, execution
@ -8925,10 +8925,10 @@ it.
@item -fexceptions
@opindex fexceptions
Enable exception handling. Generates extra code needed to propagate
exceptions. For some targets, this implies GNU CC will generate frame
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
specify this option, GNU CC will enable it by default for languages like
specify this option, GCC will enable it by default for languages like
C++ which normally require exception handling, and disable it for
languages like C that do not normally require it. However, you may need
to enable this option when compiling C code that needs to interoperate
@ -9158,14 +9158,14 @@ stubs for every function you call, you might have to specify
@option{-fcheck-memory-usage} without @option{-fprefix-function-name}.
If you specify this option, you can not use the @code{asm} or
@code{__asm__} keywords in functions with memory checking enabled. GNU
CC cannot understand what the @code{asm} statement may do, and therefore
@code{__asm__} keywords in functions with memory checking enabled. GCC
cannot understand what the @code{asm} statement may do, and therefore
cannot generate the appropriate code, so it will reject it. However, if
you specify the function attribute @code{no_check_memory_usage}
(@pxref{Function Attributes}), GNU CC will disable memory checking within a
(@pxref{Function Attributes}), GCC will disable memory checking within a
function; you may use @code{asm} statements inside such functions. You
may have an inline expansion of a non-checked function within a checked
function; in that case GNU CC will not generate checks for the inlined
function; in that case GCC will not generate checks for the inlined
function's memory accesses.
If you move your @code{asm} statements to non-checked inline functions
@ -9385,7 +9385,7 @@ names of the subprograms executed by the compiler. No slash is added
when this prefix is combined with the name of a subprogram, but you can
specify a prefix that ends with a slash if you wish.
If @env{GCC_EXEC_PREFIX} is not set, GNU CC will attempt to figure out
If @env{GCC_EXEC_PREFIX} is not set, GCC will attempt to figure out
an appropriate prefix to use based on the pathname it was invoked with.
If GCC cannot find the subprogram using the specified prefix, it
@ -9484,7 +9484,7 @@ recognize and translate multibyte characters.
@node Running Protoize
@section Running Protoize
The program @code{protoize} is an optional part of GNU C. You can use
The program @code{protoize} is an optional part of GCC. You can use
it to add prototypes to a program, thus converting the program to ISO
C in one respect. The companion program @code{unprotoize} does the
reverse: it removes argument types from any prototypes that are found.

View File

@ -271,7 +271,7 @@ it is valid for mode @var{m}.
For an operand that must be a register, @var{predicate} should be
@code{"register_operand"}. Using @code{"general_operand"} would be
valid, since the reload pass would copy any non-register operands
through registers, but this would make GNU CC do extra work, it would
through registers, but this would make GCC do extra work, it would
prevent invariant operands (such as constant) from being removed from
loops, and it would prevent the register allocator from doing the best
possible job. On RISC machines, it is usually most efficient to allow
@ -2803,7 +2803,7 @@ the third is the address of a location where the stack is saved,
and the last is the address of the label, to be placed in the
location for the incoming static chain.
On most machines you need not define this pattern, since GNU CC will
On most machines you need not define this pattern, since GCC will
already generate the correct code, which is to load the frame pointer
and static chain, restore the stack (using the
@samp{restore_stack_nonlocal} pattern, if defined), and jump indirectly
@ -2813,7 +2813,7 @@ not work on your machine.
@cindex @code{nonlocal_goto_receiver} instruction pattern
@item @samp{nonlocal_goto_receiver}
This pattern, if defined, contains code needed at the target of a
nonlocal goto after the code already generated by GNU CC. You will not
nonlocal goto after the code already generated by GCC. You will not
normally need to define this pattern. A typical reason why you might
need this pattern is if some value, such as a pointer to a global table,
must be restored when the frame pointer is restored. Note that a nonlocal
@ -3051,7 +3051,7 @@ generating the appropriate machine instruction.
@cindex jump instruction patterns
@cindex defining jump instruction patterns
For most machines, GNU CC assumes that the machine has a condition code.
For most machines, GCC assumes that the machine has a condition code.
A comparison insn sets the condition code, recording the results of both
signed and unsigned comparison of the given operands. A separate branch
insn tests the condition code and branches or not according its value.
@ -3070,7 +3070,7 @@ the RTL says that is an unsigned branch, output an unsigned compare;
otherwise output a signed compare. When the branch itself is output, you
can treat signed and unsigned branches identically.
The reason you can do this is that GNU CC always generates a pair of
The reason you can do this is that GCC always generates a pair of
consecutive RTL insns, possibly separated by @code{note} insns, one to
set the condition code and one to test it, and keeps the pair inviolate
until the end.
@ -3176,7 +3176,7 @@ iterations. This avoids the need for fetching and executing a
@samp{dbra}-like instruction and avoids pipeline stalls associated with
the jump.
GNU CC has three special named patterns to support low overhead looping,
GCC has three special named patterns to support low overhead looping,
@samp{decrement_and_branch_until_zero}, @samp{doloop_begin}, and
@samp{doloop_end}. The first pattern,
@samp{decrement_and_branch_until_zero}, is not emitted during RTL
@ -3412,8 +3412,8 @@ is no implicit surrounding @code{PARALLEL}.
@item
The condition, a string containing a C expression. This expression is
used to express how the availability of this pattern depends on
subclasses of target machine, selected by command-line options when GNU
CC is run. This is just like the condition of a @code{define_insn} that
subclasses of target machine, selected by command-line options when GCC
is run. This is just like the condition of a @code{define_insn} that
has a standard name. Therefore, the condition (if present) may not
depend on the data in the insn being matched, but only the
target-machine-type flags. The compiler needs to test these conditions
@ -3443,7 +3443,7 @@ is used. In particular, it gives a predicate for each operand.
A true operand, which needs to be specified in order to generate RTL from
the pattern, should be described with a @code{match_operand} in its first
occurrence in the RTL template. This enters information on the operand's
predicate into the tables that record such things. GNU CC uses the
predicate into the tables that record such things. GCC uses the
information to preload the operand into a register if that is required for
valid RTL code. If the operand is referred to more than once, subsequent
references should use @code{match_dup}.

View File

@ -546,7 +546,7 @@ field and printed as @samp{/s}.
@item CONSTANT_POOL_ADDRESS_P (@var{x})
Nonzero in a @code{symbol_ref} if it refers to part of the current
function's ``constants pool''. These are addresses close to the
beginning of the function, and GNU CC assumes they can be addressed
beginning of the function, and GCC assumes they can be addressed
directly (perhaps with the help of base registers). Stored in the
@code{unchanging} field and printed as @samp{/u}.
@ -977,7 +977,7 @@ Similarly, there is only one object for the integer whose value is
@item (const_double:@var{m} @var{addr} @var{i0} @var{i1} @dots{})
Represents either a floating-point constant of mode @var{m} or an
integer constant too large to fit into @code{HOST_BITS_PER_WIDE_INT}
bits but small enough to fit within twice that number of bits (GNU CC
bits but small enough to fit within twice that number of bits (GCC
does not provide a mechanism to represent even larger constants). In
the latter case, @var{m} will be @code{VOIDmode}.
@ -2093,7 +2093,7 @@ insn. However, the reload phase may allocate a register used for one of
the inputs unless the @samp{&} constraint is specified for the selected
alternative (@pxref{Modifiers}). You can clobber either a specific hard
register, a pseudo register, or a @code{scratch} expression; in the
latter two cases, GNU CC will allocate a hard register that is available
latter two cases, GCC will allocate a hard register that is available
there for use as a temporary.
For instructions that require a temporary register, you should use
@ -3189,14 +3189,14 @@ problem since reading RTL occurs only as part of building the
compiler.
People frequently have the idea of using RTL stored as text in a file as
an interface between a language front end and the bulk of GNU CC. This
an interface between a language front end and the bulk of GCC. This
idea is not feasible.
GNU CC was designed to use RTL internally only. Correct RTL for a given
GCC was designed to use RTL internally only. Correct RTL for a given
program is very dependent on the particular target machine. And the RTL
does not contain all the information about the program.
The proper way to interface GNU CC to a new language front end is with
The proper way to interface GCC to a new language front end is with
the ``tree'' data structure, described in the files @file{tree.h} and
@file{tree.def}. The documentation for this structure (@pxref{Trees})
is incomplete.

View File

@ -6816,8 +6816,8 @@ fprintf (@var{stream}, "\t.word L%d-L%d\n",
@end example
You must provide this macro on machines where the addresses in a
dispatch table are relative to the table's own address. If defined, GNU
CC will also use this macro on all machines when producing PIC.
dispatch table are relative to the table's own address. If defined, GCC
will also use this macro on all machines when producing PIC.
@var{body} is the body of the ADDR_DIFF_VEC; it is provided so that the
mode and flags can be read.
@ -7256,14 +7256,14 @@ first.
@item DBX_BLOCKS_FUNCTION_RELATIVE
Define this macro if the value of a symbol describing the scope of a
block (@code{N_LBRAC} or @code{N_RBRAC}) should be relative to the start
of the enclosing function. Normally, GNU C uses an absolute address.
of the enclosing function. Normally, GCC uses an absolute address.
@findex DBX_USE_BINCL
@item DBX_USE_BINCL
Define this macro if GNU C should generate @code{N_BINCL} and
Define this macro if GCC should generate @code{N_BINCL} and
@code{N_EINCL} stabs for included header files, as on Sun systems. This
macro also directs GNU C to output a type number as a pair of a file
number and a type number within the file. Normally, GNU C does not
macro also directs GCC to output a type number as a pair of a file
number and a type number within the file. Normally, GCC does not
generate @code{N_BINCL} or @code{N_EINCL} stabs, and it outputs a single
number for a type number.
@end table