**/*.texi: Reorder index entries
This change is a generalization of r13-6292-gddf6fe375d9110. Historically, makeinfo exhibited a bug, due to which a structure like: @item foo @cindex foo @cindex bar ... would be transformed into an item heading, with the first index entry on it, followed by an item body, with the second index entry in it. This has often lead to index entries not linking to relevant items, but rather, just below them. This bug was exhibited in both Info and HTML documentation, and was most glaringly obvious in the latter. After a discussion with the Texinfo developers, it was decided that the appropriate construct for this case is: @cindex foo @cindex bar @item foo ... which behaves correctly in newer versions, linking all the index entries to the item itself. This pattern also produces copiable anchors in HTML output. This commit fixes most indices to follow the pattern above, however, omits relevant changes in the Ada manuals, as the algorithm described below lead to many false positives and unwanted changes in that manual. Much like the previous commit, this change is mostly mechanical, with a simple script. I have, however, gone over the patch myself also, to see if there's anything that ought to be kept as-is. Formatter: # GPL3+ use v5.35; use strict; use warnings; my @lineq = (); my @itemq = (); my @indxq = (); my $lstin = 0; while (<>) { push (@lineq, $_); if (/^\@[a-zA-Z0-9]{1,2}index\W/) { $lstin = @lineq; push (@indxq, $_); next; } if (/^\@itemx?\W/) { $lstin = @lineq; push (@itemq, $_); next; } next if $lstin && /^\s*(\@c(omment)?\W.*)?$/; if (@indxq and @itemq) { print @indxq; print @itemq; print @lineq[$lstin..@lineq-1]; } else { print @lineq; } @lineq = (); @itemq = (); @indxq = (); $lstin = 0; } if (@indxq and @itemq) { print @indxq; print @itemq; print @lineq[$lstin..@lineq-1]; } else { print @lineq; } # Local Variables: # indent-tabs-mode: nil # End: gcc/d/ChangeLog: * implement-d.texi: Reorder index entries around @items. gcc/ChangeLog: * doc/cfg.texi: Reorder index entries around @items. * doc/cpp.texi: Ditto. * doc/cppenv.texi: Ditto. * doc/cppopts.texi: Ditto. * doc/generic.texi: Ditto. * doc/install.texi: Ditto. * doc/extend.texi: Ditto. * doc/invoke.texi: Ditto. * doc/md.texi: Ditto. * doc/rtl.texi: Ditto. * doc/tm.texi.in: Ditto. * doc/trouble.texi: Ditto. * doc/tm.texi: Regenerate. gcc/fortran/ChangeLog: * invoke.texi: Reorder index entries around @items. gcc/go/ChangeLog: * gccgo.texi: Reorder index entries around @items.
This commit is contained in:
parent
f83e76c3f9
commit
f33d7a88d0
16 changed files with 701 additions and 702 deletions
|
@ -126,11 +126,11 @@ The following attributes are supported on most targets.
|
|||
|
||||
@table @code
|
||||
|
||||
@cindex @code{alloc_size} function attribute
|
||||
@cindex @code{alloc_size} variable attribute
|
||||
@item @@(gcc.attributes.alloc_size (@var{sizeArgIdx}))
|
||||
@itemx @@(gcc.attributes.alloc_size (@var{sizeArgIdx}, @var{numArgIdx}))
|
||||
@itemx @@(gcc.attributes.alloc_size (@var{sizeArgIdx}, @var{numArgIdx}, @var{zeroBasedNumbering}))
|
||||
@cindex @code{alloc_size} function attribute
|
||||
@cindex @code{alloc_size} variable attribute
|
||||
|
||||
The @code{@@alloc_size} attribute may be applied to a function - or a function
|
||||
pointer variable - that returns a pointer and takes at least one argument of
|
||||
|
@ -151,8 +151,8 @@ argument specifying the element count.
|
|||
void malloc_cb(@@alloc_size(1) void* function(size_t) ptr) @{ @}
|
||||
@end smallexample
|
||||
|
||||
@item @@(gcc.attributes.always_inline)
|
||||
@cindex @code{always_inline} function attribute
|
||||
@item @@(gcc.attributes.always_inline)
|
||||
|
||||
The @code{@@always_inline} attribute inlines the function independent of any
|
||||
restrictions that otherwise apply to inlining. Failure to inline such a
|
||||
|
@ -162,8 +162,8 @@ function is diagnosed as an error.
|
|||
@@always_inline int func();
|
||||
@end smallexample
|
||||
|
||||
@item @@(gcc.attributes.cold)
|
||||
@cindex @code{cold} function attribute
|
||||
@item @@(gcc.attributes.cold)
|
||||
|
||||
The @code{@@cold} attribute on functions is used to inform the compiler that the
|
||||
function is unlikely to be executed. The function is optimized for size
|
||||
|
@ -176,8 +176,8 @@ cold functions within code are considered to be cold too.
|
|||
@@cold int func();
|
||||
@end smallexample
|
||||
|
||||
@item @@(gcc.attributes.flatten)
|
||||
@cindex @code{flatten} function attribute
|
||||
@item @@(gcc.attributes.flatten)
|
||||
|
||||
The @code{@@flatten} attribute is used to inform the compiler that every call
|
||||
inside this function should be inlined, if possible. Functions declared with
|
||||
|
@ -187,8 +187,8 @@ attribute @code{@@noinline} and similar are not inlined.
|
|||
@@flatten int func();
|
||||
@end smallexample
|
||||
|
||||
@item @@(gcc.attributes.no_icf)
|
||||
@cindex @code{no_icf} function attribute
|
||||
@item @@(gcc.attributes.no_icf)
|
||||
|
||||
The @code{@@no_icf} attribute prevents a function from being merged with
|
||||
another semantically equivalent function.
|
||||
|
@ -197,8 +197,8 @@ another semantically equivalent function.
|
|||
@@no_icf int func();
|
||||
@end smallexample
|
||||
|
||||
@item @@(gcc.attributes.no_sanitize ("@var{sanitize_option}"))
|
||||
@cindex @code{no_sanitize} function attribute
|
||||
@item @@(gcc.attributes.no_sanitize ("@var{sanitize_option}"))
|
||||
|
||||
The @code{@@no_sanitize} attribute on functions is used to inform the compiler
|
||||
that it should not do sanitization of any option mentioned in
|
||||
|
@ -210,8 +210,8 @@ option can be provided.
|
|||
@@no_sanitize("alignment,object-size") void func2() @{ @}
|
||||
@end smallexample
|
||||
|
||||
@item @@(gcc.attributes.noclone)
|
||||
@cindex @code{noclone} function attribute
|
||||
@item @@(gcc.attributes.noclone)
|
||||
|
||||
The @code{@@noclone} attribute prevents a function from being considered for
|
||||
cloning - a mechanism that produces specialized copies of functions and which
|
||||
|
@ -221,8 +221,8 @@ is (currently) performed by interprocedural constant propagation.
|
|||
@@noclone int func();
|
||||
@end smallexample
|
||||
|
||||
@item @@(gcc.attributes.noinline)
|
||||
@cindex @code{noinline} function attribute
|
||||
@item @@(gcc.attributes.noinline)
|
||||
|
||||
The @code{@@noinline} attribute prevents a function from being considered for
|
||||
inlining. If the function does not have side effects, there are optimizations
|
||||
|
@ -234,8 +234,8 @@ the function call is live. To keep such calls from being optimized away, put
|
|||
@@noinline int func();
|
||||
@end smallexample
|
||||
|
||||
@item @@(gcc.attributes.noipa)
|
||||
@cindex @code{noipa} function attribute
|
||||
@item @@(gcc.attributes.noipa)
|
||||
|
||||
The @code{@@noipa} attribute disables interprocedural optimizations between the
|
||||
function with this attribute and its callers, as if the body of the function is
|
||||
|
@ -253,8 +253,8 @@ This attribute is supported mainly for the purpose of testing the compiler.
|
|||
@@noipa int func();
|
||||
@end smallexample
|
||||
|
||||
@item @@(gcc.attributes.noplt)
|
||||
@cindex @code{noplt} function attribute
|
||||
@item @@(gcc.attributes.noplt)
|
||||
|
||||
The @code{@@noplt} attribute is the counterpart to option @option{-fno-plt}.
|
||||
Calls to functions marked with this attribute in position-independent code do
|
||||
|
@ -267,8 +267,8 @@ are marked to not use the PLT to use the GOT instead.
|
|||
@@noplt int func();
|
||||
@end smallexample
|
||||
|
||||
@item @@(gcc.attributes.optimize (@var{arguments}))
|
||||
@cindex @code{optimize} function attribute
|
||||
@item @@(gcc.attributes.optimize (@var{arguments}))
|
||||
|
||||
The @code{@@optimize} attribute is used to specify that a function is to be
|
||||
compiled with different optimization options than specified on the command
|
||||
|
@ -295,8 +295,8 @@ It is not suitable in production code.
|
|||
@@optimize("no-finite-math-only", 3) double fn7(double x);
|
||||
@end smallexample
|
||||
|
||||
@item @@(gcc.attributes.register ("@var{registerName}"))
|
||||
@cindex @code{register} variable attribute
|
||||
@item @@(gcc.attributes.register ("@var{registerName}"))
|
||||
|
||||
The @code{@@register} attribute specifies that a local or @code{__gshared}
|
||||
variable is to be given a register storage-class in the C99 sense of the term,
|
||||
|
@ -311,8 +311,8 @@ error to take the address of a register variable.
|
|||
void func() @{ @@register("r10") long r10 = 0x2a; @}
|
||||
@end smallexample
|
||||
|
||||
@item @@(gcc.attributes.restrict)
|
||||
@cindex @code{restrict} parameter attribute
|
||||
@item @@(gcc.attributes.restrict)
|
||||
|
||||
The @code{@@restrict} attribute specifies that a function parameter is to be
|
||||
restrict-qualified in the C99 sense of the term. The parameter needs to boil
|
||||
|
@ -323,9 +323,9 @@ reference, or a @code{ref} parameter.
|
|||
void func(@@restrict ref const float[16] array);
|
||||
@end smallexample
|
||||
|
||||
@item @@(gcc.attributes.section ("@var{sectionName}"))
|
||||
@cindex @code{section} function attribute
|
||||
@cindex @code{section} variable attribute
|
||||
@item @@(gcc.attributes.section ("@var{sectionName}"))
|
||||
|
||||
The @code{@@section} attribute specifies that a function or variable lives in a
|
||||
particular section. For when you need certain particular functions to appear
|
||||
|
@ -341,8 +341,8 @@ instead.
|
|||
@@section("stack") ubyte[10000] stack;
|
||||
@end smallexample
|
||||
|
||||
@item @@(gcc.attributes.simd)
|
||||
@cindex @code{simd} function attribute
|
||||
@item @@(gcc.attributes.simd)
|
||||
|
||||
The @code{@@simd} attribute enables creation of one or more function versions
|
||||
that can process multiple arguments using SIMD instructions from a single
|
||||
|
@ -355,8 +355,8 @@ Vector ABI document.
|
|||
@@simd double sqrt(double x);
|
||||
@end smallexample
|
||||
|
||||
@item @@(gcc.attributes.simd_clones ("@var{mask}"))
|
||||
@cindex @code{simd_clones} function attribute
|
||||
@item @@(gcc.attributes.simd_clones ("@var{mask}"))
|
||||
|
||||
The @code{@@simd_clones} attribute is the same as @code{@@simd}, but also
|
||||
includes a @var{mask} argument. Valid masks values are @code{notinbranch} or
|
||||
|
@ -367,8 +367,8 @@ clones correspondingly.
|
|||
@@simd_clones("notinbranch") double atan2(double y, double x);
|
||||
@end smallexample
|
||||
|
||||
@item @@(gcc.attributes.symver ("@var{arguments}"))
|
||||
@cindex @code{symver} function attribute
|
||||
@item @@(gcc.attributes.symver ("@var{arguments}"))
|
||||
|
||||
The @code{@@symver} attribute creates a symbol version on ELF targets.
|
||||
The syntax of the string parameter is @code{"@var{name}@@@var{nodename}"}.
|
||||
|
@ -387,8 +387,8 @@ resolve @var{name} by the linker.
|
|||
@@symver("foo@@VERS_1") int foo_v1();
|
||||
@end smallexample
|
||||
|
||||
@item @@(gcc.attributes.target ("@var{options}"))
|
||||
@cindex @code{target} function attribute
|
||||
@item @@(gcc.attributes.target ("@var{options}"))
|
||||
|
||||
The @code{@@target} attribute is used to specify that a function is to be
|
||||
compiled with different target options than specified on the command line. One
|
||||
|
@ -407,8 +407,8 @@ The options supported are specific to each target.
|
|||
@@target("sse3") void sse3_func();
|
||||
@end smallexample
|
||||
|
||||
@item @@(gcc.attributes.target_clones ("@var{options}"))
|
||||
@cindex @code{target_clones} function attribute
|
||||
@item @@(gcc.attributes.target_clones ("@var{options}"))
|
||||
|
||||
The @code{@@target_clones} attribute is used to specify that a function be
|
||||
cloned into multiple versions compiled with different target @var{options} than
|
||||
|
@ -423,9 +423,9 @@ a function with @code{@@target_clones} attribute.
|
|||
@@target_clones("sse4.1,avx,default") double func(double x);
|
||||
@end smallexample
|
||||
|
||||
@item @@(gcc.attributes.used)
|
||||
@cindex @code{used} function attribute
|
||||
@cindex @code{used} variable attribute
|
||||
@item @@(gcc.attributes.used)
|
||||
|
||||
The @code{@@used} attribute, annotated to a function or variable, means that
|
||||
code must be emitted for the function even if it appears that the function is
|
||||
|
@ -436,9 +436,9 @@ only in inline assembly.
|
|||
@@used __gshared int var = 0x1000;
|
||||
@end smallexample
|
||||
|
||||
@item @@(gcc.attributes.visibility ("@var{visibilityName}"))
|
||||
@cindex @code{visibility} function attribute
|
||||
@cindex @code{visibility} variable attribute
|
||||
@item @@(gcc.attributes.visibility ("@var{visibilityName}"))
|
||||
|
||||
The @code{@@visibility} attribute affects the linkage of the declaration to
|
||||
which it is attached. It can be applied to variables, types, and functions.
|
||||
|
@ -450,9 +450,9 @@ There are four supported visibility_type values: @code{default}, @code{hidden},
|
|||
@@visibility("protected") void func() @{ @}
|
||||
@end smallexample
|
||||
|
||||
@item @@(gcc.attributes.weak)
|
||||
@cindex @code{weak} function attribute
|
||||
@cindex @code{weak} variable attribute
|
||||
@item @@(gcc.attributes.weak)
|
||||
|
||||
The @code{@@weak} attribute causes a declaration of an external symbol to be
|
||||
emitted as a weak symbol rather than a global. This is primarily useful in
|
||||
|
@ -479,43 +479,43 @@ The following attributes are defined for compatibility with other compilers.
|
|||
|
||||
@table @code
|
||||
|
||||
@cindex @code{allocSize} function attribute
|
||||
@item @@(gcc.attributes.allocSize (@var{sizeArgIdx}))
|
||||
@itemx @@(gcc.attributes.allocSize (@var{sizeArgIdx}, @var{numArgIdx}))
|
||||
@item @@(gcc.attributes.allocSize (@var{sizeArgIdx}))
|
||||
@cindex @code{allocSize} function attribute
|
||||
|
||||
These attributes are a synonym for
|
||||
@code{@@alloc_size(@var{sizeArgIdx}, @var{numArgIdx}, true)}.
|
||||
Unlike @code{@@alloc_size}, it uses 0-based index of the function arguments.
|
||||
|
||||
@item @@(gcc.attributes.assumeUsed)
|
||||
@cindex @code{assumeUsed} function attribute
|
||||
@cindex @code{assumeUsed} variable attribute
|
||||
@item @@(gcc.attributes.assumeUsed)
|
||||
|
||||
This attribute is a synonym for @code{@@used}.
|
||||
|
||||
@cindex @code{dynamicCompile} function attribute
|
||||
@item @@(gcc.attributes.dynamicCompile)
|
||||
@itemx @@(gcc.attributes.dynamicCompileConst)
|
||||
@itemx @@(gcc.attributes.dynamicCompileEmit)
|
||||
@cindex @code{dynamicCompile} function attribute
|
||||
|
||||
These attributes are accepted, but have no effect.
|
||||
|
||||
@item @@(gcc.attributes.fastmath)
|
||||
@cindex @code{fastmath} function attribute
|
||||
@item @@(gcc.attributes.fastmath)
|
||||
|
||||
This attribute is a synonym for @code{@@optimize("Ofast")}. Explicitly sets
|
||||
"fast-math" for a function, enabling aggressive math optimizations.
|
||||
|
||||
@item @@(gcc.attributes.hidden)
|
||||
@cindex @code{hidden} function attribute
|
||||
@cindex @code{hidden} variable attribute
|
||||
@item @@(gcc.attributes.hidden)
|
||||
|
||||
This attribute is a synonym for @code{@@visibility("hidden")}. Sets the
|
||||
visibility of a function or global variable to "hidden".
|
||||
|
||||
@item @@(gcc.attributes.naked)
|
||||
@cindex @code{naked} function attribute
|
||||
@item @@(gcc.attributes.naked)
|
||||
|
||||
This attribute is a synonym for @code{@@attribute("naked")}. Adds GCC's
|
||||
"naked" attribute to a function, disabling function prologue / epilogue
|
||||
|
@ -524,14 +524,14 @@ While using extended @code{asm} or a mixture of basic @code{asm} and D code may
|
|||
appear to work, they cannot be depended upon to work reliably and are not
|
||||
supported.
|
||||
|
||||
@item @@(gcc.attributes.noSanitize ("@var{sanitize_option}"))
|
||||
@cindex @code{noSanitize} function attribute
|
||||
@item @@(gcc.attributes.noSanitize ("@var{sanitize_option}"))
|
||||
|
||||
This attribute is a synonym for @code{@@no_sanitize("sanitize_option")}.
|
||||
|
||||
|
||||
@item @@(gcc.attributes.optStrategy ("@var{strategy}"))
|
||||
@cindex @code{optStrategy} function attribute
|
||||
@item @@(gcc.attributes.optStrategy ("@var{strategy}"))
|
||||
|
||||
This attribute is a synonym for @code{@@optimize("O0")} and
|
||||
@code{@@optimize("Os")}. Sets the optimization strategy for a function. Valid
|
||||
|
|
|
@ -269,8 +269,8 @@ These edges are used for unconditional or conditional jumps and in
|
|||
RTL also for table jumps. They are the easiest to manipulate as they
|
||||
may be freely redirected when the flow graph is not in SSA form.
|
||||
|
||||
@item fall-thru
|
||||
@findex EDGE_FALLTHRU, force_nonfallthru
|
||||
@item fall-thru
|
||||
Fall-thru edges are present in case where the basic block may continue
|
||||
execution to the following one without branching. These edges have
|
||||
the @code{EDGE_FALLTHRU} flag set. Unlike other types of edges, these
|
||||
|
@ -279,9 +279,9 @@ instruction stream. The function @code{force_nonfallthru} is
|
|||
available to insert an unconditional jump in the case that redirection
|
||||
is needed. Note that this may require creation of a new basic block.
|
||||
|
||||
@item exception handling
|
||||
@cindex exception handling
|
||||
@findex EDGE_ABNORMAL, EDGE_EH
|
||||
@item exception handling
|
||||
Exception handling edges represent possible control transfers from a
|
||||
trapping instruction to an exception handler. The definition of
|
||||
``trapping'' varies. In C++, only function calls can throw, but for
|
||||
|
@ -310,17 +310,17 @@ but this predicate only checks for possible memory traps, as in
|
|||
dereferencing an invalid pointer location.
|
||||
|
||||
|
||||
@item sibling calls
|
||||
@cindex sibling call
|
||||
@findex EDGE_ABNORMAL, EDGE_SIBCALL
|
||||
@item sibling calls
|
||||
Sibling calls or tail calls terminate the function in a non-standard
|
||||
way and thus an edge to the exit must be present.
|
||||
@code{EDGE_SIBCALL} and @code{EDGE_ABNORMAL} are set in such case.
|
||||
These edges only exist in the RTL representation.
|
||||
|
||||
@item computed jumps
|
||||
@cindex computed jump
|
||||
@findex EDGE_ABNORMAL
|
||||
@item computed jumps
|
||||
Computed jumps contain edges to all labels in the function referenced
|
||||
from the code. All those edges have @code{EDGE_ABNORMAL} flag set.
|
||||
The edges used to represent computed jumps often cause compile time
|
||||
|
@ -369,9 +369,9 @@ Be aware of that when you work on passes in that area. There have
|
|||
been numerous examples already where the compile time for code with
|
||||
unfactored computed jumps caused some serious headaches.
|
||||
|
||||
@item nonlocal goto handlers
|
||||
@cindex nonlocal goto handler
|
||||
@findex EDGE_ABNORMAL, EDGE_ABNORMAL_CALL
|
||||
@item nonlocal goto handlers
|
||||
GCC allows nested functions to return into caller using a @code{goto}
|
||||
to a label passed to as an argument to the callee. The labels passed
|
||||
to nested functions contain special code to cleanup after function
|
||||
|
@ -380,9 +380,9 @@ receivers''. If a function contains such nonlocal goto receivers, an
|
|||
edge from the call to the label is created with the
|
||||
@code{EDGE_ABNORMAL} and @code{EDGE_ABNORMAL_CALL} flags set.
|
||||
|
||||
@item function entry points
|
||||
@cindex function entry point, alternate function entry point
|
||||
@findex LABEL_ALTERNATE_NAME
|
||||
@item function entry points
|
||||
By definition, execution of function starts at basic block 0, so there
|
||||
is always an edge from the @code{ENTRY_BLOCK_PTR} to basic block 0.
|
||||
There is no @code{GIMPLE} representation for alternate entry points at
|
||||
|
|
|
@ -292,8 +292,8 @@ roughly to the first three ``phases of translation'' described in the C
|
|||
standard.
|
||||
|
||||
@enumerate
|
||||
@item
|
||||
@cindex line endings
|
||||
@item
|
||||
The input file is read into memory and broken into lines.
|
||||
|
||||
Different systems use different conventions to indicate the end of a
|
||||
|
@ -312,8 +312,8 @@ of the file is considered to implicitly supply one. The C standard says
|
|||
that this condition provokes undefined behavior, so GCC will emit a
|
||||
warning message.
|
||||
|
||||
@item
|
||||
@cindex trigraphs
|
||||
@item
|
||||
@anchor{trigraphs}If trigraphs are enabled, they are replaced by their
|
||||
corresponding single characters. By default GCC ignores trigraphs,
|
||||
but if you request a strictly conforming mode with the @option{-std}
|
||||
|
@ -346,9 +346,9 @@ Trigraph: ??( ??) ??< ??> ??= ??/ ??' ??! ??-
|
|||
Replacement: [ ] @{ @} # \ ^ | ~
|
||||
@end smallexample
|
||||
|
||||
@item
|
||||
@cindex continued lines
|
||||
@cindex backslash-newline
|
||||
@item
|
||||
Continued lines are merged into one long line.
|
||||
|
||||
A continued line is a line which ends with a backslash, @samp{\}. The
|
||||
|
@ -365,10 +365,10 @@ is still a continued line. However, as this is usually the result of an
|
|||
editing mistake, and many compilers will not accept it as a continued
|
||||
line, GCC will warn you about it.
|
||||
|
||||
@item
|
||||
@cindex comments
|
||||
@cindex line comments
|
||||
@cindex block comments
|
||||
@item
|
||||
All comments are replaced with single spaces.
|
||||
|
||||
There are two kinds of comments. @dfn{Block comments} begin with
|
||||
|
@ -694,8 +694,8 @@ C preprocessing directive @samp{#include}.
|
|||
Header files serve two purposes.
|
||||
|
||||
@itemize @bullet
|
||||
@item
|
||||
@cindex system header files
|
||||
@item
|
||||
System header files declare the interfaces to parts of the operating
|
||||
system. You include them in your program to supply the definitions and
|
||||
declarations you need to invoke system calls and libraries.
|
||||
|
@ -1121,8 +1121,8 @@ Header files found in directories added to the search path with the
|
|||
@option{-isystem} and @option{-idirafter} command-line options are
|
||||
treated as system headers for the purposes of diagnostics.
|
||||
|
||||
@item
|
||||
@findex #pragma GCC system_header
|
||||
@item
|
||||
There is also a directive, @code{@w{#pragma GCC system_header}}, which
|
||||
tells GCC to consider the rest of the current include file a system
|
||||
header, no matter where it was found. Code that comes before the
|
||||
|
|
|
@ -44,8 +44,8 @@ See also @ref{Search Path}.
|
|||
@end ifset
|
||||
@c man begin ENVIRONMENT
|
||||
|
||||
@item DEPENDENCIES_OUTPUT
|
||||
@cindex dependencies for make as output
|
||||
@item DEPENDENCIES_OUTPUT
|
||||
If this variable is set, its value specifies how to output
|
||||
dependencies for Make based on the non-system header files processed
|
||||
by the compiler. System header files are ignored in the dependency
|
||||
|
@ -67,8 +67,8 @@ the options @option{-MM} and @option{-MF}
|
|||
@end ifclear
|
||||
with an optional @option{-MT} switch too.
|
||||
|
||||
@item SUNPRO_DEPENDENCIES
|
||||
@cindex dependencies for make as output
|
||||
@item SUNPRO_DEPENDENCIES
|
||||
This variable is the same as @env{DEPENDENCIES_OUTPUT} (see above),
|
||||
except that system header files are not ignored, so it implies
|
||||
@option{-M} rather than @option{-MM}. However, the dependence on the
|
||||
|
|
|
@ -77,9 +77,9 @@ This option is supported on GNU/Linux targets, most other Unix derivatives,
|
|||
and also on x86 Cygwin and MinGW targets.
|
||||
|
||||
@opindex M
|
||||
@item -M
|
||||
@cindex @command{make}
|
||||
@cindex dependencies, @command{make}
|
||||
@item -M
|
||||
Instead of outputting the result of preprocessing, output a rule
|
||||
suitable for @command{make} describing the dependencies of the main
|
||||
source file. The preprocessor outputs one @command{make} rule containing
|
||||
|
@ -308,15 +308,15 @@ location independent. This option also affects
|
|||
@option{-ffile-prefix-map}.
|
||||
|
||||
@opindex fexec-charset
|
||||
@item -fexec-charset=@var{charset}
|
||||
@cindex character set, execution
|
||||
@item -fexec-charset=@var{charset}
|
||||
Set the execution character set, used for string and character
|
||||
constants. The default is UTF-8. @var{charset} can be any encoding
|
||||
supported by the system's @code{iconv} library routine.
|
||||
|
||||
@opindex fwide-exec-charset
|
||||
@item -fwide-exec-charset=@var{charset}
|
||||
@cindex character set, wide execution
|
||||
@item -fwide-exec-charset=@var{charset}
|
||||
Set the wide execution character set, used for wide string and
|
||||
character constants. The default is one of UTF-32BE, UTF-32LE, UTF-16BE,
|
||||
or UTF-16LE, whichever corresponds to the width of @code{wchar_t} and the
|
||||
|
@ -326,8 +326,8 @@ by the system's @code{iconv} library routine; however, you will have
|
|||
problems with encodings that do not fit exactly in @code{wchar_t}.
|
||||
|
||||
@opindex finput-charset
|
||||
@item -finput-charset=@var{charset}
|
||||
@cindex character set, input
|
||||
@item -finput-charset=@var{charset}
|
||||
Set the input character set, used for translation from the character
|
||||
set of the input file to the source character set used by GCC@. If the
|
||||
locale does not specify, or GCC cannot get this information from the
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1743,9 +1743,9 @@ represented. Unrepresented fields will be cleared (zeroed), unless the
|
|||
CONSTRUCTOR_NO_CLEARING flag is set, in which case their value becomes
|
||||
undefined.
|
||||
|
||||
@item COMPOUND_LITERAL_EXPR
|
||||
@findex COMPOUND_LITERAL_EXPR_DECL_EXPR
|
||||
@findex COMPOUND_LITERAL_EXPR_DECL
|
||||
@item COMPOUND_LITERAL_EXPR
|
||||
These nodes represent ISO C99 compound literals. The
|
||||
@code{COMPOUND_LITERAL_EXPR_DECL_EXPR} is a @code{DECL_EXPR}
|
||||
containing an anonymous @code{VAR_DECL} for
|
||||
|
|
|
@ -2618,18 +2618,18 @@ script provides three variables for this:
|
|||
|
||||
@table @code
|
||||
|
||||
@item build_configargs
|
||||
@cindex @code{build_configargs}
|
||||
@item build_configargs
|
||||
The contents of this variable is passed to all build @command{configure}
|
||||
scripts.
|
||||
|
||||
@item host_configargs
|
||||
@cindex @code{host_configargs}
|
||||
@item host_configargs
|
||||
The contents of this variable is passed to all host @command{configure}
|
||||
scripts.
|
||||
|
||||
@item target_configargs
|
||||
@cindex @code{target_configargs}
|
||||
@item target_configargs
|
||||
The contents of this variable is passed to all target @command{configure}
|
||||
scripts.
|
||||
|
||||
|
|
|
@ -2529,9 +2529,9 @@ ISO C2X.
|
|||
|
||||
@opindex fno-builtin
|
||||
@opindex fbuiltin
|
||||
@cindex built-in functions
|
||||
@item -fno-builtin
|
||||
@itemx -fno-builtin-@var{function}
|
||||
@cindex built-in functions
|
||||
Don't recognize built-in functions that do not begin with
|
||||
@samp{__builtin_} as prefix. @xref{Other Builtins,,Other built-in
|
||||
functions provided by GCC}, for details of the functions affected,
|
||||
|
@ -2575,8 +2575,8 @@ third arguments. The value of such an expression is void. This option
|
|||
is not supported for C++.
|
||||
|
||||
@opindex ffreestanding
|
||||
@item -ffreestanding
|
||||
@cindex hosted environment
|
||||
@item -ffreestanding
|
||||
|
||||
Assert that compilation targets a freestanding environment. This
|
||||
implies @option{-fno-builtin}. A freestanding environment
|
||||
|
@ -2631,8 +2631,8 @@ in effect for @code{inline} functions. @xref{Common Predefined
|
|||
Macros,,,cpp,The C Preprocessor}.
|
||||
|
||||
@opindex fhosted
|
||||
@item -fhosted
|
||||
@cindex hosted environment
|
||||
@item -fhosted
|
||||
|
||||
Assert that compilation targets a hosted environment. This implies
|
||||
@option{-fbuiltin}. A hosted environment is one in which the
|
||||
|
@ -2668,12 +2668,12 @@ Note that this option is off for all targets except for x86
|
|||
targets using ms-abi.
|
||||
|
||||
@opindex foffload
|
||||
@item -foffload=disable
|
||||
@itemx -foffload=default
|
||||
@itemx -foffload=@var{target-list}
|
||||
@cindex Offloading targets
|
||||
@cindex OpenACC offloading targets
|
||||
@cindex OpenMP offloading targets
|
||||
@item -foffload=disable
|
||||
@itemx -foffload=default
|
||||
@itemx -foffload=@var{target-list}
|
||||
Specify for which OpenMP and OpenACC offload targets code should be generated.
|
||||
The default behavior, equivalent to @option{-foffload=default}, is to generate
|
||||
code for all supported offload targets. The @option{-foffload=disable} form
|
||||
|
@ -2686,11 +2686,11 @@ run the compiler with @option{-v} to show the list of configured offload targets
|
|||
under @code{OFFLOAD_TARGET_NAMES}.
|
||||
|
||||
@opindex foffload-options
|
||||
@item -foffload-options=@var{options}
|
||||
@itemx -foffload-options=@var{target-triplet-list}=@var{options}
|
||||
@cindex Offloading options
|
||||
@cindex OpenACC offloading options
|
||||
@cindex OpenMP offloading options
|
||||
@item -foffload-options=@var{options}
|
||||
@itemx -foffload-options=@var{target-triplet-list}=@var{options}
|
||||
|
||||
With @option{-foffload-options=@var{options}}, GCC passes the specified
|
||||
@var{options} to the compilers for all enabled offloading targets. You can
|
||||
|
@ -2708,8 +2708,8 @@ Typical command lines are
|
|||
@end smallexample
|
||||
|
||||
@opindex fopenacc
|
||||
@item -fopenacc
|
||||
@cindex OpenACC accelerator programming
|
||||
@item -fopenacc
|
||||
Enable handling of OpenACC directives @code{#pragma acc} in C/C++ and
|
||||
@code{!$acc} in Fortran. When @option{-fopenacc} is specified, the
|
||||
compiler generates accelerated code according to the OpenACC Application
|
||||
|
@ -2718,16 +2718,16 @@ implies @option{-pthread}, and thus is only supported on targets that
|
|||
have support for @option{-pthread}.
|
||||
|
||||
@opindex fopenacc-dim
|
||||
@item -fopenacc-dim=@var{geom}
|
||||
@cindex OpenACC accelerator programming
|
||||
@item -fopenacc-dim=@var{geom}
|
||||
Specify default compute dimensions for parallel offload regions that do
|
||||
not explicitly specify. The @var{geom} value is a triple of
|
||||
':'-separated sizes, in order 'gang', 'worker' and, 'vector'. A size
|
||||
can be omitted, to use a target-specific default value.
|
||||
|
||||
@opindex fopenmp
|
||||
@item -fopenmp
|
||||
@cindex OpenMP parallel
|
||||
@item -fopenmp
|
||||
Enable handling of OpenMP directives @code{#pragma omp} in C/C++,
|
||||
@code{[[omp::directive(...)]]} and @code{[[omp::sequence(...)]]} in C++ and
|
||||
@code{!$omp} in Fortran. When @option{-fopenmp} is specified, the
|
||||
|
@ -2738,9 +2738,9 @@ have support for @option{-pthread}. @option{-fopenmp} implies
|
|||
@option{-fopenmp-simd}.
|
||||
|
||||
@opindex fopenmp-simd
|
||||
@item -fopenmp-simd
|
||||
@cindex OpenMP SIMD
|
||||
@cindex SIMD
|
||||
@item -fopenmp-simd
|
||||
Enable handling of OpenMP's @code{simd}, @code{declare simd},
|
||||
@code{declare reduction}, @code{assume}, @code{ordered}, @code{scan},
|
||||
@code{loop} directives and combined or composite directives with
|
||||
|
@ -2749,9 +2749,9 @@ Enable handling of OpenMP's @code{simd}, @code{declare simd},
|
|||
and @code{!$omp} in Fortran. Other OpenMP directives are ignored.
|
||||
|
||||
@opindex fopenmp-target-simd-clone
|
||||
@cindex OpenMP target SIMD clone
|
||||
@item -fopenmp-target-simd-clone
|
||||
@item -fopenmp-target-simd-clone=@var{device-type}
|
||||
@cindex OpenMP target SIMD clone
|
||||
In addition to generating SIMD clones for functions marked with the
|
||||
@code{declare simd} directive, GCC also generates clones
|
||||
for functions marked with the OpenMP @code{declare target} directive
|
||||
|
@ -3353,14 +3353,14 @@ of a named module remain implicitly inline, regardless.)
|
|||
@item -fno-module-lazy
|
||||
Disable lazy module importing and module mapper creation.
|
||||
|
||||
@vindex CXX_MODULE_MAPPER @r{environment variable}
|
||||
@opindex fmodule-mapper
|
||||
@item -fmodule-mapper=@r{[}@var{hostname}@r{]}:@var{port}@r{[}?@var{ident}@r{]}
|
||||
@itemx -fmodule-mapper=|@var{program}@r{[}?@var{ident}@r{]} @var{args...}
|
||||
@itemx -fmodule-mapper==@var{socket}@r{[}?@var{ident}@r{]}
|
||||
@itemx -fmodule-mapper=<>@r{[}@var{inout}@r{]}@r{[}?@var{ident}@r{]}
|
||||
@itemx -fmodule-mapper=<@var{in}>@var{out}@r{[}?@var{ident}@r{]}
|
||||
@itemx -fmodule-mapper=@var{file}@r{[}?@var{ident}@r{]}
|
||||
@vindex CXX_MODULE_MAPPER @r{environment variable}
|
||||
@opindex fmodule-mapper
|
||||
An oracle to query for module name to filename mappings. If
|
||||
unspecified the @env{CXX_MODULE_MAPPER} environment variable is used,
|
||||
and if that is unset, an in-process default is provided.
|
||||
|
@ -4025,9 +4025,9 @@ Enabled by default with @option{-std=c++17}.
|
|||
|
||||
@opindex Wreorder
|
||||
@opindex Wno-reorder
|
||||
@item -Wreorder @r{(C++ and Objective-C++ only)}
|
||||
@cindex reordering, warning
|
||||
@cindex warning for reordering of member initializers
|
||||
@item -Wreorder @r{(C++ and Objective-C++ only)}
|
||||
Warn when the order of member initializers given in the code does not
|
||||
match the order in which they must be executed. For instance:
|
||||
|
||||
|
@ -4256,10 +4256,10 @@ less vulnerable to unintended effects and much easier to search for.
|
|||
|
||||
@opindex Woverloaded-virtual
|
||||
@opindex Wno-overloaded-virtual
|
||||
@item -Woverloaded-virtual @r{(C++ and Objective-C++ only)}
|
||||
@itemx -Woverloaded-virtual=@var{n}
|
||||
@cindex overloaded virtual function, warning
|
||||
@cindex warning for overloaded virtual function
|
||||
@item -Woverloaded-virtual @r{(C++ and Objective-C++ only)}
|
||||
@itemx -Woverloaded-virtual=@var{n}
|
||||
Warn when a function declaration hides virtual functions from a
|
||||
base class. For example, in:
|
||||
|
||||
|
@ -5067,10 +5067,10 @@ prefix) for physical lines that result from the process of breaking
|
|||
a message which is too long to fit on a single line.
|
||||
|
||||
@opindex fdiagnostics-color
|
||||
@item -fdiagnostics-color[=@var{WHEN}]
|
||||
@itemx -fno-diagnostics-color
|
||||
@cindex highlight, color
|
||||
@vindex GCC_COLORS @r{environment variable}
|
||||
@item -fdiagnostics-color[=@var{WHEN}]
|
||||
@itemx -fno-diagnostics-color
|
||||
Use color in diagnostics. @var{WHEN} is @samp{never}, @samp{always},
|
||||
or @samp{auto}. The default depends on how the compiler has been configured,
|
||||
it can be any of the above @var{WHEN} options or also @samp{never}
|
||||
|
@ -5120,86 +5120,86 @@ Setting @env{GCC_COLORS} to the empty string disables colors.
|
|||
Supported capabilities are as follows.
|
||||
|
||||
@table @code
|
||||
@item error=
|
||||
@vindex error GCC_COLORS @r{capability}
|
||||
@item error=
|
||||
SGR substring for error: markers.
|
||||
|
||||
@item warning=
|
||||
@vindex warning GCC_COLORS @r{capability}
|
||||
@item warning=
|
||||
SGR substring for warning: markers.
|
||||
|
||||
@item note=
|
||||
@vindex note GCC_COLORS @r{capability}
|
||||
@item note=
|
||||
SGR substring for note: markers.
|
||||
|
||||
@item path=
|
||||
@vindex path GCC_COLORS @r{capability}
|
||||
@item path=
|
||||
SGR substring for colorizing paths of control-flow events as printed
|
||||
via @option{-fdiagnostics-path-format=}, such as the identifiers of
|
||||
individual events and lines indicating interprocedural calls and returns.
|
||||
|
||||
@item range1=
|
||||
@vindex range1 GCC_COLORS @r{capability}
|
||||
@item range1=
|
||||
SGR substring for first additional range.
|
||||
|
||||
@item range2=
|
||||
@vindex range2 GCC_COLORS @r{capability}
|
||||
@item range2=
|
||||
SGR substring for second additional range.
|
||||
|
||||
@item locus=
|
||||
@vindex locus GCC_COLORS @r{capability}
|
||||
@item locus=
|
||||
SGR substring for location information, @samp{file:line} or
|
||||
@samp{file:line:column} etc.
|
||||
|
||||
@item quote=
|
||||
@vindex quote GCC_COLORS @r{capability}
|
||||
@item quote=
|
||||
SGR substring for information printed within quotes.
|
||||
|
||||
@item fnname=
|
||||
@vindex fnname GCC_COLORS @r{capability}
|
||||
@item fnname=
|
||||
SGR substring for names of C++ functions.
|
||||
|
||||
@item targs=
|
||||
@vindex targs GCC_COLORS @r{capability}
|
||||
@item targs=
|
||||
SGR substring for C++ function template parameter bindings.
|
||||
|
||||
@item fixit-insert=
|
||||
@vindex fixit-insert GCC_COLORS @r{capability}
|
||||
@item fixit-insert=
|
||||
SGR substring for fix-it hints suggesting text to
|
||||
be inserted or replaced.
|
||||
|
||||
@item fixit-delete=
|
||||
@vindex fixit-delete GCC_COLORS @r{capability}
|
||||
@item fixit-delete=
|
||||
SGR substring for fix-it hints suggesting text to
|
||||
be deleted.
|
||||
|
||||
@item diff-filename=
|
||||
@vindex diff-filename GCC_COLORS @r{capability}
|
||||
@item diff-filename=
|
||||
SGR substring for filename headers within generated patches.
|
||||
|
||||
@item diff-hunk=
|
||||
@vindex diff-hunk GCC_COLORS @r{capability}
|
||||
@item diff-hunk=
|
||||
SGR substring for the starts of hunks within generated patches.
|
||||
|
||||
@item diff-delete=
|
||||
@vindex diff-delete GCC_COLORS @r{capability}
|
||||
@item diff-delete=
|
||||
SGR substring for deleted lines within generated patches.
|
||||
|
||||
@item diff-insert=
|
||||
@vindex diff-insert GCC_COLORS @r{capability}
|
||||
@item diff-insert=
|
||||
SGR substring for inserted lines within generated patches.
|
||||
|
||||
@item type-diff=
|
||||
@vindex type-diff GCC_COLORS @r{capability}
|
||||
@item type-diff=
|
||||
SGR substring for highlighting mismatching types within template
|
||||
arguments in the C++ frontend.
|
||||
@end table
|
||||
|
||||
@opindex fdiagnostics-urls
|
||||
@item -fdiagnostics-urls[=@var{WHEN}]
|
||||
@cindex urls
|
||||
@vindex GCC_URLS @r{environment variable}
|
||||
@vindex TERM_URLS @r{environment variable}
|
||||
@item -fdiagnostics-urls[=@var{WHEN}]
|
||||
Use escape sequences to embed URLs in diagnostics. For example, when
|
||||
@option{-fdiagnostics-show-option} emits text showing the command-line
|
||||
option controlling a diagnostic, embed a URL for documentation of that
|
||||
|
@ -7564,10 +7564,10 @@ This warning is enabled by @option{-Wall} or @option{-Wextra}.
|
|||
|
||||
@opindex Wunknown-pragmas
|
||||
@opindex Wno-unknown-pragmas
|
||||
@item -Wunknown-pragmas
|
||||
@cindex warning for unknown pragmas
|
||||
@cindex unknown pragmas, warning
|
||||
@cindex pragmas, warning of unknown
|
||||
@item -Wunknown-pragmas
|
||||
Warn when a @code{#pragma} directive is encountered that is not understood by
|
||||
GCC@. If this command-line option is used, warnings are even issued
|
||||
for unknown pragmas in system header files. This is not the case if
|
||||
|
@ -8365,9 +8365,9 @@ obtaining infinities and NaNs.
|
|||
|
||||
@opindex Wsystem-headers
|
||||
@opindex Wno-system-headers
|
||||
@item -Wsystem-headers
|
||||
@cindex warnings from system headers
|
||||
@cindex system headers, warnings from
|
||||
@item -Wsystem-headers
|
||||
Print warning messages for constructs found in system header files.
|
||||
Warnings from system headers are normally suppressed, on the assumption
|
||||
that they usually do not indicate real problems and would only make the
|
||||
|
@ -8939,15 +8939,15 @@ When compiling C++, warn about the deprecated conversion from string
|
|||
literals to @code{char *}. This warning is enabled by default for C++
|
||||
programs.
|
||||
|
||||
@item -Wclobbered
|
||||
@opindex Wclobbered
|
||||
@opindex Wno-clobbered
|
||||
@item -Wclobbered
|
||||
Warn for variables that might be changed by @code{longjmp} or
|
||||
@code{vfork}. This warning is also enabled by @option{-Wextra}.
|
||||
|
||||
@item -Wno-complain-wrong-lang
|
||||
@opindex Wcomplain-wrong-lang
|
||||
@opindex Wno-complain-wrong-lang
|
||||
@item -Wno-complain-wrong-lang
|
||||
By default, language front ends complain when a command-line option is
|
||||
valid, but not applicable to that front end.
|
||||
This may be disabled with @option{-Wno-complain-wrong-lang},
|
||||
|
@ -8964,9 +8964,9 @@ The latter front end diagnoses
|
|||
@samp{f951: Warning: command-line option '-fno-rtti' is valid for C++/D/ObjC++ but not for Fortran},
|
||||
which may be disabled with @option{-Wno-complain-wrong-lang}.
|
||||
|
||||
@item -Wconversion
|
||||
@opindex Wconversion
|
||||
@opindex Wno-conversion
|
||||
@item -Wconversion
|
||||
Warn for implicit conversions that may alter a value. This includes
|
||||
conversions between real and integer, like @code{abs (x)} when
|
||||
@code{x} is @code{double}; conversions between signed and unsigned,
|
||||
|
@ -9155,10 +9155,10 @@ can be disabled with the @option{-Wno-jump-misses-init} option.
|
|||
|
||||
@opindex Wsign-compare
|
||||
@opindex Wno-sign-compare
|
||||
@item -Wsign-compare
|
||||
@cindex warning for comparison of signed and unsigned values
|
||||
@cindex comparison of signed and unsigned values, warning
|
||||
@cindex signed and unsigned values, comparison warning
|
||||
@item -Wsign-compare
|
||||
Warn when a comparison between signed and unsigned values could produce
|
||||
an incorrect result when the signed value is converted to unsigned.
|
||||
In C++, this warning is also enabled by @option{-Wall}. In C, it is
|
||||
|
@ -9586,10 +9586,10 @@ implementation-defined values, and should not be used in portable code.
|
|||
@opindex Wnormalized=
|
||||
@opindex Wnormalized
|
||||
@opindex Wno-normalized
|
||||
@item -Wnormalized=@r{[}none@r{|}id@r{|}nfc@r{|}nfkc@r{]}
|
||||
@cindex NFC
|
||||
@cindex NFKC
|
||||
@cindex character set, input normalization
|
||||
@item -Wnormalized=@r{[}none@r{|}id@r{|}nfc@r{|}nfkc@r{]}
|
||||
In ISO C and ISO C++, two identifiers are different if they are
|
||||
different sequences of characters. However, sometimes when characters
|
||||
outside the basic ASCII character set are used, you can have two
|
||||
|
@ -9667,8 +9667,8 @@ Enabled by default.
|
|||
|
||||
@opindex Wopenacc-parallelism
|
||||
@opindex Wno-openacc-parallelism
|
||||
@item -Wopenacc-parallelism
|
||||
@cindex OpenACC accelerator programming
|
||||
@item -Wopenacc-parallelism
|
||||
Warn about potentially suboptimal choices related to OpenACC parallelism.
|
||||
|
||||
@opindex Wopenmp-simd
|
||||
|
@ -11033,9 +11033,9 @@ and which aren't relevant to leak analysis.
|
|||
With @option{-fno-analyzer-state-purge} this purging of state can
|
||||
be suppressed, for debugging state-handling issues.
|
||||
|
||||
@item -fno-analyzer-suppress-followups
|
||||
@opindex fanalyzer-suppress-followups
|
||||
@opindex fno-analyzer-suppress-followups
|
||||
@item -fno-analyzer-suppress-followups
|
||||
This option is intended for analyzer developers.
|
||||
|
||||
By default the analyzer will stop exploring an execution path after
|
||||
|
@ -16638,13 +16638,13 @@ program may yield backtraces with different addresses due to ASLR (Address
|
|||
Space Layout Randomization), it may be desirable to turn ASLR off. On Linux,
|
||||
this can be achieved with @samp{setarch `uname -m` -R ./prog}.
|
||||
|
||||
@item -fsanitize=kernel-address
|
||||
@opindex fsanitize=kernel-address
|
||||
@item -fsanitize=kernel-address
|
||||
Enable AddressSanitizer for Linux kernel.
|
||||
See @uref{https://github.com/google/kernel-sanitizers} for more details.
|
||||
|
||||
@item -fsanitize=hwaddress
|
||||
@opindex fsanitize=hwaddress
|
||||
@item -fsanitize=hwaddress
|
||||
Enable Hardware-assisted AddressSanitizer, which uses a hardware ability to
|
||||
ignore the top byte of a pointer to allow the detection of memory errors with
|
||||
a low memory overhead.
|
||||
|
@ -17874,8 +17874,8 @@ option @option{-Xlinker -z -Xlinker defs}). Only a few systems support
|
|||
this option.
|
||||
|
||||
@opindex T
|
||||
@item -T @var{script}
|
||||
@cindex linker script
|
||||
@item -T @var{script}
|
||||
Use @var{script} as the linker script. This option is supported by most
|
||||
systems using the GNU linker. On some targets, such as bare-board
|
||||
targets without an operating system, the @option{-T} option may be required
|
||||
|
@ -18272,8 +18272,8 @@ Use it to conform to a non-default application binary interface.
|
|||
|
||||
@opindex fcommon
|
||||
@opindex fno-common
|
||||
@item -fcommon
|
||||
@cindex tentative definitions
|
||||
@item -fcommon
|
||||
In C code, this option controls the placement of global variables
|
||||
defined without an initializer, known as @dfn{tentative definitions}
|
||||
in the C standard. Tentative definitions are distinct from declarations
|
||||
|
@ -18413,9 +18413,9 @@ See also @option{-grecord-gcc-switches} for another
|
|||
way of storing compiler options into the object file.
|
||||
|
||||
@opindex fpic
|
||||
@item -fpic
|
||||
@cindex global offset table
|
||||
@cindex PIC
|
||||
@item -fpic
|
||||
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
|
||||
|
@ -25864,8 +25864,8 @@ Put small global and static data in the small data area, and generate
|
|||
special instructions to reference them.
|
||||
|
||||
@opindex G
|
||||
@item -G @var{num}
|
||||
@cindex smaller data references
|
||||
@item -G @var{num}
|
||||
Put global and static objects less than or equal to @var{num} bytes
|
||||
into the small data or BSS sections instead of the normal data or BSS
|
||||
sections. The default value of @var{num} is 8.
|
||||
|
@ -28125,8 +28125,8 @@ These are the options defined for the Altera Nios II processor.
|
|||
@table @gcctabopt
|
||||
|
||||
@opindex G
|
||||
@item -G @var{num}
|
||||
@cindex smaller data references
|
||||
@item -G @var{num}
|
||||
Put global and static objects less than or equal to @var{num} bytes
|
||||
into the small data or BSS sections instead of the normal data or BSS
|
||||
sections. The default value of @var{num} is 8.
|
||||
|
@ -30030,9 +30030,9 @@ end of the inline compare a call to @code{strcmp} or @code{strncmp} will
|
|||
take care of the rest of the comparison. The default is 64 bytes.
|
||||
|
||||
@opindex G
|
||||
@item -G @var{num}
|
||||
@cindex smaller data references (PowerPC)
|
||||
@cindex .sdata/.sdata2 references (PowerPC)
|
||||
@item -G @var{num}
|
||||
On embedded PowerPC systems, put global and static items less than or
|
||||
equal to @var{num} bytes into the small data or BSS sections instead of
|
||||
the normal data or BSS section. By default, @var{num} is 8. The
|
||||
|
@ -34389,18 +34389,18 @@ Issues a @var{command} to the spec file processor. The commands that can
|
|||
appear here are:
|
||||
|
||||
@table @code
|
||||
@item %include <@var{file}>
|
||||
@cindex @code{%include}
|
||||
@item %include <@var{file}>
|
||||
Search for @var{file} and insert its text at the current point in the
|
||||
specs file.
|
||||
|
||||
@item %include_noerr <@var{file}>
|
||||
@cindex @code{%include_noerr}
|
||||
@item %include_noerr <@var{file}>
|
||||
Just like @samp{%include}, but do not generate an error message if the include
|
||||
file cannot be found.
|
||||
|
||||
@item %rename @var{old_name} @var{new_name}
|
||||
@cindex @code{%rename}
|
||||
@item %rename @var{old_name} @var{new_name}
|
||||
Rename the spec string @var{old_name} to @var{new_name}.
|
||||
|
||||
@end table
|
||||
|
@ -35078,6 +35078,15 @@ in turn take precedence over those specified by the configuration of GCC@.
|
|||
GNU Compiler Collection (GCC) Internals}.
|
||||
|
||||
@table @env
|
||||
@vindex LANG
|
||||
@vindex LC_CTYPE
|
||||
@c @vindex LC_COLLATE
|
||||
@vindex LC_MESSAGES
|
||||
@c @vindex LC_MONETARY
|
||||
@c @vindex LC_NUMERIC
|
||||
@c @vindex LC_TIME
|
||||
@vindex LC_ALL
|
||||
@cindex locale
|
||||
@item LANG
|
||||
@itemx LC_CTYPE
|
||||
@c @itemx LC_COLLATE
|
||||
|
@ -35086,15 +35095,6 @@ GNU Compiler Collection (GCC) Internals}.
|
|||
@c @itemx LC_NUMERIC
|
||||
@c @itemx LC_TIME
|
||||
@itemx LC_ALL
|
||||
@findex LANG
|
||||
@findex LC_CTYPE
|
||||
@c @findex LC_COLLATE
|
||||
@findex LC_MESSAGES
|
||||
@c @findex LC_MONETARY
|
||||
@c @findex LC_NUMERIC
|
||||
@c @findex LC_TIME
|
||||
@findex LC_ALL
|
||||
@cindex locale
|
||||
These environment variables control the way that GCC uses
|
||||
localization information which allows GCC to work with different
|
||||
national conventions. GCC inspects the locale categories
|
||||
|
@ -35118,22 +35118,22 @@ and @env{LC_MESSAGES} default to the value of the @env{LANG}
|
|||
environment variable. If none of these variables are set, GCC
|
||||
defaults to traditional C English behavior.
|
||||
|
||||
@vindex TMPDIR
|
||||
@item TMPDIR
|
||||
@findex TMPDIR
|
||||
If @env{TMPDIR} is set, it specifies the directory to use for temporary
|
||||
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.
|
||||
|
||||
@vindex GCC_COMPARE_DEBUG
|
||||
@item GCC_COMPARE_DEBUG
|
||||
@findex GCC_COMPARE_DEBUG
|
||||
Setting @env{GCC_COMPARE_DEBUG} is nearly equivalent to passing
|
||||
@option{-fcompare-debug} to the compiler driver. See the documentation
|
||||
of this option for more details.
|
||||
|
||||
@vindex GCC_EXEC_PREFIX
|
||||
@item GCC_EXEC_PREFIX
|
||||
@findex GCC_EXEC_PREFIX
|
||||
If @env{GCC_EXEC_PREFIX} is set, it specifies a prefix to use in the
|
||||
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
|
||||
|
@ -35167,15 +35167,15 @@ If a standard directory begins with the configured
|
|||
@var{prefix} then the value of @var{prefix} is replaced by
|
||||
@env{GCC_EXEC_PREFIX} when looking for header files.
|
||||
|
||||
@vindex COMPILER_PATH
|
||||
@item COMPILER_PATH
|
||||
@findex COMPILER_PATH
|
||||
The value of @env{COMPILER_PATH} is a colon-separated list of
|
||||
directories, much like @env{PATH}. GCC tries the directories thus
|
||||
specified when searching for subprograms, if it cannot find the
|
||||
subprograms using @env{GCC_EXEC_PREFIX}.
|
||||
|
||||
@vindex LIBRARY_PATH
|
||||
@item LIBRARY_PATH
|
||||
@findex LIBRARY_PATH
|
||||
The value of @env{LIBRARY_PATH} is a colon-separated list of
|
||||
directories, much like @env{PATH}. When configured as a native compiler,
|
||||
GCC tries the directories thus specified when searching for special
|
||||
|
@ -35184,9 +35184,9 @@ using GCC also uses these directories when searching for ordinary
|
|||
libraries for the @option{-l} option (but directories specified with
|
||||
@option{-L} come first).
|
||||
|
||||
@item LANG
|
||||
@findex LANG
|
||||
@vindex LANG
|
||||
@cindex locale definition
|
||||
@item LANG
|
||||
This variable is used to pass locale information to the compiler. One way in
|
||||
which this information is used is to determine the character set to be used
|
||||
when character literals, string literals and comments are parsed in C and C++.
|
||||
|
@ -35206,8 +35206,8 @@ If @env{LANG} is not defined, or if it has some other value, then the
|
|||
compiler uses @code{mblen} and @code{mbtowc} as defined by the default locale to
|
||||
recognize and translate multibyte characters.
|
||||
|
||||
@vindex GCC_EXTRA_DIAGNOSTIC_OUTPUT
|
||||
@item GCC_EXTRA_DIAGNOSTIC_OUTPUT
|
||||
@findex GCC_EXTRA_DIAGNOSTIC_OUTPUT
|
||||
If @env{GCC_EXTRA_DIAGNOSTIC_OUTPUT} is set to one of the following values,
|
||||
then additional text will be emitted to stderr when fix-it hints are
|
||||
emitted. @option{-fdiagnostics-parseable-fixits} and
|
||||
|
|
|
@ -156,9 +156,9 @@ operands of the instruction.
|
|||
If the vector has multiple elements, the RTL template is treated as a
|
||||
@code{parallel} expression.
|
||||
|
||||
@item
|
||||
@cindex pattern conditions
|
||||
@cindex conditions, in patterns
|
||||
@item
|
||||
The condition: This is a string which contains a C expression. When the
|
||||
compiler attempts to match RTL against a pattern, the condition is
|
||||
evaluated. If the condition evaluates to @code{true}, the match is
|
||||
|
@ -2193,8 +2193,7 @@ An integer constant with exactly a single bit set.
|
|||
An integer constant with all bits set except exactly one.
|
||||
|
||||
@item H
|
||||
|
||||
@item Q
|
||||
@itemx Q
|
||||
Any SYMBOL_REF.
|
||||
@end table
|
||||
|
||||
|
@ -5291,10 +5290,10 @@ operand 0 is the scalar result, with mode equal to the mode of the elements of
|
|||
the input vector.
|
||||
|
||||
@cindex @code{reduc_and_scal_@var{m}} instruction pattern
|
||||
@item @samp{reduc_and_scal_@var{m}}
|
||||
@cindex @code{reduc_ior_scal_@var{m}} instruction pattern
|
||||
@itemx @samp{reduc_ior_scal_@var{m}}
|
||||
@cindex @code{reduc_xor_scal_@var{m}} instruction pattern
|
||||
@item @samp{reduc_and_scal_@var{m}}
|
||||
@itemx @samp{reduc_ior_scal_@var{m}}
|
||||
@itemx @samp{reduc_xor_scal_@var{m}}
|
||||
Compute the bitwise @code{AND}/@code{IOR}/@code{XOR} reduction of the elements
|
||||
of a vector of mode @var{m}. Operand 1 is the vector input and operand 0
|
||||
|
@ -5382,8 +5381,8 @@ usdot<signed op0, unsigned op1, signed op2, signed op3> ==
|
|||
@end smallexample
|
||||
|
||||
@cindex @code{ssad@var{m}} instruction pattern
|
||||
@item @samp{ssad@var{m}}
|
||||
@cindex @code{usad@var{m}} instruction pattern
|
||||
@item @samp{ssad@var{m}}
|
||||
@item @samp{usad@var{m}}
|
||||
Compute the sum of absolute differences of two signed/unsigned elements.
|
||||
Operand 1 and operand 2 are of the same mode. Their absolute difference, which
|
||||
|
@ -5392,8 +5391,8 @@ equal or wider than the mode of the absolute difference. The result is placed
|
|||
in operand 0, which is of the same mode as operand 3.
|
||||
|
||||
@cindex @code{widen_ssum@var{m3}} instruction pattern
|
||||
@item @samp{widen_ssum@var{m3}}
|
||||
@cindex @code{widen_usum@var{m3}} instruction pattern
|
||||
@item @samp{widen_ssum@var{m3}}
|
||||
@itemx @samp{widen_usum@var{m3}}
|
||||
Operands 0 and 2 are of the same mode, which is wider than the mode of
|
||||
operand 1. Add operand 1 to operand 2 and place the widened result in
|
||||
|
@ -5401,8 +5400,8 @@ operand 0. (This is used express accumulation of elements into an accumulator
|
|||
of a wider mode.)
|
||||
|
||||
@cindex @code{smulhs@var{m3}} instruction pattern
|
||||
@item @samp{smulhs@var{m3}}
|
||||
@cindex @code{umulhs@var{m3}} instruction pattern
|
||||
@item @samp{smulhs@var{m3}}
|
||||
@itemx @samp{umulhs@var{m3}}
|
||||
Signed/unsigned multiply high with scale. This is equivalent to the C code:
|
||||
@smallexample
|
||||
|
@ -5414,8 +5413,8 @@ where the sign of @samp{narrow} determines whether this is a signed
|
|||
or unsigned operation, and @var{N} is the size of @samp{wide} in bits.
|
||||
|
||||
@cindex @code{smulhrs@var{m3}} instruction pattern
|
||||
@item @samp{smulhrs@var{m3}}
|
||||
@cindex @code{umulhrs@var{m3}} instruction pattern
|
||||
@item @samp{smulhrs@var{m3}}
|
||||
@itemx @samp{umulhrs@var{m3}}
|
||||
Signed/unsigned multiply high with round and scale. This is
|
||||
equivalent to the C code:
|
||||
|
@ -5428,8 +5427,8 @@ where the sign of @samp{narrow} determines whether this is a signed
|
|||
or unsigned operation, and @var{N} is the size of @samp{wide} in bits.
|
||||
|
||||
@cindex @code{sdiv_pow2@var{m3}} instruction pattern
|
||||
@item @samp{sdiv_pow2@var{m3}}
|
||||
@cindex @code{sdiv_pow2@var{m3}} instruction pattern
|
||||
@item @samp{sdiv_pow2@var{m3}}
|
||||
@itemx @samp{sdiv_pow2@var{m3}}
|
||||
Signed division by power-of-2 immediate. Equivalent to:
|
||||
@smallexample
|
||||
|
@ -8213,12 +8212,12 @@ can itself be a @code{plus}. @code{and}, @code{ior}, @code{xor},
|
|||
@code{umax} are associative when applied to integers, and sometimes to
|
||||
floating-point.
|
||||
|
||||
@item
|
||||
@cindex @code{neg}, canonicalization of
|
||||
@cindex @code{not}, canonicalization of
|
||||
@cindex @code{mult}, canonicalization of
|
||||
@cindex @code{plus}, canonicalization of
|
||||
@cindex @code{minus}, canonicalization of
|
||||
@item
|
||||
For these operators, if only one operand is a @code{neg}, @code{not},
|
||||
@code{mult}, @code{plus}, or @code{minus} expression, it will be the
|
||||
first operand.
|
||||
|
@ -11088,8 +11087,8 @@ values in @file{sync.md} rather than in the main @file{.md} file.
|
|||
Some enumeration names have special significance to GCC:
|
||||
|
||||
@table @code
|
||||
@item unspecv
|
||||
@findex unspec_volatile
|
||||
@item unspecv
|
||||
If an enumeration called @code{unspecv} is defined, GCC will use it
|
||||
when printing out @code{unspec_volatile} expressions. For example:
|
||||
|
||||
|
@ -11105,8 +11104,8 @@ causes GCC to print @samp{(unspec_volatile @dots{} 0)} as:
|
|||
(unspec_volatile ... UNSPECV_BLOCKAGE)
|
||||
@end smallexample
|
||||
|
||||
@item unspec
|
||||
@findex unspec
|
||||
@item unspec
|
||||
If an enumeration called @code{unspec} is defined, GCC will use
|
||||
it when printing out @code{unspec} expressions. GCC will also use
|
||||
it when printing out @code{unspec_volatile} expressions unless an
|
||||
|
|
|
@ -1028,8 +1028,8 @@ the symbol has already been written.
|
|||
|
||||
@findex volatil
|
||||
@cindex @samp{/v} in RTL dump
|
||||
@item volatil
|
||||
@cindex volatile memory references
|
||||
@item volatil
|
||||
In a @code{mem}, @code{asm_operands}, or @code{asm_input}
|
||||
expression, it is 1 if the memory
|
||||
reference is volatile. Volatile memory references may not be deleted,
|
||||
|
@ -2187,14 +2187,14 @@ laid out in memory order. The memory order of bytes is defined by
|
|||
two target macros, @code{WORDS_BIG_ENDIAN} and @code{BYTES_BIG_ENDIAN}:
|
||||
|
||||
@itemize
|
||||
@item
|
||||
@cindex @code{WORDS_BIG_ENDIAN}, effect on @code{subreg}
|
||||
@item
|
||||
@code{WORDS_BIG_ENDIAN}, if set to 1, says that byte number zero is
|
||||
part of the most significant word; otherwise, it is part of the least
|
||||
significant word.
|
||||
|
||||
@item
|
||||
@cindex @code{BYTES_BIG_ENDIAN}, effect on @code{subreg}
|
||||
@item
|
||||
@code{BYTES_BIG_ENDIAN}, if set to 1, says that byte number zero is
|
||||
the most significant byte within a word; otherwise, it is the least
|
||||
significant byte within a word.
|
||||
|
@ -2336,8 +2336,8 @@ that both performs the arithmetic and sets the condition code register.
|
|||
For examples, search for @samp{addcc} and @samp{andcc} in @file{sparc.md}.
|
||||
|
||||
@findex pc
|
||||
@item (pc)
|
||||
@cindex program counter
|
||||
@item (pc)
|
||||
This represents the machine's program counter. It has no operands and
|
||||
may not have a machine mode. @code{(pc)} may be validly used only in
|
||||
certain specific contexts in jump instructions.
|
||||
|
|
|
@ -4970,9 +4970,9 @@ function's arguments that this function should pop is available in
|
|||
@end deftypefn
|
||||
|
||||
@itemize @bullet
|
||||
@item
|
||||
@findex pretend_args_size
|
||||
@findex crtl->args.pretend_args_size
|
||||
@item
|
||||
A region of @code{crtl->args.pretend_args_size} bytes of
|
||||
uninitialized space just underneath the first argument arriving on the
|
||||
stack. (This may not be at the very start of the allocated stack region
|
||||
|
@ -4997,8 +4997,8 @@ boundary, to contain the local variables of the function. On some machines,
|
|||
this region and the save area may occur in the opposite order, with the
|
||||
save area closer to the top of the stack.
|
||||
|
||||
@item
|
||||
@cindex @code{ACCUMULATE_OUTGOING_ARGS} and stack frames
|
||||
@item
|
||||
Optionally, when @code{ACCUMULATE_OUTGOING_ARGS} is defined, a region of
|
||||
@code{crtl->outgoing_args_size} bytes to be used for outgoing
|
||||
argument lists of the function. @xref{Stack Arguments}.
|
||||
|
|
|
@ -3534,9 +3534,9 @@ This section describes the macros that output function entry
|
|||
@hook TARGET_ASM_FUNCTION_EPILOGUE
|
||||
|
||||
@itemize @bullet
|
||||
@item
|
||||
@findex pretend_args_size
|
||||
@findex crtl->args.pretend_args_size
|
||||
@item
|
||||
A region of @code{crtl->args.pretend_args_size} bytes of
|
||||
uninitialized space just underneath the first argument arriving on the
|
||||
stack. (This may not be at the very start of the allocated stack region
|
||||
|
@ -3561,8 +3561,8 @@ boundary, to contain the local variables of the function. On some machines,
|
|||
this region and the save area may occur in the opposite order, with the
|
||||
save area closer to the top of the stack.
|
||||
|
||||
@item
|
||||
@cindex @code{ACCUMULATE_OUTGOING_ARGS} and stack frames
|
||||
@item
|
||||
Optionally, when @code{ACCUMULATE_OUTGOING_ARGS} is defined, a region of
|
||||
@code{crtl->outgoing_args_size} bytes to be used for outgoing
|
||||
argument lists of the function. @xref{Stack Arguments}.
|
||||
|
|
|
@ -198,8 +198,8 @@ with GCC does not produce the same floating-point formats that the
|
|||
assembler accepts. If you have this problem, set the @env{LANG}
|
||||
environment variable to @samp{C} or @samp{En_US}.
|
||||
|
||||
@item
|
||||
@opindex fdollars-in-identifiers
|
||||
@item
|
||||
Even if you specify @option{-fdollars-in-identifiers},
|
||||
you cannot successfully use @samp{$} in identifiers on the RS/6000 due
|
||||
to a restriction in the IBM assembler. GAS supports these
|
||||
|
@ -588,8 +588,8 @@ to update the corrected header files. They can be updated using the
|
|||
@command{mkheaders} script installed in
|
||||
@file{@var{libexecdir}/gcc/@var{target}/@var{version}/install-tools/}.
|
||||
|
||||
@item
|
||||
@cindex floating point precision
|
||||
@item
|
||||
On 68000 and x86 systems, for instance, you can get paradoxical results
|
||||
if you test the precise values of floating point numbers. For example,
|
||||
you can find that a floating point value which is not a NaN is not equal
|
||||
|
@ -953,8 +953,8 @@ where the return value should never be ignored, use the
|
|||
@code{warn_unused_result} function attribute (@pxref{Function
|
||||
Attributes}).
|
||||
|
||||
@item
|
||||
@opindex fshort-enums
|
||||
@item
|
||||
Making @option{-fshort-enums} the default.
|
||||
|
||||
This would cause storage layout to be incompatible with most other C
|
||||
|
@ -1021,9 +1021,9 @@ to be considered in the future.
|
|||
explicitly in each bit-field whether it is signed or not. In this way,
|
||||
they write programs which have the same meaning in both C dialects.)
|
||||
|
||||
@item
|
||||
@opindex ansi
|
||||
@opindex std
|
||||
@item
|
||||
Undefining @code{__STDC__} when @option{-ansi} is not used.
|
||||
|
||||
Currently, GCC defines @code{__STDC__} unconditionally. This provides
|
||||
|
|
|
@ -214,11 +214,11 @@ accepted by the compiler:
|
|||
@table @gcctabopt
|
||||
@opindex @code{ffree-form}
|
||||
@opindex @code{ffixed-form}
|
||||
@item -ffree-form
|
||||
@itemx -ffixed-form
|
||||
@cindex options, Fortran dialect
|
||||
@cindex file format, free
|
||||
@cindex file format, fixed
|
||||
@item -ffree-form
|
||||
@itemx -ffixed-form
|
||||
Specify the layout used by the source file. The free form layout
|
||||
was introduced in Fortran 90. Fixed form was traditionally used in
|
||||
older Fortran programs. When neither option is specified, the source
|
||||
|
@ -326,19 +326,19 @@ Enable a blank format item at the end of a format specification i.e. nothing
|
|||
following the final comma.
|
||||
|
||||
@opindex @code{fdollar-ok}
|
||||
@item -fdollar-ok
|
||||
@cindex @code{$}
|
||||
@cindex symbol names
|
||||
@cindex character set
|
||||
@item -fdollar-ok
|
||||
Allow @samp{$} as a valid non-first character in a symbol name. Symbols
|
||||
that start with @samp{$} are rejected since it is unclear which rules to
|
||||
apply to implicit typing as different vendors implement different rules.
|
||||
Using @samp{$} in @code{IMPLICIT} statements is also rejected.
|
||||
|
||||
@opindex @code{backslash}
|
||||
@item -fbackslash
|
||||
@cindex backslash
|
||||
@cindex escape characters
|
||||
@item -fbackslash
|
||||
Change the interpretation of backslashes in string literals from a single
|
||||
backslash character to ``C-style'' escape characters. The following
|
||||
combinations are expanded @code{\a}, @code{\b}, @code{\f}, @code{\n},
|
||||
|
@ -352,16 +352,16 @@ points. All other combinations of a character preceded by \ are
|
|||
unexpanded.
|
||||
|
||||
@opindex @code{fmodule-private}
|
||||
@item -fmodule-private
|
||||
@cindex module entities
|
||||
@cindex private
|
||||
@item -fmodule-private
|
||||
Set the default accessibility of module entities to @code{PRIVATE}.
|
||||
Use-associated entities will not be accessible unless they are explicitly
|
||||
declared as @code{PUBLIC}.
|
||||
|
||||
@opindex @code{ffixed-line-length-}@var{n}
|
||||
@item -ffixed-line-length-@var{n}
|
||||
@cindex file format, fixed
|
||||
@item -ffixed-line-length-@var{n}
|
||||
Set column after which characters are ignored in typical fixed-form
|
||||
lines in the source file, and, unless @code{-fno-pad-source}, through which
|
||||
spaces are assumed (as if padded to that length) after the ends of short
|
||||
|
@ -386,8 +386,8 @@ continued character constants never have implicit spaces appended
|
|||
to them to fill out the line.
|
||||
|
||||
@opindex @code{ffree-line-length-}@var{n}
|
||||
@item -ffree-line-length-@var{n}
|
||||
@cindex file format, free
|
||||
@item -ffree-line-length-@var{n}
|
||||
Set column after which characters are ignored in typical free-form
|
||||
lines in the source file. The default value is 132.
|
||||
@var{n} may be @samp{none}, meaning that the entire line is meaningful.
|
||||
|
@ -411,8 +411,8 @@ Enable the Cray pointer extension, which provides C-like pointer
|
|||
functionality.
|
||||
|
||||
@opindex @code{fopenacc}
|
||||
@item -fopenacc
|
||||
@cindex OpenACC
|
||||
@item -fopenacc
|
||||
Enable the OpenACC extensions. This includes OpenACC @code{!$acc}
|
||||
directives in free form and @code{c$acc}, @code{*$acc} and
|
||||
@code{!$acc} directives in fixed form, @code{!$} conditional
|
||||
|
@ -421,8 +421,8 @@ compilation sentinels in free form and @code{c$}, @code{*$} and
|
|||
OpenACC runtime library to be linked in.
|
||||
|
||||
@opindex @code{fopenmp}
|
||||
@item -fopenmp
|
||||
@cindex OpenMP
|
||||
@item -fopenmp
|
||||
Enable the OpenMP extensions. This includes OpenMP @code{!$omp} directives
|
||||
in free form
|
||||
and @code{c$omp}, @code{*$omp} and @code{!$omp} directives in fixed form,
|
||||
|
@ -511,13 +511,13 @@ representation of the translated Fortran code, produced by
|
|||
@opindex @code{freal-8-real-4}
|
||||
@opindex @code{freal-8-real-10}
|
||||
@opindex @code{freal-8-real-16}
|
||||
@cindex options, real kind type promotion
|
||||
@item -freal-4-real-8
|
||||
@itemx -freal-4-real-10
|
||||
@itemx -freal-4-real-16
|
||||
@itemx -freal-8-real-4
|
||||
@itemx -freal-8-real-10
|
||||
@itemx -freal-8-real-16
|
||||
@cindex options, real kind type promotion
|
||||
Promote all @code{REAL(KIND=M)} entities to @code{REAL(KIND=N)} entities.
|
||||
If @code{REAL(KIND=N)} is unavailable, then an error will be issued.
|
||||
The @code{-freal-4-} flags also affect the default real kind and the
|
||||
|
@ -614,10 +614,10 @@ The following options control preprocessing of Fortran code:
|
|||
@table @gcctabopt
|
||||
@opindex @code{cpp}
|
||||
@opindex @code{fpp}
|
||||
@item -cpp
|
||||
@itemx -nocpp
|
||||
@cindex preprocessor, enable
|
||||
@cindex preprocessor, disable
|
||||
@item -cpp
|
||||
@itemx -nocpp
|
||||
Enable preprocessing. The preprocessor is automatically invoked if
|
||||
the file extension is @file{.fpp}, @file{.FPP}, @file{.F}, @file{.FOR},
|
||||
@file{.FTN}, @file{.F90}, @file{.F95}, @file{.F03} or @file{.F08}. Use
|
||||
|
@ -633,9 +633,9 @@ preprocessed output as well, so it might be advisable to use the
|
|||
options.
|
||||
|
||||
@opindex @code{dM}
|
||||
@item -dM
|
||||
@cindex preprocessor, debugging
|
||||
@cindex debugging, preprocessor
|
||||
@item -dM
|
||||
Instead of the normal output, generate a list of @code{'#define'}
|
||||
directives for all the macros defined during the execution of the
|
||||
preprocessor, including predefined macros. This gives you a way
|
||||
|
@ -647,39 +647,39 @@ Assuming you have no file @file{foo.f90}, the command
|
|||
will show all the predefined macros.
|
||||
|
||||
@opindex @code{dD}
|
||||
@item -dD
|
||||
@cindex preprocessor, debugging
|
||||
@cindex debugging, preprocessor
|
||||
@item -dD
|
||||
Like @option{-dM} except in two respects: it does not include the
|
||||
predefined macros, and it outputs both the @code{#define} directives
|
||||
and the result of preprocessing. Both kinds of output go to the
|
||||
standard output file.
|
||||
|
||||
@opindex @code{dN}
|
||||
@item -dN
|
||||
@cindex preprocessor, debugging
|
||||
@cindex debugging, preprocessor
|
||||
@item -dN
|
||||
Like @option{-dD}, but emit only the macro names, not their expansions.
|
||||
|
||||
@opindex @code{dU}
|
||||
@item -dU
|
||||
@cindex preprocessor, debugging
|
||||
@cindex debugging, preprocessor
|
||||
@item -dU
|
||||
Like @option{dD} except that only macros that are expanded, or whose
|
||||
definedness is tested in preprocessor directives, are output; the
|
||||
output is delayed until the use or test of the macro; and @code{'#undef'}
|
||||
directives are also output for macros tested but undefined at the time.
|
||||
|
||||
@opindex @code{dI}
|
||||
@item -dI
|
||||
@cindex preprocessor, debugging
|
||||
@cindex debugging, preprocessor
|
||||
@item -dI
|
||||
Output @code{'#include'} directives in addition to the result
|
||||
of preprocessing.
|
||||
|
||||
@opindex @code{fworking-directory}
|
||||
@item -fworking-directory
|
||||
@cindex preprocessor, working directory
|
||||
@item -fworking-directory
|
||||
Enable generation of linemarkers in the preprocessor output that will
|
||||
let the compiler know the current working directory at the time of
|
||||
preprocessing. When this option is enabled, the preprocessor will emit,
|
||||
|
@ -694,8 +694,8 @@ in the command line, this option has no effect, since no @code{#line}
|
|||
directives are emitted whatsoever.
|
||||
|
||||
@opindex @code{idirafter @var{dir}}
|
||||
@item -idirafter @var{dir}
|
||||
@cindex preprocessing, include path
|
||||
@item -idirafter @var{dir}
|
||||
Search @var{dir} for include files, but do it after all directories
|
||||
specified with @option{-I} and the standard system directories have
|
||||
been exhausted. @var{dir} is treated as a system include directory.
|
||||
|
@ -703,27 +703,27 @@ If dir begins with @code{=}, then the @code{=} will be replaced by
|
|||
the sysroot prefix; see @option{--sysroot} and @option{-isysroot}.
|
||||
|
||||
@opindex @code{imultilib @var{dir}}
|
||||
@item -imultilib @var{dir}
|
||||
@cindex preprocessing, include path
|
||||
@item -imultilib @var{dir}
|
||||
Use @var{dir} as a subdirectory of the directory containing target-specific
|
||||
C++ headers.
|
||||
|
||||
@opindex @code{iprefix @var{prefix}}
|
||||
@item -iprefix @var{prefix}
|
||||
@cindex preprocessing, include path
|
||||
@item -iprefix @var{prefix}
|
||||
Specify @var{prefix} as the prefix for subsequent @option{-iwithprefix}
|
||||
options. If the @var{prefix} represents a directory, you should include
|
||||
the final @code{'/'}.
|
||||
|
||||
@opindex @code{isysroot @var{dir}}
|
||||
@item -isysroot @var{dir}
|
||||
@cindex preprocessing, include path
|
||||
@item -isysroot @var{dir}
|
||||
This option is like the @option{--sysroot} option, but applies only to
|
||||
header files. See the @option{--sysroot} option for more information.
|
||||
|
||||
@opindex @code{iquote @var{dir}}
|
||||
@item -iquote @var{dir}
|
||||
@cindex preprocessing, include path
|
||||
@item -iquote @var{dir}
|
||||
Search @var{dir} only for header files requested with @code{#include "file"};
|
||||
they are not searched for @code{#include <file>}, before all directories
|
||||
specified by @option{-I} and before the standard system directories. If
|
||||
|
@ -731,8 +731,8 @@ specified by @option{-I} and before the standard system directories. If
|
|||
sysroot prefix; see @option{--sysroot} and @option{-isysroot}.
|
||||
|
||||
@opindex @code{isystem @var{dir}}
|
||||
@item -isystem @var{dir}
|
||||
@cindex preprocessing, include path
|
||||
@item -isystem @var{dir}
|
||||
Search @var{dir} for header files, after all directories specified by
|
||||
@option{-I} but before the standard system directories. Mark it as a
|
||||
system directory, so that it gets the same special treatment as is
|
||||
|
@ -752,20 +752,20 @@ Do not predefine any system-specific or GCC-specific macros.
|
|||
The standard predefined macros remain defined.
|
||||
|
||||
@opindex @code{A@var{predicate}=@var{answer}}
|
||||
@item -A@var{predicate}=@var{answer}
|
||||
@cindex preprocessing, assertion
|
||||
@item -A@var{predicate}=@var{answer}
|
||||
Make an assertion with the predicate @var{predicate} and answer @var{answer}.
|
||||
This form is preferred to the older form -A predicate(answer), which is still
|
||||
supported, because it does not use shell special characters.
|
||||
|
||||
@opindex @code{A-@var{predicate}=@var{answer}}
|
||||
@item -A-@var{predicate}=@var{answer}
|
||||
@cindex preprocessing, assertion
|
||||
@item -A-@var{predicate}=@var{answer}
|
||||
Cancel an assertion with the predicate @var{predicate} and answer @var{answer}.
|
||||
|
||||
@opindex @code{C}
|
||||
@item -C
|
||||
@cindex preprocessing, keep comments
|
||||
@item -C
|
||||
Do not discard comments. All comments are passed through to the output
|
||||
file, except for comments in processed directives, which are deleted
|
||||
along with the directive.
|
||||
|
@ -780,8 +780,8 @@ Warning: this currently handles C-Style comments only. The preprocessor
|
|||
does not yet recognize Fortran-style comments.
|
||||
|
||||
@opindex @code{CC}
|
||||
@item -CC
|
||||
@cindex preprocessing, keep comments
|
||||
@item -CC
|
||||
Do not discard comments, including during macro expansion. This is like
|
||||
@option{-C}, except that comments contained within macros are also passed
|
||||
through to the output file where the macro is expanded.
|
||||
|
@ -796,13 +796,13 @@ Warning: this currently handles C- and C++-Style comments only. The
|
|||
preprocessor does not yet recognize Fortran-style comments.
|
||||
|
||||
@opindex @code{D@var{name}}
|
||||
@item -D@var{name}
|
||||
@cindex preprocessing, define macros
|
||||
@item -D@var{name}
|
||||
Predefine name as a macro, with definition @code{1}.
|
||||
|
||||
@opindex @code{D@var{name}=@var{definition}}
|
||||
@item -D@var{name}=@var{definition}
|
||||
@cindex preprocessing, define macros
|
||||
@item -D@var{name}=@var{definition}
|
||||
The contents of @var{definition} are tokenized and processed as if they
|
||||
appeared during translation phase three in a @code{'#define'} directive.
|
||||
In particular, the definition will be truncated by embedded newline
|
||||
|
@ -829,16 +829,16 @@ activities. Each name is indented to show how deep in the @code{'#include'}
|
|||
stack it is.
|
||||
|
||||
@opindex @code{P}
|
||||
@item -P
|
||||
@cindex preprocessing, no linemarkers
|
||||
@item -P
|
||||
Inhibit generation of linemarkers in the output from the preprocessor.
|
||||
This might be useful when running the preprocessor on something that
|
||||
is not C code, and will be sent to a program which might be confused
|
||||
by the linemarkers.
|
||||
|
||||
@opindex @code{U@var{name}}
|
||||
@item -U@var{name}
|
||||
@cindex preprocessing, undefine macros
|
||||
@item -U@var{name}
|
||||
Cancel any previous definition of @var{name}, either built in or provided
|
||||
with a @option{-D} option.
|
||||
@end table
|
||||
|
@ -875,16 +875,16 @@ by GNU Fortran:
|
|||
|
||||
@table @gcctabopt
|
||||
@opindex @code{fmax-errors=}@var{n}
|
||||
@item -fmax-errors=@var{n}
|
||||
@cindex errors, limiting
|
||||
@item -fmax-errors=@var{n}
|
||||
Limits the maximum number of error messages to @var{n}, at which point
|
||||
GNU Fortran bails out rather than attempting to continue processing the
|
||||
source code. If @var{n} is 0, there is no limit on the number of error
|
||||
messages produced.
|
||||
|
||||
@opindex @code{fsyntax-only}
|
||||
@item -fsyntax-only
|
||||
@cindex syntax checking
|
||||
@item -fsyntax-only
|
||||
Check the code for syntax errors, but do not actually compile it. This
|
||||
will generate module files for each module present in the code, but no
|
||||
other output file.
|
||||
|
@ -918,9 +918,9 @@ Like @option{-pedantic}, except that errors are produced rather than
|
|||
warnings.
|
||||
|
||||
@opindex @code{Wall}
|
||||
@item -Wall
|
||||
@cindex all warnings
|
||||
@cindex warnings, all
|
||||
@item -Wall
|
||||
Enables commonly used warning options pertaining to usage that
|
||||
we recommend avoiding and that we believe are easy to avoid.
|
||||
This currently includes @option{-Waliasing}, @option{-Wampersand},
|
||||
|
@ -931,9 +931,9 @@ This currently includes @option{-Waliasing}, @option{-Wampersand},
|
|||
and @option{-Wundefined-do-loop}.
|
||||
|
||||
@opindex @code{Waliasing}
|
||||
@item -Waliasing
|
||||
@cindex aliasing
|
||||
@cindex warnings, aliasing
|
||||
@item -Waliasing
|
||||
Warn about possible aliasing of dummy arguments. Specifically, it warns
|
||||
if the same actual argument is associated with a dummy argument with
|
||||
@code{INTENT(IN)} and a dummy argument with @code{INTENT(OUT)} in a call
|
||||
|
@ -953,9 +953,9 @@ The following example will trigger the warning.
|
|||
@end smallexample
|
||||
|
||||
@opindex @code{Wampersand}
|
||||
@item -Wampersand
|
||||
@cindex warnings, ampersand
|
||||
@cindex @code{&}
|
||||
@item -Wampersand
|
||||
Warn about missing ampersand in continued character constants. The
|
||||
warning is given with @option{-Wampersand}, @option{-pedantic},
|
||||
@option{-std=f95}, @option{-std=f2003}, @option{-std=f2008} and
|
||||
|
@ -965,15 +965,15 @@ non-comment, non-whitespace character after the ampersand that
|
|||
initiated the continuation.
|
||||
|
||||
@opindex @code{Warray-temporaries}
|
||||
@item -Warray-temporaries
|
||||
@cindex warnings, array temporaries
|
||||
@item -Warray-temporaries
|
||||
Warn about array temporaries generated by the compiler. The information
|
||||
generated by this warning is sometimes useful in optimization, in order to
|
||||
avoid such temporaries.
|
||||
|
||||
@opindex @code{Wc-binding-type}
|
||||
@item -Wc-binding-type
|
||||
@cindex warning, C binding type
|
||||
@item -Wc-binding-type
|
||||
Warn if the a variable might not be C interoperable. In particular, warn if
|
||||
the variable has been declared using an intrinsic type with default kind
|
||||
instead of using a kind parameter defined for C interoperability in the
|
||||
|
@ -981,71 +981,71 @@ intrinsic @code{ISO_C_Binding} module. This option is implied by
|
|||
@option{-Wall}.
|
||||
|
||||
@opindex @code{Wcharacter-truncation}
|
||||
@item -Wcharacter-truncation
|
||||
@cindex warnings, character truncation
|
||||
@item -Wcharacter-truncation
|
||||
Warn when a character assignment will truncate the assigned string.
|
||||
|
||||
@opindex @code{Wline-truncation}
|
||||
@item -Wline-truncation
|
||||
@cindex warnings, line truncation
|
||||
@item -Wline-truncation
|
||||
Warn when a source code line will be truncated. This option is
|
||||
implied by @option{-Wall}. For free-form source code, the default is
|
||||
@option{-Werror=line-truncation} such that truncations are reported as
|
||||
error.
|
||||
|
||||
@opindex @code{Wconversion}
|
||||
@item -Wconversion
|
||||
@cindex warnings, conversion
|
||||
@cindex conversion
|
||||
@item -Wconversion
|
||||
Warn about implicit conversions that are likely to change the value of
|
||||
the expression after conversion. Implied by @option{-Wall}.
|
||||
|
||||
@opindex @code{Wconversion-extra}
|
||||
@item -Wconversion-extra
|
||||
@cindex warnings, conversion
|
||||
@cindex conversion
|
||||
@item -Wconversion-extra
|
||||
Warn about implicit conversions between different types and kinds. This
|
||||
option does @emph{not} imply @option{-Wconversion}.
|
||||
|
||||
@opindex @code{Wextra}
|
||||
@item -Wextra
|
||||
@cindex extra warnings
|
||||
@cindex warnings, extra
|
||||
@item -Wextra
|
||||
Enables some warning options for usages of language features which
|
||||
may be problematic. This currently includes @option{-Wcompare-reals},
|
||||
@option{-Wunused-parameter} and @option{-Wdo-subscript}.
|
||||
|
||||
@opindex @code{Wfrontend-loop-interchange}
|
||||
@item -Wfrontend-loop-interchange
|
||||
@cindex warnings, loop interchange
|
||||
@cindex loop interchange, warning
|
||||
@item -Wfrontend-loop-interchange
|
||||
Warn when using @option{-ffrontend-loop-interchange} for performing loop
|
||||
interchanges.
|
||||
|
||||
@opindex @code{Wimplicit-interface}
|
||||
@item -Wimplicit-interface
|
||||
@cindex warnings, implicit interface
|
||||
@item -Wimplicit-interface
|
||||
Warn if a procedure is called without an explicit interface.
|
||||
Note this only checks that an explicit interface is present. It does not
|
||||
check that the declared interfaces are consistent across program units.
|
||||
|
||||
@opindex @code{Wimplicit-procedure}
|
||||
@item -Wimplicit-procedure
|
||||
@cindex warnings, implicit procedure
|
||||
@item -Wimplicit-procedure
|
||||
Warn if a procedure is called that has neither an explicit interface
|
||||
nor has been declared as @code{EXTERNAL}.
|
||||
|
||||
@opindex @code{Winteger-division}
|
||||
@item -Winteger-division
|
||||
@cindex warnings, integer division
|
||||
@cindex warnings, division of integers
|
||||
@item -Winteger-division
|
||||
Warn if a constant integer division truncates its result.
|
||||
As an example, 3/5 evaluates to 0.
|
||||
|
||||
@opindex @code{Wintrinsics-std}
|
||||
@item -Wintrinsics-std
|
||||
@cindex warnings, non-standard intrinsics
|
||||
@cindex warnings, intrinsics of other standards
|
||||
@item -Wintrinsics-std
|
||||
Warn if @command{gfortran} finds a procedure named like an intrinsic not
|
||||
available in the currently selected standard (with @option{-std}) and treats
|
||||
it as @code{EXTERNAL} procedure because of this. @option{-fall-intrinsics} can
|
||||
|
@ -1053,8 +1053,8 @@ be used to never trigger this behavior and always link to the intrinsic
|
|||
regardless of the selected standard.
|
||||
|
||||
@opindex @code{Woverwrite-recursive}
|
||||
@item -Wno-overwrite-recursive
|
||||
@cindex warnings, overwrite recursive
|
||||
@item -Wno-overwrite-recursive
|
||||
Do not warn when @option{-fno-automatic} is used with @option{-frecursive}. Recursion
|
||||
will be broken if the relevant local variables do not have the attribute
|
||||
@code{AUTOMATIC} explicitly declared. This option can be used to suppress the warning
|
||||
|
@ -1062,14 +1062,14 @@ when it is known that recursion is not broken. Useful for build environments tha
|
|||
@option{-Werror}.
|
||||
|
||||
@opindex @code{Wreal-q-constant}
|
||||
@item -Wreal-q-constant
|
||||
@cindex warnings, @code{q} exponent-letter
|
||||
@item -Wreal-q-constant
|
||||
Produce a warning if a real-literal-constant contains a @code{q}
|
||||
exponent-letter.
|
||||
|
||||
@opindex @code{Wsurprising}
|
||||
@item -Wsurprising
|
||||
@cindex warnings, suspicious code
|
||||
@item -Wsurprising
|
||||
Produce a warning when ``suspicious'' code constructs are encountered.
|
||||
While technically legal these usually indicate that an error has been made.
|
||||
|
||||
|
@ -1100,9 +1100,9 @@ used in free-form source code, is diagnosed by default.)
|
|||
@end itemize
|
||||
|
||||
@opindex @code{Wtabs}
|
||||
@item -Wtabs
|
||||
@cindex warnings, tabs
|
||||
@cindex tabulators
|
||||
@item -Wtabs
|
||||
By default, tabs are accepted as whitespace, but tabs are not members
|
||||
of the Fortran Character Set. For continuation lines, a tab followed
|
||||
by a digit between 1 and 9 is supported. @option{-Wtabs} will cause a
|
||||
|
@ -1112,46 +1112,46 @@ active for @option{-pedantic}, @option{-std=f95}, @option{-std=f2003},
|
|||
@option{-Wall}.
|
||||
|
||||
@opindex @code{Wundefined-do-loop}
|
||||
@item -Wundefined-do-loop
|
||||
@cindex warnings, undefined do loop
|
||||
@item -Wundefined-do-loop
|
||||
Warn if a DO loop with step either 1 or -1 yields an underflow or an overflow
|
||||
during iteration of an induction variable of the loop.
|
||||
This option is implied by @option{-Wall}.
|
||||
|
||||
@opindex @code{Wunderflow}
|
||||
@item -Wunderflow
|
||||
@cindex warnings, underflow
|
||||
@cindex underflow
|
||||
@item -Wunderflow
|
||||
Produce a warning when numerical constant expressions are
|
||||
encountered, which yield an UNDERFLOW during compilation. Enabled by default.
|
||||
|
||||
@opindex @code{Wintrinsic-shadow}
|
||||
@item -Wintrinsic-shadow
|
||||
@cindex warnings, intrinsic
|
||||
@cindex intrinsic
|
||||
@item -Wintrinsic-shadow
|
||||
Warn if a user-defined procedure or module procedure has the same name as an
|
||||
intrinsic; in this case, an explicit interface or @code{EXTERNAL} or
|
||||
@code{INTRINSIC} declaration might be needed to get calls later resolved to
|
||||
the desired intrinsic/procedure. This option is implied by @option{-Wall}.
|
||||
|
||||
@opindex @code{Wuse-without-only}
|
||||
@item -Wuse-without-only
|
||||
@cindex warnings, use statements
|
||||
@cindex intrinsic
|
||||
@item -Wuse-without-only
|
||||
Warn if a @code{USE} statement has no @code{ONLY} qualifier and
|
||||
thus implicitly imports all public entities of the used module.
|
||||
|
||||
@opindex @code{Wunused-dummy-argument}
|
||||
@item -Wunused-dummy-argument
|
||||
@cindex warnings, unused dummy argument
|
||||
@cindex unused dummy argument
|
||||
@cindex dummy argument, unused
|
||||
@item -Wunused-dummy-argument
|
||||
Warn about unused dummy arguments. This option is implied by @option{-Wall}.
|
||||
|
||||
@opindex @code{Wunused-parameter}
|
||||
@item -Wunused-parameter
|
||||
@cindex warnings, unused parameter
|
||||
@cindex unused parameter
|
||||
@item -Wunused-parameter
|
||||
Contrary to @command{gcc}'s meaning of @option{-Wunused-parameter},
|
||||
@command{gfortran}'s implementation of this option does not warn
|
||||
about unused dummy arguments (see @option{-Wunused-dummy-argument}),
|
||||
|
@ -1160,24 +1160,24 @@ is implied by @option{-Wextra} if also @option{-Wunused} or
|
|||
@option{-Wall} is used.
|
||||
|
||||
@opindex @code{Walign-commons}
|
||||
@item -Walign-commons
|
||||
@cindex warnings, alignment of @code{COMMON} blocks
|
||||
@cindex alignment of @code{COMMON} blocks
|
||||
@item -Walign-commons
|
||||
By default, @command{gfortran} warns about any occasion of variables being
|
||||
padded for proper alignment inside a @code{COMMON} block. This warning can be turned
|
||||
off via @option{-Wno-align-commons}. See also @option{-falign-commons}.
|
||||
|
||||
@opindex @code{Wfunction-elimination}
|
||||
@item -Wfunction-elimination
|
||||
@cindex function elimination
|
||||
@cindex warnings, function elimination
|
||||
@item -Wfunction-elimination
|
||||
Warn if any calls to impure functions are eliminated by the optimizations
|
||||
enabled by the @option{-ffrontend-optimize} option.
|
||||
This option is implied by @option{-Wextra}.
|
||||
|
||||
@opindex @code{Wrealloc-lhs}
|
||||
@item -Wrealloc-lhs
|
||||
@cindex Reallocate the LHS in assignments, notification
|
||||
@item -Wrealloc-lhs
|
||||
Warn when the compiler might insert code to for allocation or reallocation of
|
||||
an allocatable array variable of intrinsic type in intrinsic assignments. In
|
||||
hot loops, the Fortran 2003 reallocation feature may reduce the performance.
|
||||
|
@ -1224,8 +1224,8 @@ statement is actually executed, in cases like
|
|||
This option is implied by @option{-Wextra}.
|
||||
|
||||
@opindex @code{Werror}
|
||||
@item -Werror
|
||||
@cindex warnings, to errors
|
||||
@item -Werror
|
||||
Turns all warnings into errors.
|
||||
@end table
|
||||
|
||||
|
@ -1337,9 +1337,9 @@ last one will be used.
|
|||
By default, a summary for all exceptions but @samp{inexact} is shown.
|
||||
|
||||
@opindex @code{fno-backtrace}
|
||||
@item -fno-backtrace
|
||||
@cindex backtrace
|
||||
@cindex trace
|
||||
@item -fno-backtrace
|
||||
When a serious runtime error is encountered or a deadly signal is
|
||||
emitted (segmentation fault, illegal instruction, bus error,
|
||||
floating-point exception, and the other POSIX signals that have the
|
||||
|
@ -1370,12 +1370,12 @@ Fortran source.
|
|||
|
||||
@table @gcctabopt
|
||||
@opindex @code{I}@var{dir}
|
||||
@item -I@var{dir}
|
||||
@cindex directory, search paths for inclusion
|
||||
@cindex inclusion, directory search paths for
|
||||
@cindex search paths, for included files
|
||||
@cindex paths, search
|
||||
@cindex module search path
|
||||
@item -I@var{dir}
|
||||
These affect interpretation of the @code{INCLUDE} directive
|
||||
(as well as of the @code{#include} directive of the @command{cpp}
|
||||
preprocessor).
|
||||
|
@ -1394,9 +1394,9 @@ gcc,Using the GNU Compiler Collection (GCC)}, for information on the
|
|||
|
||||
@opindex @code{J}@var{dir}
|
||||
@opindex @code{M}@var{dir}
|
||||
@item -J@var{dir}
|
||||
@cindex paths, search
|
||||
@cindex module search path
|
||||
@item -J@var{dir}
|
||||
This option specifies where to put @file{.mod} files for compiled modules.
|
||||
It is also added to the list of directories to searched by an @code{USE}
|
||||
statement.
|
||||
|
@ -1404,9 +1404,9 @@ statement.
|
|||
The default is the current directory.
|
||||
|
||||
@opindex @code{fintrinsic-modules-path} @var{dir}
|
||||
@item -fintrinsic-modules-path @var{dir}
|
||||
@cindex paths, search
|
||||
@cindex module search path
|
||||
@item -fintrinsic-modules-path @var{dir}
|
||||
This option specifies the location of pre-compiled intrinsic modules, if
|
||||
they are not in the default location expected by the compiler.
|
||||
@end table
|
||||
|
@ -1515,9 +1515,9 @@ it.
|
|||
|
||||
@table @gcctabopt
|
||||
@opindex @code{fno-automatic}
|
||||
@item -fno-automatic
|
||||
@cindex @code{SAVE} statement
|
||||
@cindex statement, @code{SAVE}
|
||||
@item -fno-automatic
|
||||
Treat each program unit (except those marked as RECURSIVE) as if the
|
||||
@code{SAVE} statement were specified for every local variable and array
|
||||
referenced in it. Does not affect common blocks. (Some Fortran compilers
|
||||
|
@ -1530,11 +1530,11 @@ Local variables or arrays having an explicit @code{SAVE} attribute are
|
|||
silently ignored unless the @option{-pedantic} option is added.
|
||||
|
||||
@opindex ff2c
|
||||
@item -ff2c
|
||||
@cindex calling convention
|
||||
@cindex @command{f2c} calling convention
|
||||
@cindex @command{g77} calling convention
|
||||
@cindex libf2c calling convention
|
||||
@item -ff2c
|
||||
Generate code designed to be compatible with code generated
|
||||
by @command{g77} and @command{f2c}.
|
||||
|
||||
|
@ -1564,11 +1564,11 @@ of type default @code{REAL} or @code{COMPLEX} as actual arguments, as
|
|||
the library implementations use the @option{-fno-f2c} calling conventions.
|
||||
|
||||
@opindex @code{fno-underscoring}
|
||||
@item -fno-underscoring
|
||||
@cindex underscore
|
||||
@cindex symbol names, underscores
|
||||
@cindex transforming symbol names
|
||||
@cindex symbol names, transforming
|
||||
@item -fno-underscoring
|
||||
Do not transform names of entities specified in the Fortran
|
||||
source file by appending underscores to them.
|
||||
|
||||
|
@ -1633,7 +1633,6 @@ prevent accidental linking between procedures with incompatible
|
|||
interfaces.
|
||||
|
||||
@opindex @code{fsecond-underscore}
|
||||
@item -fsecond-underscore
|
||||
@cindex underscore
|
||||
@cindex symbol names, underscores
|
||||
@cindex transforming symbol names
|
||||
|
@ -1641,6 +1640,7 @@ interfaces.
|
|||
@cindex @command{f2c} calling convention
|
||||
@cindex @command{g77} calling convention
|
||||
@cindex libf2c calling convention
|
||||
@item -fsecond-underscore
|
||||
By default, GNU Fortran appends an underscore to external
|
||||
names. If this option is used GNU Fortran appends two
|
||||
underscores to names with underscores and one underscore to external names
|
||||
|
@ -1658,8 +1658,8 @@ for compatibility with @command{g77} and @command{f2c}, and is implied
|
|||
by use of the @option{-ff2c} option.
|
||||
|
||||
@opindex @code{fcoarray}
|
||||
@item -fcoarray=@var{<keyword>}
|
||||
@cindex coarrays
|
||||
@item -fcoarray=@var{<keyword>}
|
||||
|
||||
@table @asis
|
||||
@item @samp{none}
|
||||
|
@ -1676,7 +1676,6 @@ library needs to be linked.
|
|||
|
||||
|
||||
@opindex @code{fcheck}
|
||||
@item -fcheck=@var{<keyword>}
|
||||
@cindex array, bounds checking
|
||||
@cindex bit intrinsics checking
|
||||
@cindex bounds checking
|
||||
|
@ -1687,6 +1686,7 @@ library needs to be linked.
|
|||
@cindex checking subscripts
|
||||
@cindex run-time checking
|
||||
@cindex checking array temporaries
|
||||
@item -fcheck=@var{<keyword>}
|
||||
|
||||
Enable the generation of run-time checks; the argument shall be
|
||||
a comma-delimited list of the following keywords. Prefixing a check with
|
||||
|
@ -1836,15 +1836,15 @@ by default at optimization level @option{-Ofast} unless
|
|||
@option{-fmax-stack-var-size} is specified.
|
||||
|
||||
@opindex @code{fpack-derived}
|
||||
@item -fpack-derived
|
||||
@cindex structure packing
|
||||
@item -fpack-derived
|
||||
This option tells GNU Fortran to pack derived type members as closely as
|
||||
possible. Code compiled with this option is likely to be incompatible
|
||||
with code compiled without this option, and may execute slower.
|
||||
|
||||
@opindex @code{frepack-arrays}
|
||||
@item -frepack-arrays
|
||||
@cindex repacking arrays
|
||||
@item -frepack-arrays
|
||||
In some circumstances GNU Fortran may pass assumed shape array
|
||||
sections via a descriptor describing a noncontiguous area of memory.
|
||||
This option adds code to the function prologue to repack the data into
|
||||
|
@ -1986,8 +1986,8 @@ silence warnings that would have been emitted by @option{-Wuninitialized}
|
|||
for the affected local variables.
|
||||
|
||||
@opindex @code{falign-commons}
|
||||
@item -falign-commons
|
||||
@cindex alignment of @code{COMMON} blocks
|
||||
@item -falign-commons
|
||||
By default, @command{gfortran} enforces proper alignment of all variables in a
|
||||
@code{COMMON} block by padding them as needed. On certain platforms this is mandatory,
|
||||
on others it increases performance. If a @code{COMMON} block is not declared with
|
||||
|
@ -1998,8 +1998,8 @@ To avoid potential alignment issues in @code{COMMON} blocks, it is recommended t
|
|||
objects from largest to smallest.
|
||||
|
||||
@opindex @code{fno-protect-parens}
|
||||
@item -fno-protect-parens
|
||||
@cindex re-association of parenthesized expressions
|
||||
@item -fno-protect-parens
|
||||
By default the parentheses in expression are honored for all optimization
|
||||
levels such that the compiler does not do any re-association. Using
|
||||
@option{-fno-protect-parens} allows the compiler to reorder @code{REAL} and
|
||||
|
@ -2009,16 +2009,16 @@ need to be in effect. The parentheses protection is enabled by default, unless
|
|||
@option{-Ofast} is given.
|
||||
|
||||
@opindex @code{frealloc-lhs}
|
||||
@item -frealloc-lhs
|
||||
@cindex Reallocate the LHS in assignments
|
||||
@item -frealloc-lhs
|
||||
An allocatable left-hand side of an intrinsic assignment is automatically
|
||||
(re)allocated if it is either unallocated or has a different shape. The
|
||||
option is enabled by default except when @option{-std=f95} is given. See
|
||||
also @option{-Wrealloc-lhs}.
|
||||
|
||||
@opindex @code{faggressive-function-elimination}
|
||||
@item -faggressive-function-elimination
|
||||
@cindex Elimination of functions with identical argument lists
|
||||
@item -faggressive-function-elimination
|
||||
Functions with identical argument lists are eliminated within
|
||||
statements, regardless of whether these functions are marked
|
||||
@code{PURE} or not. For example, in
|
||||
|
@ -2029,8 +2029,8 @@ there will only be a single call to @code{f}. This option only works
|
|||
if @option{-ffrontend-optimize} is in effect.
|
||||
|
||||
@opindex @code{frontend-optimize}
|
||||
@item -ffrontend-optimize
|
||||
@cindex Front-end optimization
|
||||
@item -ffrontend-optimize
|
||||
This option performs front-end optimization, based on manipulating
|
||||
parts the Fortran parse tree. Enabled by default by any @option{-O} option
|
||||
except @option{-O0} and @option{-Og}. Optimizations enabled by this option
|
||||
|
@ -2045,8 +2045,8 @@ include:
|
|||
It can be deselected by specifying @option{-fno-frontend-optimize}.
|
||||
|
||||
@opindex @code{frontend-loop-interchange}
|
||||
@item -ffrontend-loop-interchange
|
||||
@cindex loop interchange, Fortran
|
||||
@item -ffrontend-loop-interchange
|
||||
Attempt to interchange loops in the Fortran front end where
|
||||
profitable. Enabled by default by any @option{-O} option.
|
||||
At the moment, this option only affects @code{FORALL} and
|
||||
|
@ -2066,8 +2066,8 @@ shared by @command{gfortran}, @command{gcc}, and other GNU compilers.
|
|||
@table @asis
|
||||
|
||||
@opindex @code{c-prototypes}
|
||||
@item -fc-prototypes
|
||||
@cindex Generating C prototypes from Fortran BIND(C) enteties
|
||||
@item -fc-prototypes
|
||||
This option will generate C prototypes from @code{BIND(C)} variable
|
||||
declarations, types and procedure interfaces and writes them to
|
||||
standard output. @code{ENUM} is not yet supported.
|
||||
|
@ -2088,8 +2088,8 @@ where the C code intended for interoperating with the Fortran code
|
|||
then uses @code{#include "foo.h"}.
|
||||
|
||||
@opindex @code{c-prototypes-external}
|
||||
@item -fc-prototypes-external
|
||||
@cindex Generating C prototypes from external procedures
|
||||
@item -fc-prototypes-external
|
||||
This option will generate C prototypes from external functions and
|
||||
subroutines and write them to standard output. This may be useful for
|
||||
making sure that C bindings to Fortran code are correct. This option
|
||||
|
|
|
@ -152,18 +152,18 @@ program will generally cause it to misbehave or fail.
|
|||
@c man begin OPTIONS gccgo
|
||||
|
||||
@table @gcctabopt
|
||||
@item -I@var{dir}
|
||||
@cindex @option{-I}
|
||||
@item -I@var{dir}
|
||||
Specify a directory to use when searching for an import package at
|
||||
compile time.
|
||||
|
||||
@item -L@var{dir}
|
||||
@cindex @option{-L}
|
||||
@item -L@var{dir}
|
||||
When linking, specify a library search directory, as with
|
||||
@command{gcc}.
|
||||
|
||||
@item -fgo-pkgpath=@var{string}
|
||||
@cindex @option{-fgo-pkgpath}
|
||||
@item -fgo-pkgpath=@var{string}
|
||||
Set the package path to use. This sets the value returned by the
|
||||
PkgPath method of reflect.Type objects. It is also used for the names
|
||||
of globally visible symbols. The argument to this option should
|
||||
|
@ -171,8 +171,8 @@ normally be the string that will be used to import this package after
|
|||
it has been installed; in other words, a pathname within the
|
||||
directories specified by the @option{-I} option.
|
||||
|
||||
@item -fgo-prefix=@var{string}
|
||||
@cindex @option{-fgo-prefix}
|
||||
@item -fgo-prefix=@var{string}
|
||||
An alternative to @option{-fgo-pkgpath}. The argument will be
|
||||
combined with the package name from the source file to produce the
|
||||
package path. If @option{-fgo-pkgpath} is used, @option{-fgo-prefix}
|
||||
|
@ -189,24 +189,24 @@ Using either @option{-fgo-pkgpath} or @option{-fgo-prefix} disables
|
|||
the special treatment of the @code{main} package and permits that
|
||||
package to be imported like any other.
|
||||
|
||||
@item -fgo-relative-import-path=@var{dir}
|
||||
@cindex @option{-fgo-relative-import-path}
|
||||
@item -fgo-relative-import-path=@var{dir}
|
||||
A relative import is an import that starts with @file{./} or
|
||||
@file{../}. If this option is used, @command{gccgo} will use
|
||||
@var{dir} as a prefix for the relative import when searching for it.
|
||||
|
||||
@item -frequire-return-statement
|
||||
@itemx -fno-require-return-statement
|
||||
@cindex @option{-frequire-return-statement}
|
||||
@cindex @option{-fno-require-return-statement}
|
||||
@item -frequire-return-statement
|
||||
@itemx -fno-require-return-statement
|
||||
By default @command{gccgo} will warn about functions which have one or
|
||||
more return parameters but lack an explicit @code{return} statement.
|
||||
This warning may be disabled using
|
||||
@option{-fno-require-return-statement}.
|
||||
|
||||
@item -fgo-check-divide-zero
|
||||
@cindex @option{-fgo-check-divide-zero}
|
||||
@cindex @option{-fno-go-check-divide-zero}
|
||||
@item -fgo-check-divide-zero
|
||||
Add explicit checks for division by zero. In Go a division (or
|
||||
modulos) by zero causes a panic. On Unix systems this is detected in
|
||||
the runtime by catching the @code{SIGFPE} signal. Some processors,
|
||||
|
@ -217,9 +217,9 @@ systems, this option may be used. Or the checks may be removed via
|
|||
default, but in the future may be off by default on systems that do
|
||||
not require it.
|
||||
|
||||
@item -fgo-check-divide-overflow
|
||||
@cindex @option{-fgo-check-divide-overflow}
|
||||
@cindex @option{-fno-go-check-divide-overflow}
|
||||
@item -fgo-check-divide-overflow
|
||||
Add explicit checks for division overflow. For example, division
|
||||
overflow occurs when computing @code{INT_MIN / -1}. In Go this should
|
||||
be wrapped, to produce @code{INT_MIN}. Some processors, such as x86,
|
||||
|
@ -229,41 +229,41 @@ may be used. Or the checks may be removed via
|
|||
by default, but in the future may be off by default on systems that do
|
||||
not require it.
|
||||
|
||||
@item -fno-go-optimize-allocs
|
||||
@cindex @option{-fno-go-optimize-allocs}
|
||||
@item -fno-go-optimize-allocs
|
||||
Disable escape analysis, which tries to allocate objects on the stack
|
||||
rather than the heap.
|
||||
|
||||
@item -fgo-debug-escape@var{n}
|
||||
@cindex @option{-fgo-debug-escape}
|
||||
@item -fgo-debug-escape@var{n}
|
||||
Output escape analysis debugging information. Larger values of
|
||||
@var{n} generate more information.
|
||||
|
||||
@item -fgo-debug-escape-hash=@var{n}
|
||||
@cindex @option{-fgo-debug-escape-hash}
|
||||
@item -fgo-debug-escape-hash=@var{n}
|
||||
A hash value to debug escape analysis. @var{n} is a binary string.
|
||||
This runs escape analysis only on functions whose names hash to values
|
||||
that match the given suffix @var{n}. This can be used to binary
|
||||
search across functions to uncover escape analysis bugs.
|
||||
|
||||
@item -fgo-debug-optimization
|
||||
@cindex @option{-fgo-debug-optimization}
|
||||
@cindex @option{-fno-go-debug-optimization}
|
||||
@item -fgo-debug-optimization
|
||||
Output optimization diagnostics.
|
||||
|
||||
@item -fgo-c-header=@var{file}
|
||||
@cindex @option{-fgo-c-header}
|
||||
@item -fgo-c-header=@var{file}
|
||||
Write top-level named Go struct definitions to @var{file} as C code.
|
||||
This is used when compiling the runtime package.
|
||||
|
||||
@item -fgo-compiling-runtime
|
||||
@cindex @option{-fgo-compiling-runtime}
|
||||
@item -fgo-compiling-runtime
|
||||
Apply special rules for compiling the runtime package. Implicit
|
||||
memory allocation is forbidden. Some additional compiler directives
|
||||
are supported.
|
||||
|
||||
@item -fgo-embedcfg=@var{file}
|
||||
@cindex @option{-fgo-embedcfg}
|
||||
@item -fgo-embedcfg=@var{file}
|
||||
Identify a JSON file used to map patterns used with special
|
||||
@code{//go:embed} comments to the files named by the patterns. The
|
||||
JSON file should have two components: @code{Patterns} maps each
|
||||
|
@ -271,8 +271,8 @@ pattern to a list of file names, and @code{Files} maps each file name
|
|||
to a full path to the file. This option is intended for use by the
|
||||
@command{go} command to implement @code{//go:embed}.
|
||||
|
||||
@item -g
|
||||
@cindex @option{-g for gccgo}
|
||||
@item -g
|
||||
This is the standard @command{gcc} option (@pxref{Debugging Options, ,
|
||||
Debugging Options, gcc, Using the GNU Compiler Collection (GCC)}). It
|
||||
is mentioned here because by default @command{gccgo} turns on
|
||||
|
|
Loading…
Add table
Reference in a new issue