invoke.texi: s/GNU CC/GCC/ for consistency with gcc.texi.
* invoke.texi: s/GNU CC/GCC/ for consistency with gcc.texi. Fix documentation of -ansi flag to describe its C++ behavior. Remove bogus reference to GCC 2.9. From-SVN: r28657
This commit is contained in:
parent
9a81650073
commit
0c2d1a2a23
@ -1,3 +1,9 @@
|
||||
Wed Aug 11 00:34:22 1999 Joe Buck <jbuck@synopsys.com>
|
||||
|
||||
* invoke.texi: s/GNU CC/GCC/ for consistency with gcc.texi.
|
||||
Fix documentation of -ansi flag to describe its C++ behavior.
|
||||
Remove bogus reference to GCC 2.9.
|
||||
|
||||
Tue Aug 10 17:19:02 1999 Jim Wilson <wilson@cygnus.com>
|
||||
|
||||
* config/sh/sh.c (machine_dependent_reorg): Only call PUT_MODE on
|
||||
@ -417,6 +423,7 @@ Mon Aug 9 01:52:24 1999 Jason Merrill <jason@yorick.cygnus.com>
|
||||
* except.c (expand_eh_region_start_for_decl): Always start a new block.
|
||||
* stmt.c (is_eh_region): Make sure current_function is present, too.
|
||||
|
||||
>>>>>>> 1.4094
|
||||
Mon Aug 9 01:15:24 1999 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* pa.h (HARD_REGNO_MODE_OK): Correctly handle FPregs, even when
|
||||
|
267
gcc/invoke.texi
267
gcc/invoke.texi
@ -3,12 +3,12 @@
|
||||
@c For copying conditions, see the file gcc.texi.
|
||||
|
||||
@node Invoking GCC
|
||||
@chapter GNU CC Command Options
|
||||
@cindex GNU CC command options
|
||||
@chapter GCC Command Options
|
||||
@cindex GCC command options
|
||||
@cindex command options
|
||||
@cindex options, GNU CC command
|
||||
@cindex options, GCC command
|
||||
|
||||
When you invoke GNU CC, it normally does preprocessing, compilation,
|
||||
When you invoke GCC, it normally does preprocessing, compilation,
|
||||
assembly and linking. The ``overall options'' allow you to stop this
|
||||
process at an intermediate stage. For example, the @samp{-c} option
|
||||
says not to run the linker. Then the output consists of object files
|
||||
@ -20,7 +20,7 @@ options control the assembler and linker; most of these are not
|
||||
documented here, since you rarely need to use any of them.
|
||||
|
||||
@cindex C compilation options
|
||||
Most of the command line options that you can use with GNU CC are useful
|
||||
Most of the command line options that you can use with GCC are useful
|
||||
for C programs; when an option is only useful with another language
|
||||
(usually C++), the explanation says so explicitly. If the description
|
||||
for a particular option does not mention a source language, you can use
|
||||
@ -69,12 +69,12 @@ only one of these two forms, whichever one is not the default.
|
||||
* Directory Options:: Where to find header files and libraries.
|
||||
Where to find the compiler executable files.
|
||||
* Spec Files:: How to pass switches to sub-processes.
|
||||
* Target Options:: Running a cross-compiler, or an old version of GNU CC.
|
||||
* Target Options:: Running a cross-compiler, or an old version of GCC.
|
||||
* Submodel Options:: Specifying minor hardware or convention variations,
|
||||
such as 68010 vs 68020.
|
||||
* Code Gen Options:: Specifying conventions for function calls, data layout
|
||||
and register usage.
|
||||
* Environment Variables:: Env vars that affect GNU CC.
|
||||
* Environment Variables:: Env vars that affect GCC.
|
||||
* Running Protoize:: Automatically adding or removing function prototypes.
|
||||
@end menu
|
||||
|
||||
@ -452,7 +452,7 @@ in the following sections.
|
||||
* Directory Options:: Where to find header files and libraries.
|
||||
Where to find the compiler executable files.
|
||||
* Spec Files:: How to pass switches to sub-processes.
|
||||
* Target Options:: Running a cross-compiler, or an old version of GNU CC.
|
||||
* Target Options:: Running a cross-compiler, or an old version of GCC.
|
||||
@end menu
|
||||
|
||||
@node Overall Options
|
||||
@ -602,7 +602,7 @@ be displayed.
|
||||
@cindex C++ source file suffixes
|
||||
C++ source files conventionally use one of the suffixes @samp{.C},
|
||||
@samp{.cc}, @samp{.cpp}, @samp{.c++}, @samp{.cp}, or @samp{.cxx};
|
||||
preprocessed C++ files use the suffix @samp{.ii}. GNU CC recognizes
|
||||
preprocessed C++ files use the suffix @samp{.ii}. GCC recognizes
|
||||
files with these names and compiles them as C++ programs even if you
|
||||
call the compiler the same way as for compiling C programs (usually with
|
||||
the name @code{gcc}).
|
||||
@ -613,7 +613,7 @@ However, C++ programs often require class libraries as well as a
|
||||
compiler that understands the C++ language---and under some
|
||||
circumstances, you might want to compile programs from standard input,
|
||||
or otherwise without a suffix that flags them as C++ programs.
|
||||
@code{g++} is a program that calls GNU CC with the default language
|
||||
@code{g++} is a program that calls GCC with the default language
|
||||
set to C++, and automatically specifies linking against the C++
|
||||
library. On many systems, the script @code{g++} is also
|
||||
installed with the name @code{c++}.
|
||||
@ -640,14 +640,20 @@ from C, such as C++ and Objective C) that the compiler accepts:
|
||||
@table @code
|
||||
@cindex ANSI support
|
||||
@item -ansi
|
||||
Support all ANSI standard C programs.
|
||||
In C mode, support all ANSI standard C programs. In C++ mode,
|
||||
remove GNU extensions that conflict with ANSI C++.
|
||||
@c shouldn't we be saying "ISO"?
|
||||
|
||||
This turns off certain features of GNU C that are incompatible with ANSI
|
||||
C, such as the @code{asm}, @code{inline} and @code{typeof} keywords, and
|
||||
This turns off certain features of GCC that are incompatible with ANSI
|
||||
C (when compiling C code), or of ANSI standard C++ (when compiling C++ code),
|
||||
such as the @code{asm} and @code{typeof} keywords, and
|
||||
predefined macros such as @code{unix} and @code{vax} that identify the
|
||||
type of system you are using. It also enables the undesirable and
|
||||
rarely used ANSI trigraph feature, and it disables recognition of C++
|
||||
style @samp{//} comments.
|
||||
rarely used ANSI trigraph feature. For the C compiler,
|
||||
it disables recognition of C++ style @samp{//} comments as well as
|
||||
the @code{inline} keyword. For the C++ compiler,
|
||||
@samp{-foperator-names} is enabled as well.
|
||||
|
||||
|
||||
The alternate keywords @code{__asm__}, @code{__extension__},
|
||||
@code{__inline__} and @code{__typeof__} continue to work despite
|
||||
@ -945,7 +951,7 @@ g++ -g -frepo -O -c firstClass.C
|
||||
@noindent
|
||||
In this example, only @samp{-frepo} is an option meant
|
||||
only for C++ programs; you can use the other options with any
|
||||
language supported by GNU CC.
|
||||
language supported by GCC.
|
||||
|
||||
Here is a list of options that are @emph{only} for compiling C++ programs:
|
||||
|
||||
@ -1321,8 +1327,7 @@ negative form beginning @samp{-Wno-} to turn off warnings;
|
||||
for example, @samp{-Wno-implicit}. This manual lists only one of the
|
||||
two forms, whichever is not the default.
|
||||
|
||||
These options control the amount and kinds of warnings produced by GNU
|
||||
CC:
|
||||
These options control the amount and kinds of warnings produced by GCC:
|
||||
|
||||
@table @code
|
||||
@cindex syntax checking
|
||||
@ -1346,7 +1351,7 @@ these escape routes; application programs should avoid them.
|
||||
@xref{Alternate Keywords}.
|
||||
|
||||
This option is not intended to be @i{useful}; it exists only to satisfy
|
||||
pedants who would otherwise claim that GNU CC fails to support the ANSI
|
||||
pedants who would otherwise claim that GCC fails to support the ANSI
|
||||
standard.
|
||||
|
||||
Some users try to use @samp{-pedantic} to check programs for strict ANSI
|
||||
@ -1493,7 +1498,7 @@ to compute a value that itself is never used, 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
|
||||
These warnings are made optional because GCC is not smart
|
||||
enough to see all the reasons why the code might be correct
|
||||
despite appearing to have an error. Here is one example of how
|
||||
this can happen:
|
||||
@ -1515,7 +1520,7 @@ this can happen:
|
||||
|
||||
@noindent
|
||||
If the value of @code{y} is always 1, 2 or 3, then @code{x} is
|
||||
always initialized, but GNU CC doesn't know this. Here is
|
||||
always initialized, but GCC doesn't know this. Here is
|
||||
another common case:
|
||||
|
||||
@smallexample
|
||||
@ -1779,11 +1784,11 @@ Make all warnings into errors.
|
||||
@end table
|
||||
|
||||
@node Debugging Options
|
||||
@section Options for Debugging Your Program or GNU CC
|
||||
@section Options for Debugging Your Program or GCC
|
||||
@cindex options, debugging
|
||||
@cindex debugging information options
|
||||
|
||||
GNU CC has various special options that are used for debugging
|
||||
GCC has various special options that are used for debugging
|
||||
either your program or GCC:
|
||||
|
||||
@table @code
|
||||
@ -1801,7 +1806,7 @@ to generate the extra information, use @samp{-gstabs+}, @samp{-gstabs},
|
||||
@samp{-gxcoff+}, @samp{-gxcoff}, @samp{-gdwarf-1+}, or @samp{-gdwarf-1}
|
||||
(see below).
|
||||
|
||||
Unlike most other C compilers, GNU CC allows you to use @samp{-g} with
|
||||
Unlike most other C compilers, GCC allows you to use @samp{-g} with
|
||||
@samp{-O}. The shortcuts taken by optimized 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;
|
||||
@ -1812,7 +1817,7 @@ 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 optimizer for programs that might have bugs.
|
||||
|
||||
The following options are useful when GNU CC is generated with the
|
||||
The following options are useful when GCC is generated with the
|
||||
capability for more than one debugging format.
|
||||
|
||||
@item -ggdb
|
||||
@ -1990,7 +1995,7 @@ frequencies.
|
||||
|
||||
@item -fprofile-arcs
|
||||
Instrument @dfn{arcs} during compilation. For each function of your
|
||||
program, GNU CC creates a program flow graph, then finds a spanning tree
|
||||
program, GCC creates a program flow graph, then finds a spanning tree
|
||||
for the graph. Only arcs that are not on the spanning tree have to be
|
||||
instrumented: the compiler adds code to count the number of times that these
|
||||
arcs are executed. When an arc is the only exit or only entrance to a
|
||||
@ -2020,7 +2025,7 @@ branch probabilities.
|
||||
@need 2000
|
||||
@item -ftest-coverage
|
||||
Create data files for the @code{gcov} code-coverage utility
|
||||
(@pxref{Gcov,, @code{gcov}: a GNU CC Test Coverage Program}).
|
||||
(@pxref{Gcov,, @code{gcov}: a GCC Test Coverage Program}).
|
||||
The data file names begin with the name of your source file:
|
||||
|
||||
@table @code
|
||||
@ -2128,7 +2133,7 @@ unit to @var{file}.
|
||||
When running a cross-compiler, pretend that the target 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
|
||||
sequence will probably be the same as GCC would make when running on
|
||||
the target machine.
|
||||
|
||||
@item -save-temps
|
||||
@ -2140,7 +2145,7 @@ compiling @file{foo.c} with @samp{-c -save-temps} would produce files
|
||||
@item -print-file-name=@var{library}
|
||||
Print the full absolute name of the library file @var{library} that
|
||||
would be used when linking---and don't do anything else. With this
|
||||
option, GNU CC does not compile or link anything; it just prints the
|
||||
option, GCC does not compile or link anything; it just prints the
|
||||
file name.
|
||||
|
||||
@item -print-prog-name=@var{program}
|
||||
@ -2204,7 +2209,7 @@ without a frame pointer. On some machines the compiler also turns
|
||||
on other flags.@refill
|
||||
|
||||
@item -O2
|
||||
Optimize even more. GNU CC performs nearly all supported optimizations
|
||||
Optimize even more. GCC performs nearly all supported optimizations
|
||||
that do not involve a space-speed tradeoff. The compiler does not
|
||||
perform loop unrolling or function inlining when you specify @samp{-O2}.
|
||||
As compared to @samp{-O}, this option increases both compilation time
|
||||
@ -2342,7 +2347,7 @@ callable version of the function. This switch does not affect
|
||||
Emit variables declared @code{static const} when optimization isn't turned
|
||||
on, even if the variables aren't referenced.
|
||||
|
||||
GNU CC enables this option by default. If you want to force the compiler to
|
||||
GCC enables this option by default. If you want to force the compiler to
|
||||
check if the variable was referenced, regardless of whether or not
|
||||
optimization is turned on, use the @samp{-fno-keep-static-consts} option.
|
||||
|
||||
@ -2423,7 +2428,7 @@ Perform a number of minor optimizations that are relatively expensive.
|
||||
Attempt to reassign register numbers in move instructions and as
|
||||
operands of other simple instructions in order to maximize the amount of
|
||||
register tying. This is especially helpful on machines with two-operand
|
||||
instructions. GNU CC enables this optimization by default with @samp{-O2}
|
||||
instructions. GCC enables this optimization by default with @samp{-O2}
|
||||
or higher.
|
||||
|
||||
Note @code{-fregmove} and @code{-foptimize-register-moves} are the same
|
||||
@ -2854,20 +2859,20 @@ mechanism when this option is specified.
|
||||
@cindex unresolved references and @code{-nodefaultlibs}
|
||||
One of the standard libraries bypassed by @samp{-nostdlib} and
|
||||
@samp{-nodefaultlibs} is @file{libgcc.a}, a library of internal subroutines
|
||||
that GNU CC uses to overcome shortcomings of particular machines, or special
|
||||
that GCC uses to overcome shortcomings of particular machines, or special
|
||||
needs for some languages.
|
||||
@ifset INTERNALS
|
||||
(@xref{Interface,,Interfacing to GNU CC Output}, for more discussion of
|
||||
(@xref{Interface,,Interfacing to GCC Output}, for more discussion of
|
||||
@file{libgcc.a}.)
|
||||
@end ifset
|
||||
@ifclear INTERNALS
|
||||
(@xref{Interface,,Interfacing to GNU CC Output,gcc.info,Porting GNU CC},
|
||||
(@xref{Interface,,Interfacing to GCC Output,gcc.info,Porting GCC},
|
||||
for more discussion of @file{libgcc.a}.)
|
||||
@end ifclear
|
||||
In most cases, you need @file{libgcc.a} even when you want to avoid
|
||||
other standard libraries. In other words, when you specify @samp{-nostdlib}
|
||||
or @samp{-nodefaultlibs} you should usually specify @samp{-lgcc} as well.
|
||||
This ensures that you have no unresolved references to internal GNU CC
|
||||
This ensures that you have no unresolved references to internal GCC
|
||||
library subroutines. (For example, @samp{__main}, used to ensure C++
|
||||
constructors will be called; @pxref{Collect2,,@code{collect2}}.)
|
||||
|
||||
@ -2892,7 +2897,7 @@ this option.
|
||||
|
||||
@item -Xlinker @var{option}
|
||||
Pass @var{option} as an option to the linker. You can use this to
|
||||
supply system-specific linker options which GNU CC does not know how to
|
||||
supply system-specific linker options which GCC does not know how to
|
||||
recognize.
|
||||
|
||||
If you want to pass an option that takes an argument, you must use
|
||||
@ -3428,24 +3433,24 @@ proper position among the other output files.
|
||||
@cindex compiler version, specifying
|
||||
@cindex target machine, specifying
|
||||
|
||||
By default, GNU CC compiles code for the same type of machine that you
|
||||
By default, GCC compiles code for the same type of machine that you
|
||||
are using. However, it can also be installed as a cross-compiler, to
|
||||
compile for some other type of machine. In fact, several different
|
||||
configurations of GNU CC, for different target machines, can be
|
||||
configurations of GCC, for different target machines, can be
|
||||
installed side by side. Then you specify which one to use with the
|
||||
@samp{-b} option.
|
||||
|
||||
In addition, older and newer versions of GNU CC can be installed side
|
||||
In addition, older and newer versions of GCC can be installed side
|
||||
by side. One of them (probably the newest) will be the default, but
|
||||
you may sometimes wish to use another.
|
||||
|
||||
@table @code
|
||||
@item -b @var{machine}
|
||||
The argument @var{machine} specifies the target machine for compilation.
|
||||
This is useful when you have installed GNU CC as a cross-compiler.
|
||||
This is useful when you have installed GCC as a cross-compiler.
|
||||
|
||||
The value to use for @var{machine} is the same as was specified as the
|
||||
machine type when configuring GNU CC as a cross-compiler. For
|
||||
machine type when configuring GCC as a cross-compiler. For
|
||||
example, if a cross-compiler was configured with @samp{configure
|
||||
i386v}, meaning to compile for an 80386 running System V, then you
|
||||
would specify @samp{-b i386v} to run that cross compiler.
|
||||
@ -3454,17 +3459,17 @@ When you do not specify @samp{-b}, it normally means to compile for
|
||||
the same type of machine that you are using.
|
||||
|
||||
@item -V @var{version}
|
||||
The argument @var{version} specifies which version of GNU CC to run.
|
||||
The argument @var{version} specifies which version of GCC to run.
|
||||
This is useful when multiple versions are installed. For example,
|
||||
@var{version} might be @samp{2.0}, meaning to run GNU CC version 2.0.
|
||||
@var{version} might be @samp{2.0}, meaning to run GCC version 2.0.
|
||||
|
||||
The default version, when you do not specify @samp{-V}, is the last
|
||||
version of GNU CC that you installed.
|
||||
version of GCC that you installed.
|
||||
@end table
|
||||
|
||||
The @samp{-b} and @samp{-V} options actually work by controlling part of
|
||||
the file name used for the executable files and libraries used for
|
||||
compilation. A given version of GNU CC, for a given target machine, is
|
||||
compilation. A given version of GCC, for a given target machine, is
|
||||
normally kept in the directory @file{/usr/local/lib/gcc-lib/@var{machine}/@var{version}}.@refill
|
||||
|
||||
Thus, sites can customize the effect of @samp{-b} or @samp{-V} either by
|
||||
@ -3681,13 +3686,13 @@ The @code{rtd} instruction is supported by the 68010, 68020, 68030,
|
||||
|
||||
@item -malign-int
|
||||
@itemx -mno-align-int
|
||||
Control whether GNU CC aligns @code{int}, @code{long}, @code{long long},
|
||||
Control whether GCC aligns @code{int}, @code{long}, @code{long long},
|
||||
@code{float}, @code{double}, and @code{long double} variables on a 32-bit
|
||||
boundary (@samp{-malign-int}) or a 16-bit boundary (@samp{-mno-align-int}).
|
||||
Aligning variables on 32-bit boundaries produces code that runs somewhat
|
||||
faster on processors with 32-bit busses at the expense of more memory.
|
||||
|
||||
@strong{Warning:} if you use the @samp{-malign-int} switch, GNU CC will
|
||||
@strong{Warning:} if you use the @samp{-malign-int} switch, GCC will
|
||||
align structures containing the above types differently than
|
||||
most published application binary interface specifications for the m68k.
|
||||
|
||||
@ -3755,7 +3760,7 @@ cross-compilation. The embedded targets @samp{sparc-*-aout} and
|
||||
@samp{-msoft-float} changes the calling convention in the output file;
|
||||
therefore, it is only useful if you compile @emph{all} of a program with
|
||||
this option. In particular, you need to compile @file{libgcc.a}, the
|
||||
library that comes with GNU CC, with @samp{-msoft-float} in order for
|
||||
library that comes with GCC, with @samp{-msoft-float} in order for
|
||||
this to work.
|
||||
|
||||
@item -mhard-quad-float
|
||||
@ -3800,7 +3805,7 @@ instructions (except for leaf functions) and is the normal mode of operation.
|
||||
@itemx -munaligned-doubles
|
||||
Assume that doubles have 8 byte alignment. This is the default.
|
||||
|
||||
With @samp{-munaligned-doubles}, GNU CC assumes that doubles have 8 byte
|
||||
With @samp{-munaligned-doubles}, GCC assumes that doubles have 8 byte
|
||||
alignment only if they are contained in another type, or if they have an
|
||||
absolute address. Otherwise, it assumes they have 4 byte alignment.
|
||||
Specifying this option avoids some rare compatibility problems with code
|
||||
@ -3822,7 +3827,7 @@ divide instructions which exist in SPARC v8 but not in SPARC v7.
|
||||
multiply, integer divide step and scan (@code{ffs}) instructions which
|
||||
exist in SPARClite but not in SPARC v7.
|
||||
|
||||
These options are deprecated and will be deleted in GNU CC 2.9.
|
||||
These options are deprecated and will be deleted in a future GCC release.
|
||||
They have been replaced with @samp{-mcpu=xxx}.
|
||||
|
||||
@item -mcypress
|
||||
@ -3837,7 +3842,7 @@ With @samp{-msupersparc} the compiler optimizes code for the SuperSparc cpu, as
|
||||
used in the SparcStation 10, 1000 and 2000 series. This flag also enables use
|
||||
of the full SPARC v8 instruction set.
|
||||
|
||||
These options are deprecated and will be deleted in GNU CC 2.9.
|
||||
These options are deprecated and will be deleted in a future GCC release.
|
||||
They have been replaced with @samp{-mcpu=xxx}.
|
||||
|
||||
@item -mcpu=@var{cpu_type}
|
||||
@ -3951,7 +3956,7 @@ Programs are statically linked, PIC is not supported.
|
||||
|
||||
@item -mstack-bias
|
||||
@itemx -mno-stack-bias
|
||||
With @samp{-mstack-bias}, GNU CC assumes that the stack pointer, and
|
||||
With @samp{-mstack-bias}, GCC assumes that the stack pointer, and
|
||||
frame pointer if present, are offset by -2047 which must be added back
|
||||
when making stack frame references.
|
||||
Otherwise, assume no such offset is present.
|
||||
@ -4118,7 +4123,7 @@ not pass @samp{-assert pure-text} to the linker when linking a shared object.
|
||||
@item -msoft-float
|
||||
@kindex -msoft-float
|
||||
Generate output containing library calls for floating point.
|
||||
@strong{Warning:} the requisite libraries are not part of GNU CC.
|
||||
@strong{Warning:} the requisite libraries are not part of GCC.
|
||||
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 library functions for
|
||||
@ -4227,7 +4232,7 @@ cross-compilation.
|
||||
@samp{-msoft-float} changes the calling convention in the output file;
|
||||
therefore, it is only useful if you compile @emph{all} of a program with
|
||||
this option. In particular, you need to compile @file{libgcc.a}, the
|
||||
library that comes with GNU CC, with @samp{-msoft-float} in order for
|
||||
library that comes with GCC, with @samp{-msoft-float} in order for
|
||||
this to work.
|
||||
|
||||
@item -mlittle-endian
|
||||
@ -4623,7 +4628,7 @@ Control how function arguments are stored in stack frames.
|
||||
@samp{-moptimize-arg-area} saves space by optimizing them, but this
|
||||
conflicts with the 88open specifications. The opposite alternative,
|
||||
@samp{-mno-optimize-arg-area}, agrees with 88open standards. By default
|
||||
GNU CC does not optimize the argument area.
|
||||
GCC does not optimize the argument area.
|
||||
|
||||
@item -mshort-data-@var{num}
|
||||
@kindex -mshort-data-@var{num}
|
||||
@ -4683,7 +4688,7 @@ Which variant of the assembler syntax to emit.
|
||||
@samp{-msvr4} makes the C preprocessor recognize @samp{#pragma weak}
|
||||
that is used on System V release 4.
|
||||
@item
|
||||
@samp{-msvr4} makes GNU CC issue additional declaration directives used in
|
||||
@samp{-msvr4} makes GCC issue additional declaration directives used in
|
||||
SVr4.
|
||||
@end enumerate
|
||||
|
||||
@ -4754,7 +4759,7 @@ particular, the behavior of such a division with and without
|
||||
@cindex bit shift overflow (88k)
|
||||
@cindex large bit shifts (88k)
|
||||
Include code to detect bit-shifts of more than 31 bits; respectively,
|
||||
trap such shifts or emit code to handle them properly. By default GNU CC
|
||||
trap such shifts or emit code to handle them properly. By default GCC
|
||||
makes no special provision for large bit shifts.
|
||||
|
||||
@item -mwarn-passed-structs
|
||||
@ -4763,7 +4768,7 @@ makes no special provision for large bit shifts.
|
||||
Warn when a function passes a struct as an argument or result.
|
||||
Structure-passing conventions have changed during the evolution of the C
|
||||
language, and are often the source of portability problems. By default,
|
||||
GNU CC issues no such warning.
|
||||
GCC issues no such warning.
|
||||
@end table
|
||||
|
||||
@node RS/6000 and PowerPC Options
|
||||
@ -4791,7 +4796,7 @@ These @samp{-m} options are defined for the IBM RS/6000 and PowerPC:
|
||||
@kindex -mpowerpc-gpopt
|
||||
@kindex -mpowerpc-gfxopt
|
||||
@kindex -mpowerpc64
|
||||
GNU CC supports two related instruction set architectures for the
|
||||
GCC supports two related instruction set architectures for the
|
||||
RS/6000 and PowerPC. The @dfn{POWER} instruction set are those
|
||||
instructions supported by the @samp{rios} chip set used in the original
|
||||
RS/6000 systems and the @dfn{PowerPC} instruction set is the
|
||||
@ -4804,36 +4809,36 @@ register is included in processors supporting the POWER architecture.
|
||||
|
||||
You use these options to specify which instructions are available on the
|
||||
processor you are using. The default value of these options is
|
||||
determined when configuring GNU CC. Specifying the
|
||||
determined when configuring GCC. Specifying the
|
||||
@samp{-mcpu=@var{cpu_type}} overrides the specification of these
|
||||
options. We recommend you use the @samp{-mcpu=@var{cpu_type}} option
|
||||
rather than the options listed above.
|
||||
|
||||
The @samp{-mpower} option allows GNU CC to generate instructions that
|
||||
The @samp{-mpower} option allows GCC to generate instructions that
|
||||
are found only in the POWER architecture and to use the MQ register.
|
||||
Specifying @samp{-mpower2} implies @samp{-power} and also allows GNU CC
|
||||
Specifying @samp{-mpower2} implies @samp{-power} and also allows GCC
|
||||
to generate instructions that are present in the POWER2 architecture but
|
||||
not the original POWER architecture.
|
||||
|
||||
The @samp{-mpowerpc} option allows GNU CC to generate instructions that
|
||||
The @samp{-mpowerpc} option allows GCC to generate instructions that
|
||||
are found only in the 32-bit subset of the PowerPC architecture.
|
||||
Specifying @samp{-mpowerpc-gpopt} implies @samp{-mpowerpc} and also allows
|
||||
GNU CC to use the optional PowerPC architecture instructions in the
|
||||
GCC to use the optional PowerPC architecture instructions in the
|
||||
General Purpose group, including floating-point square root. Specifying
|
||||
@samp{-mpowerpc-gfxopt} implies @samp{-mpowerpc} and also allows GNU CC to
|
||||
@samp{-mpowerpc-gfxopt} implies @samp{-mpowerpc} and also allows GCC to
|
||||
use the optional PowerPC architecture instructions in the Graphics
|
||||
group, including floating-point select.
|
||||
|
||||
The @samp{-mpowerpc64} option allows GNU CC to generate the additional
|
||||
The @samp{-mpowerpc64} option allows GCC to generate the additional
|
||||
64-bit instructions that are found in the full PowerPC64 architecture
|
||||
and to treat GPRs as 64-bit, doubleword quantities. GNU CC defaults to
|
||||
and to treat GPRs as 64-bit, doubleword quantities. GCC defaults to
|
||||
@samp{-mno-powerpc64}.
|
||||
|
||||
If you specify both @samp{-mno-power} and @samp{-mno-powerpc}, GNU CC
|
||||
If you specify both @samp{-mno-power} and @samp{-mno-powerpc}, GCC
|
||||
will use only the instructions in the common subset of both
|
||||
architectures plus some special AIX common-mode calls, and will not use
|
||||
the MQ register. Specifying both @samp{-mpower} and @samp{-mpowerpc}
|
||||
permits GNU CC to use any instruction from either architecture and to
|
||||
permits GCC to use any instruction from either architecture and to
|
||||
allow use of the MQ register; specify this for the Motorola MPC601.
|
||||
|
||||
@item -mnew-mnemonics
|
||||
@ -4845,10 +4850,10 @@ Select which mnemonics to use in the generated assembler code.
|
||||
defined for the PowerPC architecture, while @samp{-mold-mnemonics}
|
||||
requests the assembler mnemonics defined for the POWER architecture.
|
||||
Instructions defined in only one architecture have only one mnemonic;
|
||||
GNU CC uses that mnemonic irrespective of which of these options is
|
||||
GCC uses that mnemonic irrespective of which of these options is
|
||||
specified.
|
||||
|
||||
GNU CC defaults to the mnemonics appropriate for the architecture in
|
||||
GCC defaults to the mnemonics appropriate for the architecture in
|
||||
use. Specifying @samp{-mcpu=@var{cpu_type}} sometimes overrides the
|
||||
value of these option. Unless you are building a cross-compiler, you
|
||||
should normally not specify either @samp{-mnew-mnemonics} or
|
||||
@ -4886,9 +4891,9 @@ enable the @samp{-mpowerpc} option and disable the @samp{-mpower} option.
|
||||
|
||||
AIX versions 4 or greater selects @samp{-mcpu=common} by default, so
|
||||
that code will operate on all members of the RS/6000 POWER and PowerPC
|
||||
families. In that case, GNU CC will use only the instructions in the
|
||||
families. In that case, GCC will use only the instructions in the
|
||||
common subset of both architectures plus some special AIX common-mode
|
||||
calls, and will not use the MQ register. GNU CC assumes a generic
|
||||
calls, and will not use the MQ register. GCC assumes a generic
|
||||
processor model for scheduling purposes.
|
||||
|
||||
Specifying any of the options @samp{-mcpu=rios1}, @samp{-mcpu=rios2},
|
||||
@ -4918,25 +4923,25 @@ instruction scheduling parameters.
|
||||
@kindex -mminimal-toc
|
||||
Modify generation of the TOC (Table Of Contents), which is created for
|
||||
every executable file. The @samp{-mfull-toc} option is selected by
|
||||
default. In that case, GNU CC will allocate at least one TOC entry for
|
||||
each unique non-automatic variable reference in your program. GNU CC
|
||||
default. In that case, GCC will allocate at least one TOC entry for
|
||||
each unique non-automatic variable reference in your program. GCC
|
||||
will also place floating-point constants in the TOC. However, only
|
||||
16,384 entries are available in the TOC.
|
||||
|
||||
If you receive a linker error message that saying you have overflowed
|
||||
the available TOC space, you can reduce the amount of TOC space used
|
||||
with the @samp{-mno-fp-in-toc} and @samp{-mno-sum-in-toc} options.
|
||||
@samp{-mno-fp-in-toc} prevents GNU CC from putting floating-point
|
||||
constants in the TOC and @samp{-mno-sum-in-toc} forces GNU CC to
|
||||
@samp{-mno-fp-in-toc} prevents GCC from putting floating-point
|
||||
constants in the TOC and @samp{-mno-sum-in-toc} forces GCC to
|
||||
generate code to calculate the sum of an address and a constant at
|
||||
run-time instead of putting that sum into the TOC. You may specify one
|
||||
or both of these options. Each causes GNU CC to produce very slightly
|
||||
or both of these options. Each causes GCC to produce very slightly
|
||||
slower and larger code at the expense of conserving TOC space.
|
||||
|
||||
If you still run out of space in the TOC even when you specify both of
|
||||
these options, specify @samp{-mminimal-toc} instead. This option causes
|
||||
GNU CC to make only one TOC entry for every file. When you specify this
|
||||
option, GNU CC will produce code that is slower and larger but which
|
||||
GCC to make only one TOC entry for every file. When you specify this
|
||||
option, GCC will produce code that is slower and larger but which
|
||||
uses extremely little TOC space. You may wish to use this option
|
||||
only on files that contain less frequently executed code. @refill
|
||||
|
||||
@ -4948,7 +4953,7 @@ Enable 64-bit PowerPC ABI and calling convention: 64-bit pointers, 64-bit
|
||||
@code{long} type, and the infrastructure needed to support them.
|
||||
Specifying @samp{-m64} implies @samp{-mpowerpc64} and
|
||||
@samp{-mpowerpc}, while @samp{-m32} disables the 64-bit ABI and
|
||||
implies @samp{-mno-powerpc64}. GNU CC defaults to @samp{-m32}.
|
||||
implies @samp{-mno-powerpc64}. GCC defaults to @samp{-m32}.
|
||||
|
||||
@item -mxl-call
|
||||
@itemx -mno-xl-call
|
||||
@ -4987,7 +4992,7 @@ option are incompatible.
|
||||
@kindex -msoft-float
|
||||
Generate code that does not use (uses) the floating-point register set.
|
||||
Software floating point emulation is provided if you use the
|
||||
@samp{-msoft-float} option, and pass the option to GNU CC when linking.
|
||||
@samp{-msoft-float} option, and pass the option to GCC when linking.
|
||||
|
||||
@item -mmultiple
|
||||
@itemx -mno-multiple
|
||||
@ -5411,7 +5416,7 @@ prevents compilation.
|
||||
|
||||
@item -msoft-float
|
||||
Generate output containing library calls for floating point.
|
||||
@strong{Warning:} the requisite libraries are not part of GNU CC.
|
||||
@strong{Warning:} the requisite libraries are not part of GCC.
|
||||
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 library functions for
|
||||
@ -5555,7 +5560,7 @@ comparison is unordered.
|
||||
|
||||
@item -msoft-float
|
||||
Generate output containing library calls for floating point.
|
||||
@strong{Warning:} the requisite libraries are not part of GNU CC.
|
||||
@strong{Warning:} the requisite libraries are not part of GCC.
|
||||
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 library functions for
|
||||
@ -5585,7 +5590,7 @@ also use the @samp{-ffast-math} switch.
|
||||
|
||||
@item -malign-double
|
||||
@itemx -mno-align-double
|
||||
Control whether GNU CC aligns @code{double}, @code{long double}, and
|
||||
Control whether GCC aligns @code{double}, @code{long double}, and
|
||||
@code{long long} variables on a two word boundary or a one word
|
||||
boundary. Aligning @code{double} variables on a two word boundary will
|
||||
produce code that runs somewhat faster on a @samp{Pentium} at the
|
||||
@ -5597,13 +5602,13 @@ the published application binary interface specifications for the 386.
|
||||
|
||||
@item -msvr3-shlib
|
||||
@itemx -mno-svr3-shlib
|
||||
Control whether GNU CC places uninitialized locals into @code{bss} or
|
||||
Control whether GCC places uninitialized locals into @code{bss} or
|
||||
@code{data}. @samp{-msvr3-shlib} places these locals into @code{bss}.
|
||||
These options are meaningful only on System V Release 3.
|
||||
|
||||
@item -mno-wide-multiply
|
||||
@itemx -mwide-multiply
|
||||
Control whether GNU CC uses the @code{mul} and @code{imul} that produce
|
||||
Control whether GCC uses the @code{mul} and @code{imul} that produce
|
||||
64 bit results in @code{eax:edx} from 32 bit operands to do @code{long
|
||||
long} multiplies and 32-bit division by constants.
|
||||
|
||||
@ -5790,7 +5795,7 @@ does provide software floating point support.
|
||||
@samp{-msoft-float} changes the calling convention in the output file;
|
||||
therefore, it is only useful if you compile @emph{all} of a program with
|
||||
this option. In particular, you need to compile @file{libgcc.a}, the
|
||||
library that comes with GNU CC, with @samp{-msoft-float} in order for
|
||||
library that comes with GCC, with @samp{-msoft-float} in order for
|
||||
this to work.
|
||||
@end table
|
||||
|
||||
@ -6009,7 +6014,7 @@ rounding towards plus infinity. Thus, unless your program modifies the
|
||||
In the Alpha architecture, floating point traps are imprecise. This
|
||||
means without software assistance it is impossible to recover from a
|
||||
floating trap and program execution normally needs to be terminated.
|
||||
GNU CC can generate code that can assist operating system trap handlers
|
||||
GCC can generate code that can assist operating system trap handlers
|
||||
in determining the exact location that caused a floating point trap.
|
||||
Depending on the requirements of an application, different levels of
|
||||
precisions can be selected:
|
||||
@ -6040,12 +6045,12 @@ generated assembly file. Under DEC Unix, this has the effect that
|
||||
IEEE-conformant math library routines will be linked in.
|
||||
|
||||
@item -mbuild-constants
|
||||
Normally GNU CC examines a 32- or 64-bit integer constant to
|
||||
Normally GCC examines a 32- or 64-bit integer constant to
|
||||
see if it can construct it from smaller constants in two or three
|
||||
instructions. If it cannot, it will output the constant as a literal and
|
||||
generate code to load it from the data segment at runtime.
|
||||
|
||||
Use this option to require GNU CC to construct @emph{all} integer constants
|
||||
Use this option to require GCC to construct @emph{all} integer constants
|
||||
using code, even if it takes more instructions (the maximum is six).
|
||||
|
||||
You would typically use this option to build a shared library dynamic
|
||||
@ -6063,19 +6068,19 @@ assembler (@samp{-malpha-as}) or by the GNU assembler @samp{-mgas}.
|
||||
@itemx -mno-cix
|
||||
@itemx -mmax
|
||||
@itemx -mno-max
|
||||
Indicate whether GNU CC should generate code to use the optional BWX,
|
||||
Indicate whether GCC should generate code to use the optional BWX,
|
||||
CIX, and MAX instruction sets. The default is to use the instruction sets
|
||||
supported by the CPU type specified via @samp{-mcpu=} option or that
|
||||
of the CPU on which GNU CC was built if none was specified.
|
||||
of the CPU on which GCC was built if none was specified.
|
||||
|
||||
@item -mcpu=@var{cpu_type}
|
||||
Set the instruction set, register set, and instruction scheduling
|
||||
parameters for machine type @var{cpu_type}. You can specify either the
|
||||
@samp{EV} style name or the corresponding chip number. GNU CC
|
||||
@samp{EV} style name or the corresponding chip number. GCC
|
||||
supports scheduling parameters for the EV4 and EV5 family of processors
|
||||
and will choose the default values for the instruction set from
|
||||
the processor you specify. If you do not specify a processor type,
|
||||
GNU CC will default to the processor on which the compiler was built.
|
||||
GCC will default to the processor on which the compiler was built.
|
||||
|
||||
Supported values for @var{cpu_type} are
|
||||
|
||||
@ -6596,7 +6601,7 @@ programs that don't use exception handling.
|
||||
Return ``short'' @code{struct} and @code{union} values in memory like
|
||||
longer ones, rather than in registers. This convention is less
|
||||
efficient, but it has the advantage of allowing intercallability between
|
||||
GNU CC-compiled files and files compiled with other compilers.
|
||||
GCC-compiled files and files compiled with other compilers.
|
||||
|
||||
The precise convention for returning structures in memory depends
|
||||
on the target configuration macros.
|
||||
@ -6610,9 +6615,9 @@ returned in registers when possible. This is more efficient for small
|
||||
structures than @samp{-fpcc-struct-return}.
|
||||
|
||||
If you specify neither @samp{-fpcc-struct-return} nor its contrary
|
||||
@samp{-freg-struct-return}, GNU CC defaults to whichever convention is
|
||||
standard for the target. If there is no standard convention, GNU CC
|
||||
defaults to @samp{-fpcc-struct-return}, except on targets where GNU CC
|
||||
@samp{-freg-struct-return}, GCC defaults to whichever convention is
|
||||
standard for the target. If there is no standard convention, GCC
|
||||
defaults to @samp{-fpcc-struct-return}, except on targets where GCC
|
||||
is the principal compiler. In those cases, we can choose the standard,
|
||||
and we chose the more efficient register return alternative.
|
||||
|
||||
@ -6648,7 +6653,7 @@ destructors) in the form used by the GNU linker (on systems where the GNU
|
||||
linker is the standard method of handling them). Use this option when
|
||||
you want to use a non-GNU linker, which also requires using the
|
||||
@code{collect2} program to make sure the system linker includes
|
||||
constructors and destructors. (@code{collect2} is included in the GNU CC
|
||||
constructors and destructors. (@code{collect2} is included in the GCC
|
||||
distribution.) For systems which @emph{must} use @code{collect2}, the
|
||||
compiler driver @code{gcc} is configured to do this automatically.
|
||||
|
||||
@ -6674,7 +6679,7 @@ Consider all memory references through pointers to be volatile.
|
||||
|
||||
@item -fvolatile-global
|
||||
Consider all memory references to extern and global data items to
|
||||
be volatile. GNU CC does not consider static data items to be volatile
|
||||
be volatile. GCC does not consider static data items to be volatile
|
||||
because of this switch.
|
||||
|
||||
@item -fvolatile-static
|
||||
@ -6687,7 +6692,7 @@ Generate position-independent code (PIC) suitable for use in a shared
|
||||
library, if supported for the target machine. Such code accesses all
|
||||
constant addresses through a global offset table (GOT). The dynamic
|
||||
loader resolves the GOT entries when the program starts (the dynamic
|
||||
loader is not part of GNU CC; it is part of the operating system). If
|
||||
loader is not part of GCC; it is part of the operating system). If
|
||||
the GOT size for the linked executable exceeds a machine-specific
|
||||
maximum size, you get an error message from the linker indicating that
|
||||
@samp{-fpic} does not work; in that case, recompile with @samp{-fPIC}
|
||||
@ -6695,7 +6700,7 @@ instead. (These maximums are 16k on the m88k, 8k on the Sparc, and 32k
|
||||
on the m68k and RS/6000. The 386 has no such limit.)
|
||||
|
||||
Position-independent code requires special support, and therefore works
|
||||
only on certain machines. For the 386, GNU CC supports PIC for System V
|
||||
only on certain machines. For the 386, GCC supports PIC for System V
|
||||
but not for the Sun 386i. Code generated for the IBM RS/6000 is always
|
||||
position-independent.
|
||||
|
||||
@ -6755,7 +6760,7 @@ not want to use this option, since it makes the code suboptimal, and
|
||||
the offsets of structure members won't agree with system libraries.
|
||||
|
||||
@item -fcheck-memory-usage
|
||||
Generate extra code to check each memory access. GNU CC will generate
|
||||
Generate extra code to check each memory access. GCC will generate
|
||||
code that is suitable for a detector of bad memory accesses such as
|
||||
@file{Checker}.
|
||||
|
||||
@ -6770,7 +6775,7 @@ If you do not, you might get erroneous messages from the detector.
|
||||
If you use functions from a library that have side-effects (such as
|
||||
@code{read}), you might not be able to recompile the library and
|
||||
specify this option. In that case, you can enable the
|
||||
@samp{-fprefix-function-name} option, which requests GNU CC to encapsulate
|
||||
@samp{-fprefix-function-name} option, which requests GCC to encapsulate
|
||||
your code and make other functions look as if they were compiled with
|
||||
@samp{-fcheck-memory-usage}. This is done by calling ``stubs'',
|
||||
which are provided by the detector. If you cannot find or build
|
||||
@ -6796,8 +6801,8 @@ These calls would be similar to those done in the stubs described above.
|
||||
@c should be documented!
|
||||
|
||||
@item -fprefix-function-name
|
||||
Request GNU CC to add a prefix to the symbols generated for function names.
|
||||
GNU CC adds a prefix to the names of functions defined as well as
|
||||
Request GCC to add a prefix to the symbols generated for function names.
|
||||
GCC adds a prefix to the names of functions defined as well as
|
||||
functions called. Code compiled with this option and code compiled
|
||||
without the option can't be linked together, unless stubs are used.
|
||||
|
||||
@ -6812,7 +6817,7 @@ foo (int a)
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
GNU CC will compile the code as if it was written:
|
||||
GCC will compile the code as if it was written:
|
||||
@example
|
||||
extern void prefix_bar (int);
|
||||
void
|
||||
@ -6893,11 +6898,11 @@ option, and that not all targets provide complete support for it.
|
||||
@end table
|
||||
|
||||
@node Environment Variables
|
||||
@section Environment Variables Affecting GNU CC
|
||||
@section Environment Variables Affecting GCC
|
||||
@cindex environment variables
|
||||
|
||||
This section describes several environment variables that affect how GNU
|
||||
CC operates. Some of them work by specifying directories or prefixes to use
|
||||
This section describes several environment variables that affect how GCC
|
||||
operates. Some of them work by specifying directories or prefixes to use
|
||||
when searching for various kinds of files. Some are used to specify other
|
||||
aspects of the compilation environment.
|
||||
|
||||
@ -6905,15 +6910,15 @@ aspects of the compilation environment.
|
||||
Note that you can also specify places to search using options such as
|
||||
@samp{-B}, @samp{-I} and @samp{-L} (@pxref{Directory Options}). These
|
||||
take precedence over places specified using environment variables, which
|
||||
in turn take precedence over those specified by the configuration of GNU
|
||||
CC.
|
||||
in turn take precedence over those specified by the configuration of GCC.
|
||||
|
||||
@end ifclear
|
||||
@ifset INTERNALS
|
||||
Note that you can also specify places to search using options such as
|
||||
@samp{-B}, @samp{-I} and @samp{-L} (@pxref{Directory Options}). These
|
||||
take precedence over places specified using environment variables, which
|
||||
in turn take precedence over those specified by the configuration of GNU
|
||||
CC. @xref{Driver}.
|
||||
in turn take precedence over those specified by the configuration of GCC.
|
||||
@xref{Driver}.
|
||||
@end ifset
|
||||
|
||||
@table @code
|
||||
@ -6934,16 +6939,16 @@ CC. @xref{Driver}.
|
||||
@c @findex LC_TIME
|
||||
@findex LC_ALL
|
||||
@cindex locale
|
||||
These environment variables control the way that GNU CC uses
|
||||
localization information that allow GNU CC to work with different
|
||||
national conventions. GNU CC inspects the locale categories
|
||||
These environment variables control the way that GCC uses
|
||||
localization information that allow GCC to work with different
|
||||
national conventions. GCC inspects the locale categories
|
||||
@code{LC_CTYPE} and @code{LC_MESSAGES} if it has been configured to do
|
||||
so. These locale categories can be set to any value supported by your
|
||||
installation. A typical value is @samp{en_UK} for English in the United
|
||||
Kingdom.
|
||||
|
||||
The @code{LC_CTYPE} environment variable specifies character
|
||||
classification. GNU CC uses it to determine the character boundaries in
|
||||
classification. GCC uses it to determine the character boundaries in
|
||||
a string; this is needed for some multibyte encodings that contain quote
|
||||
and escape characters that would otherwise be interpreted as a string
|
||||
end or escape.
|
||||
@ -6954,13 +6959,13 @@ use in diagnostic messages.
|
||||
If the @code{LC_ALL} environment variable is set, it overrides the value
|
||||
of @code{LC_CTYPE} and @code{LC_MESSAGES}; otherwise, @code{LC_CTYPE}
|
||||
and @code{LC_MESSAGES} default to the value of the @code{LANG}
|
||||
environment variable. If none of these variables are set, GNU CC
|
||||
environment variable. If none of these variables are set, GCC
|
||||
defaults to traditional C English behavior.
|
||||
|
||||
@item TMPDIR
|
||||
@findex TMPDIR
|
||||
If @code{TMPDIR} is set, it specifies the directory to use for temporary
|
||||
files. GNU CC uses temporary files to hold the output of one stage of
|
||||
files. GCC uses temporary files to hold the output of one stage of
|
||||
compilation which is to be used as input to the next stage: for example,
|
||||
the output of the preprocessor, which is the input to the compiler
|
||||
proper.
|
||||
@ -6972,7 +6977,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 GNU CC cannot find the subprogram using the specified prefix, it
|
||||
If GCC cannot find the subprogram using the specified prefix, it
|
||||
tries looking in the usual places for the subprogram.
|
||||
|
||||
The default value of @code{GCC_EXEC_PREFIX} is
|
||||
@ -6987,9 +6992,9 @@ used for linking.
|
||||
In addition, the prefix is used in an unusual way in finding the
|
||||
directories to search for header files. For each of the standard
|
||||
directories whose name normally begins with @samp{/usr/local/lib/gcc-lib}
|
||||
(more precisely, with the value of @code{GCC_INCLUDE_DIR}), GNU CC tries
|
||||
(more precisely, with the value of @code{GCC_INCLUDE_DIR}), GCC tries
|
||||
replacing that beginning with the specified prefix to produce an
|
||||
alternate directory name. Thus, with @samp{-Bfoo/}, GNU CC will search
|
||||
alternate directory name. Thus, with @samp{-Bfoo/}, GCC will search
|
||||
@file{foo/bar} where it would normally search @file{/usr/local/lib/bar}.
|
||||
These alternate directories are searched first; the standard directories
|
||||
come next.
|
||||
@ -6997,7 +7002,7 @@ come next.
|
||||
@item COMPILER_PATH
|
||||
@findex COMPILER_PATH
|
||||
The value of @code{COMPILER_PATH} is a colon-separated list of
|
||||
directories, much like @code{PATH}. GNU CC tries the directories thus
|
||||
directories, much like @code{PATH}. GCC tries the directories thus
|
||||
specified when searching for subprograms, if it can't find the
|
||||
subprograms using @code{GCC_EXEC_PREFIX}.
|
||||
|
||||
@ -7005,9 +7010,9 @@ subprograms using @code{GCC_EXEC_PREFIX}.
|
||||
@findex LIBRARY_PATH
|
||||
The value of @code{LIBRARY_PATH} is a colon-separated list of
|
||||
directories, much like @code{PATH}. When configured as a native compiler,
|
||||
GNU CC tries the directories thus specified when searching for special
|
||||
GCC tries the directories thus specified when searching for special
|
||||
linker files, if it can't find them using @code{GCC_EXEC_PREFIX}. Linking
|
||||
using GNU CC also uses these directories when searching for ordinary
|
||||
using GCC also uses these directories when searching for ordinary
|
||||
libraries for the @samp{-l} option (but directories specified with
|
||||
@samp{-L} come first).
|
||||
|
||||
@ -7020,7 +7025,7 @@ libraries for the @samp{-l} option (but directories specified with
|
||||
@c @itemx OBJCPLUS_INCLUDE_PATH
|
||||
These environment variables pertain to particular languages. Each
|
||||
variable's value is a colon-separated list of directories, much like
|
||||
@code{PATH}. When GNU CC searches for header files, it tries the
|
||||
@code{PATH}. When GCC searches for header files, it tries the
|
||||
directories listed in the variable for the language you are using, after
|
||||
the directories specified with @samp{-I} but before the standard header
|
||||
file directories.
|
||||
@ -7113,9 +7118,9 @@ original source file. The original file is renamed to a name ending
|
||||
with @samp{.save}. If the @samp{.save} file already exists, then
|
||||
the source file is simply discarded.
|
||||
|
||||
@code{protoize} and @code{unprotoize} both depend on GNU CC itself to
|
||||
@code{protoize} and @code{unprotoize} both depend on GCC itself to
|
||||
scan the program and collect information about the functions it uses.
|
||||
So neither of these programs will work until GNU CC is installed.
|
||||
So neither of these programs will work until GCC is installed.
|
||||
|
||||
Here is a table of the options you can use with @code{protoize} and
|
||||
@code{unprotoize}. Each option works with both programs unless
|
||||
|
Loading…
Reference in New Issue
Block a user