Differences between version 3 and predecessor to the previous major change of gcc(1).
Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History
Newer page: | version 3 | Last edited on Saturday, August 23, 2003 6:49:12 pm | by StuartYeates | Revert |
Older page: | version 2 | Last edited on Tuesday, June 4, 2002 12:22:03 am | by perry | Revert |
@@ -1,6 +1,6 @@
-GCC
!!!GCC
+!Table of Contents
NAME
SYNOPSIS
WARNING
DESCRIPTION
@@ -27,9 +27,9 @@
----
!!NAME
-gcc, g++ - GNU project C and C++ Compiler (gcc-2.95)
+gcc, g++ - [
GNU]
project [
C]
and [
C++] [
Compiler]
(gcc-2.95)
!!SYNOPSIS
__gcc__ [[ ''option'' | ''filename'' ]...__
@@ -37,9 +37,9 @@
!!WARNING
The information in this man page is an extract from the full
-documentation of the GNU C compiler
, and is limited to the
+documentation of the [
GNU]
C [Compiler]
, and is limited to the
meaning of the options.
This man page is not kept up to date except when volunteers
@@ -59,9 +59,9 @@
For complete and current documentation, refer to the Info
file `__gcc__' or the manual ''Using and Porting GNU CC
-(for version 2.)''. Both are made from the Texinfo source
+(for version 2.)''. Both are made from the [
Texinfo|texinfo(5)]
source
file __gcc.texinfo__.
!!DESCRIPTION
@@ -89,18 +89,18 @@
Suffixes of source file names indicate the language and kind
of processing to be done:
-__.c__ C source; preprocess, compile, assemble
-__.C__ C++ source; preprocess, compile, assemble
-__.cc__ C++ source; preprocess, compile, assemble
-__.cxx__ C++ source; preprocess, compile, assemble
-__.m__ Objective-C source; preprocess, compile, assemble
-__.i__ preprocessed C; compile, assemble
-__.ii__ preprocessed C++; compile, assemble
-__.s__ Assembler source; assemble
-__.S__ Assembler source; preprocess, assemble
-__.h__ Preprocessor file; not usually named on command line
+ *
__.c__ [
C]
source; preprocess, compile, assemble
+ *
__.C__ [
C++]
source; preprocess, compile, assemble
+ *
__.cc__ C++ source; preprocess, compile, assemble
+ *
__.cxx__ C++ source; preprocess, compile, assemble
+ *
__.m__ [
Objective-C]
source; preprocess, compile, assemble
+ *
__.i__ preprocessed C; compile, assemble
+ *
__.ii__ preprocessed C++; compile, assemble
+ *
__.s__ [
Assembler|AssemblyLanguage]
source; assemble
+ *
__.S__ Assembler source; preprocess, assemble
+ *
__.h__ Preprocessor file; not usually named on command line
Files with other suffixes are passed to the linker. Common cases include:
__.o__ Object file
@@ -144,9 +144,9 @@
__Warning Options__
--fsyntax-only -pedantic -pedantic-errors -w -W -Wall
+-fsyntax-only -pedantic -pedantic-errors -w -W [
-Wall]
-Waggregate-return -Wcast-align -Wcast-qual -Wchar-subscript
-Wcomment -Wconversion -Wenum-clash -Werror -Wformat
-Wid-clash-''len'' -Wimplicit -Wimplicit-int
-Wimplicit-function-declaration -Winline -Wlong-long -Wmain
@@ -322,12 +322,11 @@
Specify explicitly the ''language'' for the following
input files (rather than choosing a default based on the
file name suffix) . This option applies to all following
-input files until the next `__-x__' op- tion
. Possible
-values of ''language'' are `__c__', `__objec-
-tive
-c__', `__c-header__', `__c++__',
-`__cpp-output__', `__assem- bler
__', and
+input files until the next `__-x__' option
. Possible
+values of ''language'' are `__c__', `__objective
-c__', `__c-header__', `__c++__',
+`__cpp-output__', `__assembler
__', and
`__assembler-with-cpp__'.
__-x none__
@@ -340,9 +339,9 @@
If you want only some of the four stages (preprocess, com-
pile, assemble, link), you can use `__-x__' (or filename
-suf- fixes
) to tell __gcc__ where to start, and one of
+suffixes
) to tell __gcc__ where to start, and one of
the options `__-c__', `__-S__', or `__-E__' to say
where __gcc__ is to stop. Note that some combinations
(for example, `__-x cpp-output -E__') instruct __gcc__
to do nothing at all.
@@ -351,9 +350,9 @@
__-c__
Compile or assemble the source files, but do not link. The
-compiler output is an object file corre- sponding
to each
+compiler output is an object file corresponding
to each
source file.
By default, GCC makes the object file name for a source file
@@ -422,20 +421,20 @@
__-v__
-Print (on standard error output) the commands exe- cuted
to
+Print (on standard error output) the commands executed
to
run the stages of compilation. Also print the version number
of the compiler driver program and of the preprocessor and
the compiler proper.
__-pipe__
-Use pipes rather than temporary files for communi- cation
+Use pipes rather than temporary files for communication
between the various stages of compilation. This fails to
-work on some systems where the assem- bler
cannot read from
+work on some systems where the assembler
cannot read from
a pipe; but the GNU assembler has no trouble.
!!LANGUAGE OPTIONS
@@ -449,9 +448,9 @@
Support all ANSI standard C programs.
This turns off certain features of GNU C that are
-incompatible with ANSI C, such as the __asm__,
+incompatible with [
ANSI] [
C]
, such as the __asm__,
__inline__ and __typeof__ keywords, and predefined
macros such as __unix__ and __vax__ that identify the
type of system you are using. It also enables the
undesirable and rarely used ANSI trigraph feature, and
@@ -461,11 +460,11 @@
The alternate keywords ____asm____, ____extension____,
____inline____ and ____typeof____ continue to work
despite `__-ansi__'. You would not want to use them in an
ANSI C program, of course, but it is useful to put them in
-header files that might be included in compila- tions
done
+header files that might be included in compilations
done
with `__-ansi__'. Alternate predefined macros such as
-____unix____ and ____vax____ are also avail- able
,
+____unix____ and ____vax____ are also available
,
with or without `__-ansi__'.
The `__-ansi__' option does not cause non-ANSI programs
@@ -485,18 +484,18 @@
__-fno-asm__
Do not recognize __asm__, __inline__ or __typeof__
-as a key- word
. These words may then be used as identifiers.
+as a keyword
. These words may then be used as identifiers.
You can use ____asm____, ____inline____ and
-____typeof____ in- stead
. `__-ansi__' implies
+____typeof____ instead
. `__-ansi__' implies
`__-fno-asm__'.
__-fno-builtin__
-Don't recognize built-in functions that do not be- gin
with
+Don't recognize built-in functions that do not begin
with
two leading underscores. Currently, the functions affected
include ___exit__, __abort__, __abs__, __allo-
ca__, __cos__, __exit__, __fabs__, __labs__,
__memcmp__, __memcpy__, __sin__, __sqrt__,
@@ -519,18 +518,18 @@
__-ffreestanding__
-Compile for a freestanding environment; this im- plies
the
+Compile for a freestanding environment; this implies
the
`__-fno-builtin__' option, and implies that __main__
has no special requirements.
__-fno-strict-prototype__
Treat a function declaration with no arguments, such as
-`__int foo__ ();', as C would treat it--as say- ing
+`__int foo__ ();', as C would treat it--as saying
nothing about the number of arguments or their types (C++
only). Normally, such a declaration in C++ means that the
function __foo__ takes no arguments.
@@ -579,9 +578,9 @@
__-fenum-int-equiv__
Permit implicit conversion of __int__ to enumeration
-types (C++ only). Normally GNU C++ allows conver- sion
of
+types (C++ only). Normally GNU C++ allows conversion
of
__enum__ to __int__, but not the other way
around.
@@ -591,18 +590,18 @@
Produce smaller code for template declarations, by
generating only a single copy of each template function
where it is defined (C++ only). To use this option
successfully, you must also mark all files that use
-templates with either `__#pragma im- plementation
__' (the
-definition) or `__#pragma inter- face
__'
+templates with either `__#pragma implementation
__' (the
+definition) or `__#pragma interface
__'
(declarations).
When your code is compiled with `__-fexternal-tem-
plates__', all template instantiations are external. You
must arrange for all necessary instantiations to appear in
the implementation file; you can do this with a
-__typedef__ that references each instantia- tion
needed.
+__typedef__ that references each instantiation
needed.
Conversely, when you compile using the default option
`__-fno-external-templates__', all template
instantiations are explicitly internal.
@@ -610,9 +609,9 @@
__-fall-virtual__
Treat all possible member functions as virtual, im-
-plicitly. All member functions (except for con- structor
+plicitly. All member functions (except for constructor
functions and __new__ or __delete__ member opera-
tors) are treated as virtual functions of the class where
they appear.
@@ -712,9 +711,9 @@
Store string constants in the writable data segment and
don't uniquize them. This is for compatibility with old
programs which assume they can write into string constants.
-`__-traditional__' also has this ef- fect
.
+`__-traditional__' also has this effect
.
Writing into string constants is a very bad idea;
``constants'' should be constant.
@@ -725,10 +724,10 @@
each C source file before actual compilation.
If you use the `__-E__' option, GCC does nothing except
-pre- processing
. Some of these options make sense only
-togeth- er
with `__-E__' because they cause the
+preprocessing
. Some of these options make sense only
+together
with `__-E__' because they cause the
preprocessor output to be unsuitable for actual
compilation.
@@ -741,21 +740,21 @@
the command line are always processed before
`__-include__ ''file''', regardless of the order in
which they are written. All the `__-include__' and
`__-imacros__' options are processed in the order in
-which they are writ- ten
.
+which they are written
.
__-imacros__ ''file''
Process ''file'' as input, discarding the resulting
output, before processing the regular input file. Because
-the output generated from ''file'' is discard- ed
, the
+the output generated from ''file'' is discarded
, the
only effect of `__-imacros__ ''file''' is to make the
macros defined in ''file'' available for use in the main
input. The preprocessor evaluates any `__-D__' and
-`__-U__' options on the command line before pro- cessing
+`__-U__' options on the command line before processing
`__-imacros__''file''', regardless of the order in
which they are written. All the `__-include__' and
`__-imacros__' options are processed in the order in
which they are written.
@@ -790,9 +789,9 @@
__-nostdinc__
Do not search the standard system directories for header
-files. Only the directories you have speci- fied
with
+files. Only the directories you have specified
with
`__-I__' options (and the current directory, if
appropriate) are searched.
@@ -812,9 +811,9 @@
__-undef__
-Do not predefine any nonstandard macros. (Includ- ing
+Do not predefine any nonstandard macros. (Including
architecture flags).
__-E__
@@ -843,22 +842,22 @@
Tell the preprocessor to output a rule suitable for
__make__ describing the dependencies of each object file.
-For each source file, the preprocessor out- puts
one
+For each source file, the preprocessor outputs
one
__make__-rule whose target is the object file name for
that source file and whose dependencies are all the files
`__#include__'d in it. This rule may be a single line or
-may be continued with `__\__'-new- line
if it is long.
+may be continued with `__\__'-newline
if it is long.
The list of rules is printed on standard output instead of
the preprocessed C program.
`__-M__' implies `__-E__'.
`__-MG__' says to treat missing header files as gener-
-ated files and assume they live in the same direc- tory
as
+ated files and assume they live in the same directory
as
the source file. It must be specified in addition to
`__-M__'.
@@ -877,9 +876,9 @@
Like `__-M__' but the dependency information is written
to files with names made by replacing `__.o__' with
`__.d__' at the end of the output file names. This is in
-addition to compiling the file as speci- fied
--`__-MD__'
+addition to compiling the file as specified
--`__-MD__'
does not inhibit ordinary compilation the way `__-M__'
does.
@@ -897,9 +896,9 @@
__-H__
-Print the name of each header file used, in addi- tion
to
+Print the name of each header file used, in addition
to
other normal activities.
__-A__''question''__(__''answer''__)__
@@ -907,9 +906,9 @@
Assert the answer ''answer'' for ''question'', in case
it is tested with a preprocessor conditional such as `__#if
#__''question''__(__''answer''__)__'.
-`__-A-__' disables the stan- dard
assertions that
+`__-A-__' disables the standard
assertions that
normally describe the target machine.
__-A__''question''
@@ -926,9 +925,9 @@
__-D__''macro''
Define macro ''macro'' with the string `__1__' as its
-defi- nition
.
+definition
.
__-D__''macro''__=__''defn''
@@ -989,12 +988,12 @@
''object-file-name''
-A file name that does not end in a special recog- nized
+A file name that does not end in a special recognized
suffix is considered to name an object file or library.
(Object files are distinguished from libraries by the linker
-according to the file con- tents
.) If GCC does a link step,
+according to the file contents
.) If GCC does a link step,
these object files are used as input to the
linker.
@@ -1017,9 +1016,9 @@
Normally the files found this way are library files--archive
files whose members are object files. The linker handles an
-archive file by scan- ning
through it for members which
+archive file by scanning
through it for members which
define symbols that have so far been referenced but not
defined. However, if the linker finds an ordinary object
file rather than a library, the object file is linked in the
usual fashion. The only difference between using an
@@ -1052,9 +1051,9 @@
__-static__
-On systems that support dynamic linking, this pre- vents
+On systems that support dynamic linking, this prevents
linking with the shared libraries. On other systems, this
option has no effect.
@@ -1069,9 +1068,9 @@
__-symbolic__
Bind references to global symbols when building a shared
-object. Warn about any unresolved refer- ences
(unless
+object. Warn about any unresolved references
(unless
overridden by the link editor option `__-Xlinker -z
-Xlinker defs__'). Only a few systems support this
option.
@@ -1083,12 +1082,12 @@
this to supply system-specific linker options which GNU CC
does not know how to recognize.
-If you want to pass an option that takes an argu- ment
, you
+If you want to pass an option that takes an argument
, you
must use `__-Xlinker__' twice, once for the option and
once for the argument. For example, to pass `__-assert
-definitions__', you must write `__-Xlink- er
-assert
+definitions__', you must write `__-Xlinker
-assert
-Xlinker definitions__'. It does not work to write
`__-Xlinker __', because
this passes the entire string as a single argument, which is
not what the linker expects.
@@ -1142,9 +1141,9 @@
In addition, the `__-I-__' option inhibits the use of the
current directory (where the current input file came from)
-as the first search directory for `__#in- clude
+as the first search directory for `__#include
__''file''____'. There is no way to
override this effect of `__-I-__'. With `__-I.__' you
can specify searching the directory which was current when
the compiler was invoked. That is not exactly the same as
@@ -1166,9 +1165,9 @@
__-B__''prefix''
-This option specifies where to find the executa- bles
,
+This option specifies where to find the executables
,
libraries and data files of the compiler it-
self.
@@ -1185,9 +1184,9 @@
found, or if `__-B__' was not specified, the driver tries
two standard prefixes, which are `__/usr/lib/gcc/__' and
`__/usr/local/lib/gcc-lib/__'. If neither of those
results in a file name that is found, the compiler driver
-searches for the unmodi- fied
program name, using the
+searches for the unmodified
program name, using the
directories specified in your `__PATH__' environment
variable.
@@ -1244,22 +1243,22 @@
reject all programs that use forbidden
extensions.
-Valid ANSI standard C programs should compile prop- erly
+Valid ANSI standard C programs should compile properly
with or without this option (though a rare few will require
-`__-ansi__'). However, without this op- tion
, certain GNU
-extensions and traditional C fea- tures
are supported as
+`__-ansi__'). However, without this option
, certain GNU
+extensions and traditional C features
are supported as
well. With this option, they are rejected. There is no
reason to ''use'' this option; it exists only to satisfy
pedants.
`__-pedantic__' does not cause warning messages for use
of the alternate keywords whose names begin and end with
`______'. Pedantic warnings are also disabled in the
-expression that follows ____extension____. Howev- er
,
-only system header files should use these es- cape
routes;
+expression that follows ____extension____. However
,
+only system header files should use these escape
routes;
application programs should avoid them.
__-pedantic-errors__
@@ -1287,11 +1286,11 @@
because __longjmp__ cannot in fact be called at the place
which would cause a problem.
-A function can return either with or without a val- ue
.
+A function can return either with or without a value
.
(Falling off the end of the function body is considered
-returning without a value.) For exam- ple
, this function
+returning without a value.) For example
, this function
would evoke such a warning:
foo (a)
@@ -1300,9 +1299,9 @@
Spurious warnings can occur because GNU CC does not realize that certain functions (including __abort__ and __longjmp__) will never return.
An expression-statement or the left-hand side of a comma
-expression contains no side effects. To sup- press
the
+expression contains no side effects. To suppress
the
warning, cast the unused expression to void. For example, an
expression such as `__x[[i,j]__' will cause a warning, but
`__x[[(void)i,j]__' will not.
@@ -1335,17 +1334,17 @@
__-Wmain__
Warn if the __main__ function is declared or defined with
-a suspicious type. Typically, it is a func- tion
with
-external linkage, returning __int__, and tak- ing
zero or
+a suspicious type. Typically, it is a function
with
+external linkage, returning __int__, and taking
zero or
two arguments.
__-Wreturn-type__
-Warn whenever a function is defined with a re- turn
-type
+Warn whenever a function is defined with a return
-type
that defaults to __int__. Also warn about any
__return__ statement with no return-value in a function
whose return-type is not __void__.
@@ -1395,9 +1394,9 @@
__-Wchar-subscripts__
Warn if an array subscript has type __char__. This is a
-common cause of error, as programmers often for- get
that
+common cause of error, as programmers often forget
that
this type is signed on some machines.
__-Wuninitialized__
@@ -1407,9 +1406,9 @@
initialized.
These warnings are possible only in optimizing com-
-pilation, because they require data flow informa- tion
that
+pilation, because they require data flow information
that
is computed only when optimizing. If you don't specify
`__-O__', you simply won't get these
warnings.
@@ -1423,9 +1422,9 @@
Note that there may be no warning about a variable that is
used only to compute a value that itself is never used,
-because such computations may be delet- ed
by data flow
+because such computations may be deleted
by data flow
analysis before the warnings are printed.
These warnings are made optional because GNU CC is not smart
@@ -1457,9 +1456,9 @@
}
This has no bug because __save_y__ is used only if it is set.
-Some spurious warnings can be avoided if you de- clare
as
+Some spurious warnings can be avoided if you declare
as
__volatile__ all the functions you use that never
return.
@@ -1472,17 +1471,17 @@
__-Wtemplate-debugging__
-When using templates in a C++ program, warn if de- bugging
+When using templates in a C++ program, warn if debugging
is not yet fully available (C++ only).
-__-Wall__
+__[
-Wall]
__
All of the above `__-W__' options combined. These are all
-the options which pertain to usage that we rec- ommend
+the options which pertain to usage that we recommend
avoiding and that we believe is easy to avoid, even in
conjunction with macros.
@@ -1494,15 +1493,15 @@
__-Wtraditional__
-Warn about certain constructs that behave differ- ently
in
+Warn about certain constructs that behave differently
in
traditional and ANSI C.
Macro arguments occurring within string constants in the
-macro body. These would substitute the ar- gument
in
-traditional C, but are part of the con- stant
in ANSI
+macro body. These would substitute the argument
in
+traditional C, but are part of the constant
in ANSI
C.
A function declared external in one block and then used
@@ -1515,9 +1514,9 @@
__-Wshadow__
-Warn whenever a local variable shadows another lo- cal
+Warn whenever a local variable shadows another local
variable.
__-Wid-clash-__''len''
@@ -1549,12 +1548,12 @@
__-Wcast-align__
-Warn whenever a pointer is cast such that the re- quired
+Warn whenever a pointer is cast such that the required
alignment of the target is increased. For example, warn if a
-__char__ is cast to an __int__ on ma- chines
where
-integers can only be accessed at two- or
four-byte
+__char__ is cast to an __int__ on machines
where
+integers can only be accessed at twoor
four-byte
boundaries.
__-Wwrite-strings__
@@ -1574,10 +1573,10 @@
__-Wconversion__
Warn if a prototype causes a type conversion that is
-different from what would happen to the same ar- gument
in
-the absence of a prototype. This in- cludes
conversions of
+different from what would happen to the same argument
in
+the absence of a prototype. This includes
conversions of
fixed point to floating and vice versa, and conversions
changing the width or signedness of a fixed point argument
except when the same as the default promotion.
@@ -1586,34 +1585,34 @@
Warn if any functions that return structures or unions are
defined or called. (In languages where you can return an
-array, this also elicits a warn- ing
.)
+array, this also elicits a warning
.)
__-Wstrict-prototypes__
Warn if a function is declared or defined without specifying
-the argument types. (An old-style func- tion
definition is
+the argument types. (An old-style function
definition is
permitted without a warning if preceded by a declaration
-which specifies the argu- ment
types.)
+which specifies the argument
types.)
__-Wmissing-prototypes__
-Warn if a global function is defined without a pre- vious
-prototype declaration. This warning is is- sued
even if the
-definition itself provides a pro- totype
. The aim is to
+Warn if a global function is defined without a previous
+prototype declaration. This warning is issued
even if the
+definition itself provides a prototype
. The aim is to
detect global functions that fail to be declared in header
files.
__-Wmissing-declarations__
-Warn if a global function is defined without a pre- vious
+Warn if a global function is defined without a previous
declaration. Do so even if the definition itself provides a
prototype. Use this option to detect global functions that
are not declared in header files.
@@ -1621,9 +1620,9 @@
__-Wredundant-decls__
Warn if anything is declared more than once in the same
-scope, even in cases where multiple declara- tion
is valid
+scope, even in cases where multiple declaration
is valid
and changes nothing.
__-Wnested-externs__
@@ -1659,17 +1658,17 @@
request warnings when a derived class declares a function
that may be an erroneous attempt to define a virtual
function: that is, warn when a function with the same name
as a virtual function in the base class, but with a type
-signa- ture
that doesn't match any virtual functions from
+signature
that doesn't match any virtual functions from
the base class.
__-Winline__
Warn if a function can not be inlined, and either it was
-declared as inline, or else the __-fin- line
-functions__
+declared as inline, or else the __-finline
-functions__
option was given.
__-Werror__
@@ -1686,17 +1685,17 @@
__-g__
-Produce debugging information in the operating sys- tem
's
+Produce debugging information in the operating system
's
native format (stabs, COFF, XCOFF, or DWARF). GDB can work
with this debugging information.
On most systems that use stabs format, `__-g__' enables
use of extra debugging information that only GDB can use;
this extra information makes debugging work better in GDB
-but will probably make other de- buggers
crash or refuse to
+but will probably make other debuggers
crash or refuse to
read the program. If you want to control for certain whether
to generate the extra information, use `__-gstabs+__',
`__-gstabs__', `__-gxcoff+__', `__-gxcoff__',
`__-gdwarf+__', or `__-gdwarf__' (see
@@ -1704,19 +1703,19 @@
Unlike most other C compilers, GNU CC allows you to use
`__-g__' with `__-O__'. The shortcuts taken by opti-
-mized code may occasionally produce surprising re- sults
:
+mized code may occasionally produce surprising results
:
some variables you declared may not exist at all; flow of
control may briefly move where you did not expect it; some
statements may not be executed because they compute constant
-results or their val- ues
were already at hand; some
-statements may exe- cute
in different places because they
+results or their values
were already at hand; some
+statements may execute
in different places because they
were moved out of loops.
Nevertheless it proves possible to debug optimized output.
-This makes it reasonable to use the opti- mizer
for programs
+This makes it reasonable to use the optimizer
for programs
that might have bugs.
The following options are useful when GNU CC is generated
@@ -1811,14 +1810,14 @@
Level 1 produces minimal information, enough for making
backtraces in parts of the program that you don't plan to
debug. This includes descriptions of functions and external
-variables, but no informa- tion
about local variables and no
+variables, but no information
about local variables and no
line numbers.
Level 3 includes extra information, such as all the macro
-definitions present in the program. Some de- buggers
support
+definitions present in the program. Some debuggers
support
macro expansion when you use `__-g3__'.
__-p__
@@ -1842,9 +1841,9 @@
blocks, which will record the number of times each basic
block is executed. This data could be analyzed by a program
like __tcov__. Note, however, that the format of the data
is not what __tcov__ expects. Eventually GNU __gprof__
-should be ex- tended
to process this data.
+should be extended
to process this data.
__-ax__
@@ -1871,18 +1870,18 @@
__-d__''letters''
Says to make debugging dumps during compilation at times
-specified by ''letters''. This is used for de- bugging
+specified by ''letters''. This is used for debugging
the compiler. The file names for most of the dumps are made
by appending a word to the source file name (e.g.
`__foo.c.rtl__' or `__foo.c.jump__').
__-dM__
-Dump all macro definitions, at the end of prepro- cessing
,
+Dump all macro definitions, at the end of preprocessing
,
and write no output.
__-dN__
@@ -1894,16 +1893,16 @@
__-dD__
-Dump all macro definitions, at the end of prepro- cessing
,
+Dump all macro definitions, at the end of preprocessing
,
in addition to normal output.
__-dy__
-Dump debugging information during parsing, to stan- dard
+Dump debugging information during parsing, to standard
error.
__-dr__
@@ -1915,9 +1914,9 @@
__-dx__
-Just generate RTL for a function instead of compil- ing
it.
+Just generate RTL for a function instead of compiling
it.
Usually used with `__r__'.
__-dj__
@@ -2028,9 +2027,9 @@
__-dp__
-Annotate the assembler output with a comment indi- cating
+Annotate the assembler output with a comment indicating
which pattern and alternative was used.
__-fpretend-float__
@@ -2040,17 +2039,17 @@
machine uses the same floating point format as the host
machine. This causes incorrect output of the actual floating
constants, but the actual instruction sequence will probably
be the same as GNU CC would make when running on the target
-ma- chine
.
+machine
.
__-save-temps__
Store the usual ``temporary'' intermediate files
permanently; place them in the current directory and name
-them based on the source file. Thus, com- piling
+them based on the source file. Thus, compiling
`__foo.c__' with `__-c -save-temps__' would produce
files `__foo.cpp__' and `__foo.s__', as well as
`__foo.o__'.
@@ -2088,18 +2087,18 @@
__-O1__
Optimize. Optimizing compilation takes somewhat more time,
-and a lot more memory for a large func- tion
.
+and a lot more memory for a large function
.
Without `__-O__', the compiler's goal is to reduce the
cost of compilation and to make debugging produce the
expected results. Statements are independent: if you stop
the program with a breakpoint between statements, you can
then assign a new value to any variable or change the
program counter to any other statement in the function and
-get exactly the re- sults
you would expect from the source
+get exactly the results
you would expect from the source
code.
Without `__-O__', only variables declared __register__
@@ -2114,20 +2113,20 @@
When you specify `__-O__', the two options
`__-fthread-jumps__' and `__-fdefer-pop__' are turned
on. On machines that have delay slots, the `__-fde-
-layed-branch__' option is turned on. For those ma- chines
+layed-branch__' option is turned on. For those machines
that can support debugging even without a frame pointer, the
`__-fomit-frame-pointer__' option is turned on. On some
machines other flags may also be turned on.
__-O2__
-Optimize even more. Nearly all supported optimiza- tions
+Optimize even more. Nearly all supported optimizations
that do not involve a space-speed tradeoff are performed.
-Loop unrolling and function inlin- ing
are not done, for
+Loop unrolling and function inlining
are not done, for
example. As compared to __-O__, this option increases
both compilation time and the performance of the generated
code.
@@ -2163,16 +2162,16 @@
__-ffloat-store__
Do not store floating point variables in registers. This
-prevents undesirable excess precision on ma- chines
such as
-the 68000 where the floating regis- ters
(of the 68881) keep
-more precision than a __dou- ble
__ is supposed to
+prevents undesirable excess precision on machines
such as
+the 68000 where the floating registers
(of the 68881) keep
+more precision than a __double
__ is supposed to
have.
For most programs, the excess precision does only good, but
-a few programs rely on the precise defi- nition
of IEEE
+a few programs rely on the precise definition
of IEEE
floating point. Use `__-ffloat-store__' for such
programs.
@@ -2205,34 +2204,34 @@
makes six passes through all three steps. By using a
software cache, a ``hit'' significantly reduces this cost.
-Unfortunately, using the cache intro- duces
another layer of
-mechanisms which must be im- plemented
, and so incurs its
-own overhead. `__-fmem- oize
-lookups__' enables the
+Unfortunately, using the cache introduces
another layer of
+mechanisms which must be implemented
, and so incurs its
+own overhead. `__-fmemoize
-lookups__' enables the
software cache.
Because access privileges (visibility) to members and member
functions may differ from one function context to the next,
__g++__ may need to flush the cache. With the
`__-fmemoize-lookups__' flag, the cache is flushed after
-every function that is com- piled
. The `-fsave-memoized'
+every function that is compiled
. The `-fsave-memoized'
flag enables the same software cache, but when the compiler
determines that the context of the last function compiled
would yield the same access privileges of the next function
to compile, it preserves the cache. This is most helpful
when defining many member functions for the same class: with
the exception of member functions which are friends of other
classes, each member function has exactly the same access
-privi- leges
as every other, and the cache need not be
+privileges
as every other, and the cache need not be
flushed.
__-fno-default-inline__
-Don't make member functions inline by default mere- ly
+Don't make member functions inline by default merely
because they are defined inside the class scope (C++
only).
@@ -2240,9 +2239,9 @@
Always pop the arguments to each function call as soon as
that function returns. For machines which must pop arguments
-after a function call, the com- piler
normally lets
+after a function call, the compiler
normally lets
arguments accumulate on the stack for several function calls
and pops them all at once.
@@ -2250,12 +2249,12 @@
Force memory operands to be copied into registers before
doing arithmetic on them. This may produce better code by
-making all memory references poten- tial
common
-subexpressions. When they are not com- mon
subexpressions,
+making all memory references potential
common
+subexpressions. When they are not common
subexpressions,
instruction combination should eliminate the separate
-register-load. I am inter- ested
in hearing about the
+register-load. I am interested
in hearing about the
difference this makes.
__-fforce-addr__
@@ -2270,19 +2269,19 @@
__-fomit-frame-pointer__
Don't keep the frame pointer in a register for functions
-that don't need one. This avoids the in- structions
to save,
-set up and restore frame point- ers
; it also makes an extra
+that don't need one. This avoids the instructions
to save,
+set up and restore frame pointers
; it also makes an extra
register available in many functions. ''It also makes
debugging impossible on most machines''.
On some machines, such as the Vax, this flag has no effect,
-because the standard calling sequence auto- matically
+because the standard calling sequence automatically
handles the frame pointer and nothing is saved by pretending
-it doesn't exist. The ma- chine
-description macro
-__FRAME_POINTER_REQUIRED__ con- trols
whether a target
+it doesn't exist. The machine
-description macro
+__FRAME_POINTER_REQUIRED__ controls
whether a target
machine supports this flag.
__-finline-functions__
@@ -2293,9 +2292,9 @@
enough to be worth integrating in this way.
If all calls to a given function are integrated, and the
-function is declared __static__, then GCC nor- mally
does
+function is declared __static__, then GCC normally
does
not output the function as assembler code in its own
right.
@@ -2303,23 +2302,23 @@
Enable values to be allocated in registers that will be
clobbered by function calls, by emitting extra instructions
-to save and restore the regis- ters
around such calls. Such
+to save and restore the registers
around such calls. Such
allocation is done only when it seems to result in better
code than would otherwise be produced.
-This option is enabled by default on certain ma- chines
,
+This option is enabled by default on certain machines
,
usually those which have no call-preserved registers to use
instead.
__-fkeep-inline-functions__
-Even if all calls to a given function are integrat- ed
, and
-the function is declared __static__, neverthe- less
+Even if all calls to a given function are integrated
, and
+the function is declared __static__, nevertheless
output a separate run-time callable version of the
function.
@@ -2348,17 +2347,17 @@
This option allows GCC to violate some ANSI or IEEE
rules/specifications in the interest of optimizing code for
-speed. For example, it allows the compil- er
to assume
+speed. For example, it allows the compiler
to assume
arguments to the __sqrt__ function are non-negative
numbers.
This option should never be turned on by any `__-O__'
option since it can result in incorrect output for programs
which depend on an exact implementation of IEEE or ANSI
-rules/specifications for math func- tions
.
+rules/specifications for math functions
.
The following options control specific optimizations. The
`__-O2__' option turns on all of these optimizations
@@ -2379,19 +2378,19 @@
__-fstrength-reduce__
-Perform the optimizations of loop strength reduc- tion
and
+Perform the optimizations of loop strength reduction
and
elimination of iteration variables.
__-fthread-jumps__
Perform optimizations where we check to see if a jump
-branches to a location where another compari- son
subsumed
+branches to a location where another comparison
subsumed
by the first is found. If so, the first branch is redirected
-to either the destina- tion
of the second branch or a point
+to either the destination
of the second branch or a point
immediately following it, depending on whether the condition
is known to be true or false.
@@ -2442,9 +2441,9 @@
__-felide-constructors__
Elide constructors when this seems plausible (C++ only).
-With this flag, GNU C++ initializes __y__ di- rectly
from
+With this flag, GNU C++ initializes __y__ directly
from
the call to __foo__ without going through a temporary in
the following code:
@@ -2475,17 +2474,17 @@
__-fdelayed-branch__
-If supported for the target machine, attempt to re- order
+If supported for the target machine, attempt to reorder
instructions to exploit instruction slots available after
delayed branch instructions.
__-fschedule-insns__
-If supported for the target machine, attempt to re- order
+If supported for the target machine, attempt to reorder
instructions to eliminate execution stalls due to required
data being unavailable. This helps machines that have slow
floating point or memory load instructions by allowing other
instructions to be issued until the result of the load or
@@ -2495,9 +2494,9 @@
__-fschedule-insns2__
Similar to `__-fschedule-insns__', but requests an ad-
-ditional pass of instruction scheduling after reg- ister
+ditional pass of instruction scheduling after register
allocation has been done. This is especially useful on
machines with a relatively small number of registers and
where memory load instructions take more than one
cycle.
@@ -2506,10 +2505,10 @@
By default, GNU CC compiles code for the same type of ma-
chine that you are using. However, it can also be in-
stalled as a cross-compiler, to compile for some other type
-of machine. In fact, several different configura- tions
of
-GNU CC, for different target machines, can be in- stalled
+of machine. In fact, several different configurations
of
+GNU CC, for different target machines, can be installed
side by side. Then you specify which one to use with the
`__-b__' option.
@@ -2522,9 +2521,9 @@
__-b__ ''machine''
The argument ''machine'' specifies the target machine for
-compilation. This is useful when you have in- stalled
GNU CC
+compilation. This is useful when you have installed
GNU CC
as a cross-compiler.
The value to use for ''machine'' is the same as was
@@ -2550,17 +2549,17 @@
2.0.
The default version, when you do not specify `__-V__', is
-controlled by the way GNU CC is installed. Nor- mally
, it
+controlled by the way GNU CC is installed. Normally
, it
will be a version that is recommended for general
use.
!!MACHINE DEPENDENT OPTIONS
Each of the target machine types can have its own special
options, starting with `__-m__', to choose among various
-hard- ware
models or configurations--for example, 68010 vs
+hardware
models or configurations--for example, 68010 vs
68020, floating coprocessor or none. A single installed
version of the compiler can compile for any model or con-
figuration, according to the options specified.
@@ -2636,14 +2635,14 @@
__-msoft-float__
-Generate output containing library calls for float- ing
+Generate output containing library calls for floating
point. ''WARNING:'' the requisite libraries are not part
of GNU CC. Normally the facilities of the machine's usual C
compiler are used, but this can't be done directly in
cross-compilation. You must make your own arrangements to
-provide suitable li- brary
functions for
+provide suitable library
functions for
cross-compilation.
__-mshort__
@@ -2671,9 +2670,9 @@
__-mrtd__
Use a different function-calling convention, in which
-functions that take a fixed number of argu- ments
return
+functions that take a fixed number of arguments
return
with the __rtd__ instruction, which pops their arguments
while returning. This saves one instruction in the caller
since there is no need to pop the arguments
there.
@@ -2713,16 +2712,16 @@
__-mgnu__
-Do output those jump instructions, on the assump- tion
that
+Do output those jump instructions, on the assumption
that
you will assemble with the GNU assembler.
__-mg__
-Output code for g-format floating point numbers in- stead
of
+Output code for g-format floating point numbers instead
of
d-format.
These `__-m__' switches are supported on the
@@ -2734,9 +2733,9 @@
__-mhard-float__
-Generate output containing floating point instruc- tions
.
+Generate output containing floating point instructions
.
This is the default.
__-mno-fpu__
@@ -2744,12 +2743,12 @@
__-msoft-float__
-Generate output containing library calls for float- ing
+Generate output containing library calls for floating
point. ''Warning:'' there is no GNU floating-point
library for SPARC. Normally the facilities of the machine's
-usual C compiler are used, but this can- not
be done
+usual C compiler are used, but this cannot
be done
directly in cross-compilation. You must make your own
arrangements to provide suitable library functions for
cross-compilation.
@@ -2850,11 +2849,11 @@
__-margcount__
Generate code which puts an argument count in the word
-preceding each argument list. Some non- portable
Convex and
+preceding each argument list. Some nonportable
Convex and
Vax programs need this word. (Debuggers don't, except for
-functions with vari- able
-length argument lists; this info
+functions with variable
-length argument lists; this info
is in the symbol table.)
__-mnoargcount__
@@ -2871,9 +2870,9 @@
__-mdw__
Generate code that assumes the DW bit is set, i.e., that
-byte and halfword operations are directly sup- ported
by the
+byte and halfword operations are directly supported
by the
hardware. This is the default.
__-mnodw__
@@ -2933,10 +2932,10 @@
__-mkernel-registers__
Generate references to registers __gr64-gr95__ instead of
-__gr96-gr127__. This option can be used when com- piling
-kernel code that wants a set of global reg- isters
disjoint
+__gr96-gr127__. This option can be used when compiling
+kernel code that wants a set of global registers
disjoint
from that used by user-mode code.
Note that when this option is used, register names in
@@ -2958,9 +2957,9 @@
justment. This is often used for kernel code.
These `__-m__' options are defined for Motorola 88K
-architec- tures
:
+architectures
:
__-m88000__
@@ -3008,11 +3007,11 @@
Early models of the 88K architecture had problems with
division by zero; in particular, many of them didn't trap.
Use these options to avoid including (or to include
-explicitly) additional code to de- tect
division by zero and
+explicitly) additional code to detect
division by zero and
signal an exception. All GCC configurations for the 88K use
-`__-mcheck-ze- ro
-division__' by default.
+`__-mcheck-zero
-division__' by default.
__-mocs-debug-info__
@@ -3020,9 +3019,9 @@
__-mno-ocs-debug-info__
Include (or omit) additional debugging information (about
-registers used in each stack frame) as spec- ified
in the
+registers used in each stack frame) as specified
in the
88Open Object Compatibility Standard, ``OCS''. This extra
information is not needed by GDB. The default for DG/UX,
SVr4, and Delta 88 SVr3.2 is to include this information;
other 88k configurations omit this information by
@@ -3037,9 +3036,9 @@
Force (or do not require) register values to be stored in a
particular place in stack frames, as specified in OCS. The
DG/UX, Delta88 SVr3.2, and BCS configurations use
-`__-mocs-frame-position__'; oth- er
88k configurations
+`__-mocs-frame-position__'; other
88k configurations
have the default
`__-mno-ocs-frame-position__'.
@@ -3050,9 +3049,9 @@
Control how to store function arguments in stack frames.
`__-moptimize-arg-area__' saves space, but may break some
-debuggers (not GDB). `__-mno-opti- mize
-arg-area__'
+debuggers (not GDB). `__-mno-optimize
-arg-area__'
conforms better to standards. By default GCC does not
optimize the argument area.
@@ -3063,9 +3062,9 @@
relative to __r0__, which allows loading a value using a
single instruction (rather than the usual two). You control
which data references are affected by specifying ''num''
with this option. For example, if you specify
-`__-mshort-data-512__', then the data ref- erences
+`__-mshort-data-512__', then the data references
affected are those involving displacements of less than 512
bytes. `__-mshort-data-__''num''' is not effective for
''num'' greater than 64K.
@@ -3075,31 +3074,31 @@
__-mno-serialize-volatile__
-Do, or do not, generate code to guarantee sequen- tial
+Do, or do not, generate code to guarantee sequential
consistency of volatile memory references.
GNU CC always guarantees consistency by default, for the
preferred processor submodel. How this is done depends on
the submodel.
-The m88100 processor does not reorder memory refer- ences
-and so always provides sequential consisten- cy
. If you use
+The m88100 processor does not reorder memory references
+and so always provides sequential consistency
. If you use
`__-m88100__', GNU CC does not generate any special
-instructions for sequential consisten- cy
.
+instructions for sequential consistency
.
The order of memory references made by the m88110 processor
does not always match the order of the instructions
-requesting those references. In par- ticular
, a load
+requesting those references. In particular
, a load
instruction may execute before a preceding store
-instruction. Such reordering vio- lates
sequential
+instruction. Such reordering violates
sequential
consistency of volatile memory references, when there are
multiple processors. When you use `__-m88000__' or
-`__-m88110__', GNU CC gener- ates
special instructions
+`__-m88110__', GNU CC generates
special instructions
when appropriate, to force execution in the proper
order.
@@ -3109,9 +3108,9 @@
`__-mno-serialize-volatile__'.
If you use the `__-m88100__' option but require sequen-
-tial consistency when running on the m88110 proces- sor
, you
+tial consistency when running on the m88110 processor
, you
should use `__-mserialize-volatile__'.
__-msvr4__
@@ -3120,9 +3119,9 @@
__-msvr3__
Turn on (`__-msvr4__') or off (`__-msvr3__') compiler
-ex- tensions
related to System V release 4 (SVr4). This
+extensions
related to System V release 4 (SVr4). This
controls the following:
Which variant of the assembler syntax to emit (which you can
@@ -3130,9 +3129,9 @@
sion-03.00__').
`__-msvr4__' makes the C preprocessor recognize
-`__#prag- ma
weak__'
+`__#pragma
weak__'
`__-msvr4__' makes GCC issue additional declaration di-
rectives used in SVr4.
@@ -3157,9 +3156,9 @@
__-muse-div-instruction__
Very early models of the 88K architecture didn't have a
-divide instruction, so GCC avoids that in- struction
by
+divide instruction, so GCC avoids that instruction
by
default. Use this option to specify that it's safe to use
the divide instruction.
@@ -3205,9 +3204,9 @@
__-min-line-mul__
-Use an in-line code sequence for integer multi- plies
. This
+Use an in-line code sequence for integer multiplies
. This
is the default.
__-mcall-lib-mul__
@@ -3218,10 +3217,10 @@
__-mfull-fp-blocks__
-Generate full-size floating point data blocks, in- cluding
-the minimum amount of scratch space recom- mended
by IBM.
+Generate full-size floating point data blocks, including
+the minimum amount of scratch space recommended
by IBM.
This is the default.
__-mminimum-fp-blocks__
@@ -3236,12 +3235,12 @@
__-mfp-arg-in-fpregs__
Use a calling sequence incompatible with the IBM calling
-convention in which floating point argu- ments
are passed in
+convention in which floating point arguments
are passed in
floating point registers. Note that __varargs.h__ and
__stdargs.h__ will not work with floating point operands
-if this option is speci- fied
.
+if this option is specified
.
__-mfp-arg-in-gregs__
@@ -3253,9 +3252,9 @@
__-mhc-struct-return__
Return structures of more than one word in memory, rather
-than in a register. This provides compati- bility
with the
+than in a register. This provides compatibility
with the
!MetaWare HighC (hc) compiler. Use
`__-fpcc-struct-return__' for compatibility with the
Portable C Compiler (pcc).
@@ -3270,9 +3269,9 @@
`__-mhc-struct-return__'.
These `__-m__' options are defined for the MIPS family of
-com- puters
:
+computers
:
__-mcpu=__''cpu-type''
@@ -3327,9 +3326,9 @@
__mips-tfile__ to add normal debug information. This is
the default for all platforms except for the OSF/1 reference
platform, using the OSF/rose object format. If any of the
__-ggdb__, __-gstabs__, or __-gstabs+__ switches
-are used, the __mips-tfile__ program will en- capsulate
+are used, the __mips-tfile__ program will encapsulate
the stabs within MIPS ECOFF.
__-mgas__
@@ -3388,9 +3387,9 @@
The __-mmemcpy__ switch makes all block moves call the
appropriate string function (__memcpy__ or __bcopy__)
-in- stead
of possibly generating inline code.
+instead
of possibly generating inline code.
__-mmips-tfile__
@@ -3411,39 +3410,39 @@
__-msoft-float__
-Generate output containing library calls for float- ing
+Generate output containing library calls for floating
point. ''WARNING:'' the requisite libraries are not part
of GNU CC. Normally the facilities of the machine's usual C
compiler are used, but this can't be done directly in
cross-compilation. You must make your own arrangements to
-provide suitable li- brary
functions for
+provide suitable library
functions for
cross-compilation.
__-mhard-float__
-Generate output containing floating point instruc- tions
.
-This is the default if you use the unmodi- fied
+Generate output containing floating point instructions
.
+This is the default if you use the unmodified
sources.
__-mfp64__
Assume that the __FR__ bit in the status word is on, and
-that there are 32 64-bit floating point regis- ters
, instead
-of 32 32-bit floating point regis- ters
. You must also
+that there are 32 64-bit floating point registers
, instead
+of 32 32-bit floating point registers
. You must also
specify the __-mcpu=r4000__ and __-mips3__
switches.
__-mfp32__
-Assume that there are 32 32-bit floating point reg- isters
.
+Assume that there are 32 32-bit floating point registers
.
This is the default.
__-mabicalls__
@@ -3464,14 +3463,14 @@
The __-mhalf-pic__ switch says to put pointers to ex-
tern references into the data section and load them up,
-rather than put the references in the text sec- tion
. This
+rather than put the references in the text section
. This
option does not work at present. __-G__''num'' Put
global and static items less than or equal to ''num''
-bytes into the small data or bss sections in- stead
of the
-normal data or bss section. This al- lows
the assembler to
-emit one word memory refer- ence
instructions based on the
+bytes into the small data or bss sections instead
of the
+normal data or bss section. This allows
the assembler to
+emit one word memory reference
instructions based on the
global pointer (__gp__ or __$28__), instead of the
normal two words used. By default, ''num'' is 8 when the
MIPS assembler is used, and 0 when the GNU assembler is
used. The __-G__''num'' switch is also passed to the
@@ -3501,14 +3500,14 @@
__-msoft-float__
-Generate output containing library calls for float- ing
+Generate output containing library calls for floating
point. ''Warning:'' the requisite libraries are not part
of GNU CC. Normally the facilities of the machine's usual C
compiler are used, but this can't be done directly in
cross-compilation. You must make your own arrangements to
-provide suitable li- brary
functions for
+provide suitable library
functions for
cross-compilation.
On machines where a function returns floating point results
@@ -3524,9 +3523,9 @@
functions.
The usual calling convention has functions return values of
-types __float__ and __double__ in an FPU regis- ter
,
+types __float__ and __double__ in an FPU register
,
even if there is no FPU. The idea is that the operating
system should emulate an FPU.
@@ -3534,9 +3533,9 @@
be returned in ordinary CPU registers instead.
These `__-m__' options are defined for the HPPA family of
-com- puters
:
+computers
:
__-mpa-risc-1-0__
@@ -3563,10 +3562,10 @@
__-mshared-libs__
Generate code that can be linked against HP-UX shared
-libraries. This option is not fully func- tion
yet, and is
-not on by default for any PA tar- get
. Using this option can
+libraries. This option is not fully function
yet, and is
+not on by default for any PA target
. Using this option can
cause incorrect code to be generated by the
compiler.
@@ -3591,10 +3590,10 @@
__-mdisable-fpregs__
Prevent floating point registers from being used in any
-manner. This is necessary for compiling ker- nels
which
-perform lazy context switching of float- ing
point
+manner. This is necessary for compiling kernels
which
+perform lazy context switching of floating
point
registers. If you use this option and attempt to perform
floating point operations, the compiler will
abort.
@@ -3649,11 +3648,11 @@
Do (or do not) attempt to alter leaf procedures to be
callable with the ''bal'' instruction as well as
''call''. This will result in more efficient code for
explicit calls when the ''bal'' instruction can be sub-
-stituted by the assembler or linker, but less effi- cient
-code in other cases, such as calls via func- tion
pointers,
-or using a linker that doesn't sup- port
this
+stituted by the assembler or linker, but less efficient
+code in other cases, such as calls via function
pointers,
+or using a linker that doesn't support
this
optimization.
__-mtail-call__
@@ -3679,9 +3678,9 @@
Assume (or do not assume) that the use of a complex
addressing mode is a win on this implementation of the i960.
Complex addressing modes may not be worthwhile on the
K-series, but they definitely are on the C-series. The
-default is currently __-mcom- plex
-addr__ for all
+default is currently __-mcomplex
-addr__ for all
processors except the CB and CC.
__-mcode-align__
@@ -3727,38 +3726,38 @@
__-mold-align__
-Enable structure-alignment compatibility with In- tel
's gcc
+Enable structure-alignment compatibility with Intel
's gcc
release version 1.3 (based on gcc 1.37). Currently this is
buggy in that __#pragma align 1__ is always assumed as
well, and cannot be turned off.
These `__-m__' options are defined for the DEC Alpha
-implemen- tations
:
+implementations
:
__-mno-soft-float__
__-msoft-float__
-Use (do not use) the hardware floating-point in- structions
+Use (do not use) the hardware floating-point instructions
for floating-point operations. When __-msoft-float__ is
specified, functions in `__libgcc1.c__' will be used to
perform floating-point operations. Unless they are replaced
by routines that emulate the floating-point operations, or
compiled in such a way as to call such emulations routines,
these routines will issue floating-point operations. If you
-are compiling for an Alpha without float- ing
-point
-operations, you must ensure that the li- brary
is built so
+are compiling for an Alpha without floating
-point
+operations, you must ensure that the library
is built so
as not to call them.
-Note that Alpha implementations without float- ing
-point
-operations are required to have float- ing
-point
+Note that Alpha implementations without floating
-point
+operations are required to have floating
-point
registers.
__-mfp-reg__
@@ -3766,22 +3765,22 @@
__-mno-fp-regs__
-Generate code that uses (does not use) the float- ing
-point
+Generate code that uses (does not use) the floating
-point
register set. __-mno-fp-regs__ implies
__-msoft-float__. If the floating-point register set is
not used, floating point operands are passed in integer
registers as if they were integers and floating-point
results are passed in $0 instead of $f0. This is a
non-standard calling sequence, so any function with a
-floating-point argument or re- turn
value called by code
+floating-point argument or return
value called by code
compiled with __-mno-fp-regs__ must also be compiled with
-that op- tion
.
+that option
.
A typical use of this option is building a kernel that does
-not use, and hence need not save and re- store
, any
+not use, and hence need not save and restore
, any
floating-point registers.
These additional options are available on System V Release 4
@@ -3802,9 +3801,9 @@
__-Qy__
-Identify the versions of each tool used by the com- piler
,
+Identify the versions of each tool used by the compiler
,
in a __.ident__ assembler directive in the out-
put.
@@ -3851,19 +3850,19 @@
(C++ only).
Normally, GNU C++ makes conservative assumptions about
-objects reached through references. For ex- ample
, the
+objects reached through references. For example
, the
compiler must check that __a__ is not null in code like
the following:
obj
Checking that references of this sort have non-null values
-requires extra code, however, and it is un- necessary
for
-many programs. You can use `__-fnon- null
-objects__' to
+requires extra code, however, and it is unnecessary
for
+many programs. You can use `__-fnonnull
-objects__' to
omit the checks for null, if your program doesn't require
checking.
@@ -3873,9 +3872,9 @@
Use the same convention for returning __struct__ and
__union__ values that is used by the usual C compiler on
your system. This convention is less efficient for small
structures, and on many machines it fails to be reentrant;
-but it has the advantage of allow- ing
intercallability
+but it has the advantage of allowing
intercallability
between GCC-compiled code and PCC-compiled
code.
@@ -3916,20 +3915,20 @@
Requests that the data and non-__const__ variables of
this compilation be shared data rather than private data.
The distinction makes sense only on certain operating
-systems, where shared data is shared be- tween
processes
+systems, where shared data is shared between
processes
running the same program, while private data exists in one
copy per process.
__-fno-common__
Allocate even uninitialized global variables in the bss
-section of the object file, rather than gener- ating
them as
+section of the object file, rather than generating
them as
common blocks. This has the effect that if the same variable
-is declared (without __ex- tern
__) in two different
+is declared (without __extern
__) in two different
compilations, you will get an error when you link them. The
only reason this might be useful is if you wish to verify
that the program will work on other systems which always
work this way.
@@ -3951,9 +3950,9 @@
use a non-GNU linker, which also requires using the
__collect2__ program to make sure the system linker
includes constructors and destructors. (__collect2__ is
included in the GNU CC distribution.) For systems which
-''must'' use __col- lect2
__, the compiler driver
+''must'' use __collect2
__, the compiler driver
__gcc__ is configured to do this
automatically.
@@ -3962,18 +3961,18 @@
Don't output a __.size__ assembler directive, or any-
thing else that would cause trouble if the function is split
in the middle, and the two halves are placed at locations
-far apart in memory. This op- tion
is used when compiling
+far apart in memory. This option
is used when compiling
`__crtstuff.c__'; you should not need to use it for
anything else.
__-fverbose-asm__
Put extra commentary information in the generated assembly
-code to make it more readable. This op- tion
is generally
+code to make it more readable. This option
is generally
only of use to those who actually need to read the generated
assembly code (perhaps while debugging the compiler
itself).
@@ -4003,9 +4002,9 @@
__-fPIC__
If supported for the target machine, emit posi-
-tion-independent code, suitable for dynamic link- ing
, even
+tion-independent code, suitable for dynamic linking
, even
if branches need large displacements.
__-ffixed-__''reg''
@@ -4018,9 +4017,9 @@
''reg'' must be the name of a register. The register
names accepted are machine-specific and are defined in the
-__REGISTER_NAMES__ macro in the machine descrip- tion
+__REGISTER_NAMES__ macro in the machine description
macro file.
This flag does not have a negative form, because it
@@ -4084,17 +4083,17 @@
(C++ only.) Use this directive in header files that define
object classes, to save space in most of the object files
-that use those classes. Nor- mally
, local copies of certain
+that use those classes. Normally
, local copies of certain
information (backup copies of inline member functions,
-debugging infor- mation
, and the internal tables that
-implement vir- tual
functions) must be kept in each object
+debugging information
, and the internal tables that
+implement virtual
functions) must be kept in each object
file that includes class definitions. You can use this
pragma to avoid such duplication. When a header file
containing `__#pragma interface__' is included in a
compilation, this auxiliary information will not be
-generated (unless the main input source file it- self
uses
+generated (unless the main input source file itself
uses
`__#pragma implementation__'). Instead, the object files
will contain references to be resolved at link
time.
@@ -4109,24 +4108,24 @@
(C++ only.) Use this pragma in a main input file, when you
want full output from included header files to be generated
(and made globally visible). The included header file, in
turn, should use `__#pragma interface__'. Backup copies
-of inline mem- ber
functions, debugging information, and the
-in- ternal
tables used to implement virtual functions are
+of inline member
functions, debugging information, and the
+internal
tables used to implement virtual functions are
all generated in implementation files.
If you use `__#pragma implementation__' with no argu-
ment, it applies to an include file with the same basename
-as your source file; for example, in `__all- class
.cc__',
+as your source file; for example, in `__allclass
.cc__',
`__#pragma implementation__' by itself is equivalent to
`__#pragma implementation __'.
Use the string argument if you want a single implementation
file to include code from multiple header
files.
-There is no way to split up the contents of a sin- gle
+There is no way to split up the contents of a single
header file into multiple implementation files.
!!FILES
@@ -4168,9 +4167,9 @@
`__gcc__', `__cpp__', `__as__', `__ld__', and
`__gdb__' entries in __info__.''
Using and Porting GNU CC (for version 2.0)'', Richard M.
Stallman; ''The C Preprocessor'', Richard M. Stallman;
-''Debug- ging
with GDB: the GNU Source-Level Debugger'',
+''Debugging
with GDB: the GNU Source-Level Debugger'',
Richard M. Stallman and Roland H. Pesch; ''Using as: the
GNU Assembler'', Dean Elsner, Jay Fenlason
''ld: the GNU linker'', Steve Chamberlain and Roland
Pesch.