X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=gcc%2Fdoc%2Finvoke.texi;h=3d5c06ce3cf0977976edd2ef867d93a7d49c5e3e;hb=1f1d51306154bf6a354ff988868d3183022011c0;hp=ad6f90e9d471936b2186a60f7e2502a4ca3a9e17;hpb=8af636537a1ad44268da5cca4f849728c391c698;p=gcc.git diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index ad6f90e9d47..3d5c06ce3cf 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -166,7 +166,8 @@ in the following sections. @item C Language Options @xref{C Dialect Options,,Options Controlling C Dialect}. -@gccoptlist{-ansi -std=@var{standard} -aux-info @var{filename} @gol +@gccoptlist{-ansi -std=@var{standard} -fgnu89-inline @gol +-aux-info @var{filename} @gol -fno-asm -fno-builtin -fno-builtin-@var{function} @gol -fhosted -ffreestanding -fopenmp -fms-extensions @gol -trigraphs -no-integrated-cpp -traditional -traditional-cpp @gol @@ -461,6 +462,7 @@ Objective-C and Objective-C++ Dialects}. -dynamic -dynamiclib -exported_symbols_list @gol -filelist -flat_namespace -force_cpusubtype_ALL @gol -force_flat_namespace -headerpad_max_install_names @gol +-iframework @gol -image_base -init -install_name -keep_private_externs @gol -multi_module -multiply_defined -multiply_defined_unused @gol -noall_load -no_dead_strip_inits_and_terms @gol @@ -664,7 +666,7 @@ See RS/6000 and PowerPC Options. -mpowerpc-gpopt -mno-powerpc-gpopt @gol -mpowerpc-gfxopt -mno-powerpc-gfxopt @gol -mmfcrf -mno-mfcrf -mpopcntb -mno-popcntb -mfprnd -mno-fprnd @gol --mmfpgpr -mno-mfpgpr @gol +-mcmpb -mno-cmpb -mmfpgpr -mno-mfpgpr -mdfp -mno-dfp @gol -mnew-mnemonics -mold-mnemonics @gol -mfull-toc -mminimal-toc -mno-fp-in-toc -mno-sum-in-toc @gol -m64 -m32 -mxl-compat -mno-xl-compat -mpe @gol @@ -1351,6 +1353,27 @@ the @code{inline} keyword in ISO C99) are not disabled. @xref{Standards,,Language Standards Supported by GCC}, for details of these standard versions. +@item -fgnu89-inline +@opindex fgnu89-inline +The option @option{-fgnu89-inline} tells GCC to use the traditional +GNU semantics for @code{inline} functions when in C99 mode. +@xref{Inline,,An Inline Function is As Fast As a Macro}. This option +is accepted and ignored by GCC versions 4.1.3 up to but not including +4.3. In GCC versions 4.3 and later it changes the behavior of GCC in +C99 mode. Using this option is roughly equivalent to adding the +@code{gnu_inline} function attribute to all inline functions +(@pxref{Function Attributes}). + +The option @option{-fno-gnu89-inline} explicitly tells GCC to use the +C99 semantics for @code{inline} when in C99 or gnu99 mode (i.e., it +specifies the default behavior). This option was first supported in +GCC 4.3. This option is not supported in C89 or gnu89 mode. + +The preprocesor macros @code{__GNUC_GNU_INLINE__} and +@code{__GNUC_STDC_INLINE__} may be used to check which semantics are +in effect for @code{inline} functions. @xref{Common Predefined +Macros,,,cpp.info,The C Preprocessor}. + @item -aux-info @var{filename} @opindex aux-info Output to the given filename prototyped declarations for all functions @@ -7415,6 +7438,19 @@ of the current spec. The following built-in spec functions are provided: @table @code +@item @code{getenv} +The @code{getenv} spec function takes two arguments: an environment +variable name and a string. If the environment variable is not +defined, a fatal error is issued. Otherwise, the return value is the +value of the environment variable concatenated with the string. For +example, if @env{TOPDIR} is defined as @file{/path/to/top}, then: + +@smallexample +%:getenv(TOPDIR /include) +@end smallexample + +expands to @file{/path/to/top/include}. + @item @code{if-exists} The @code{if-exists} spec function takes one argument, an absolute pathname to a file. If the file exists, @code{if-exists} returns the @@ -8428,6 +8464,14 @@ in @samp{"/System/Library/Frameworks"} and the name of the framework and header.h is found in the @samp{"PrivateHeaders"} or @samp{"Headers"} directory. +@item -iframework@var{dir} +@opindex iframework +Like @option{-F} except the directory is a treated as a system +directory. The main difference between this @option{-iframework} and +@option{-F} is that with @option{-iframework} the compiler does not +warn about constructs contained within header files found via +@var{dir}. This option is valid only for the C family of languages. + @item -gused @opindex -gused Emit debugging information for symbols that are used. For STABS @@ -11799,8 +11843,12 @@ These @samp{-m} options are defined for the IBM RS/6000 and PowerPC: @itemx -mno-popcntb @itemx -mfprnd @itemx -mno-fprnd +@itemx -mcmpb +@itemx -mno-cmpb @itemx -mmfpgpr @itemx -mno-mfpgpr +@itemx -mdfp +@itemx -mno-dfp @opindex mpower @opindex mno-power @opindex mpower2 @@ -11819,8 +11867,12 @@ These @samp{-m} options are defined for the IBM RS/6000 and PowerPC: @opindex mno-popcntb @opindex mfprnd @opindex mno-fprnd +@opindex mcmpb +@opindex mno-cmpb @opindex mmfpgpr @opindex mno-mfpgpr +@opindex mdfp +@opindex mno-dfp 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 @@ -11865,10 +11917,15 @@ architecture. The @option{-mfprnd} option allows GCC to generate the FP round to integer instructions implemented on the POWER5+ processor and other processors that support the PowerPC V2.03 architecture. +The @option{-mcmpb} option allows GCC to generate the compare bytes +instruction implemented on the POWER6 processor and other processors +that support the PowerPC V2.05 architecture. The @option{-mmfpgpr} option allows GCC to generate the FP move to/from general purpose register instructions implemented on the POWER6X processor and other processors that support the extended PowerPC V2.05 architecture. +The @option{-mdfp} option allows GCC to generate the decimal floating +point instructions implemented on some POWER processors. The @option{-mpowerpc64} option allows GCC to generate the additional 64-bit instructions that are found in the full PowerPC64 architecture