c-tree.texi (Types, [...]): Fix grammar nits.
gcc/ * doc/c-tree.texi (Types, Functions, Expression trees): Fix grammar nits. * doc/cfg.texi (Maintaining the CFG, Liveness information): Likewise. * doc/cpp.texi (Standard Predefined Macros) (Implementation-defined behavior): Likewise. * doc/extend.texi (Function Attributes, Type Attributes): Likewise. * doc/gimple.texi (GIMPLE Exception Handling) (@code{GIMPLE_ASSIGN}): Likewise. * doc/install.texi (Prerequisites, Configuration, Specific): Likewise. * doc/invoke.texi (Warning Options, Optimize Options) (AVR Options, Darwin Options): Likewise. (Optimize Options): Reformulate -fwhole-program description. * doc/loop.texi (Lambda): Likewise. * doc/md.texi (Output Template, Define Constraints) (Standard Names, Insn Splitting): Likewise. * doc/options.texi (Option properties): Likewise. * doc/passes.texi (Tree-SSA passes): Likewise. * doc/rtl.texi (Side Effects, Assembler, Insns): Likewise. * doc/tm.texi (Register Classes, Old Constraints, Scalar Return) (File Names and DBX): Likewise. * doc/trouble.texi (Incompatibilities): Likewise. From-SVN: r146854
This commit is contained in:
parent
5175f17c83
commit
e4ae5e7717
|
@ -1,3 +1,30 @@
|
|||
2009-04-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
|
||||
* doc/c-tree.texi (Types, Functions, Expression trees): Fix
|
||||
grammar nits.
|
||||
* doc/cfg.texi (Maintaining the CFG, Liveness information):
|
||||
Likewise.
|
||||
* doc/cpp.texi (Standard Predefined Macros)
|
||||
(Implementation-defined behavior): Likewise.
|
||||
* doc/extend.texi (Function Attributes, Type Attributes):
|
||||
Likewise.
|
||||
* doc/gimple.texi (GIMPLE Exception Handling)
|
||||
(@code{GIMPLE_ASSIGN}): Likewise.
|
||||
* doc/install.texi (Prerequisites, Configuration, Specific):
|
||||
Likewise.
|
||||
* doc/invoke.texi (Warning Options, Optimize Options)
|
||||
(AVR Options, Darwin Options): Likewise.
|
||||
(Optimize Options): Reformulate -fwhole-program description.
|
||||
* doc/loop.texi (Lambda): Likewise.
|
||||
* doc/md.texi (Output Template, Define Constraints)
|
||||
(Standard Names, Insn Splitting): Likewise.
|
||||
* doc/options.texi (Option properties): Likewise.
|
||||
* doc/passes.texi (Tree-SSA passes): Likewise.
|
||||
* doc/rtl.texi (Side Effects, Assembler, Insns): Likewise.
|
||||
* doc/tm.texi (Register Classes, Old Constraints, Scalar Return)
|
||||
(File Names and DBX): Likewise.
|
||||
* doc/trouble.texi (Incompatibilities): Likewise.
|
||||
|
||||
2009-04-27 Trevor Smigiel <trevor_smigiel@playstation.sony.com>
|
||||
|
||||
* spu.c (spu_machine_dependent_reorg): Make sure branch label on hint
|
||||
|
|
|
@ -373,7 +373,7 @@ The alignment of the type, in bits, represented as an @code{int}.
|
|||
|
||||
@item TYPE_NAME
|
||||
This macro returns a declaration (in the form of a @code{TYPE_DECL}) for
|
||||
the type. (Note this macro does @emph{not} return a
|
||||
the type. (Note this macro does @emph{not} return an
|
||||
@code{IDENTIFIER_NODE}, as you might expect, given its name!) You can
|
||||
look at the @code{DECL_NAME} of the @code{TYPE_DECL} to obtain the
|
||||
actual name of the type. The @code{TYPE_NAME} will be @code{NULL_TREE}
|
||||
|
@ -1256,7 +1256,7 @@ structures, something like the following should be used
|
|||
@findex OVL_NEXT
|
||||
|
||||
A function is represented by a @code{FUNCTION_DECL} node. A set of
|
||||
overloaded functions is sometimes represented by a @code{OVERLOAD} node.
|
||||
overloaded functions is sometimes represented by an @code{OVERLOAD} node.
|
||||
|
||||
An @code{OVERLOAD} node is not a declaration, so none of the
|
||||
@samp{DECL_} macros should be used on an @code{OVERLOAD}. An
|
||||
|
@ -2113,9 +2113,9 @@ comparisons, and so forth.
|
|||
|
||||
These nodes represent fixed-point constants. The type of these constants
|
||||
is obtained with @code{TREE_TYPE}. @code{TREE_FIXED_CST_PTR} points to
|
||||
to struct fixed_value; @code{TREE_FIXED_CST} returns the structure itself.
|
||||
Struct fixed_value contains @code{data} with the size of two
|
||||
HOST_BITS_PER_WIDE_INT and @code{mode} as the associated fixed-point
|
||||
a @code{struct fixed_value}; @code{TREE_FIXED_CST} returns the structure
|
||||
itself. @code{struct fixed_value} contains @code{data} with the size of two
|
||||
@code{HOST_BITS_PER_WIDE_INT} and @code{mode} as the associated fixed-point
|
||||
machine mode for @code{data}.
|
||||
|
||||
@item COMPLEX_CST
|
||||
|
@ -2569,7 +2569,7 @@ The statement-expression extension allows code like this:
|
|||
@smallexample
|
||||
int f() @{ return (@{ int j; j = 3; j + 7; @}); @}
|
||||
@end smallexample
|
||||
In other words, an sequence of statements may occur where a single
|
||||
In other words, a sequence of statements may occur where a single
|
||||
expression would normally appear. The @code{STMT_EXPR} node represents
|
||||
such an expression. The @code{STMT_EXPR_STMT} gives the statement
|
||||
contained in the expression. The value of the expression is the value
|
||||
|
|
|
@ -608,7 +608,7 @@ includes the creation of new basic blocks where needed. In the
|
|||
iterator on an edge, and @code{bsi_commit_edge_inserts} which flushes
|
||||
the instruction to actual instruction stream.
|
||||
|
||||
While debugging the optimization pass, an @code{verify_flow_info}
|
||||
While debugging the optimization pass, a @code{verify_flow_info}
|
||||
function may be useful to find bugs in the control flow graph updating
|
||||
code.
|
||||
|
||||
|
@ -638,7 +638,7 @@ used on some path from @code{P} to the end of the function. With
|
|||
beginning of the function to @code{P} that defines the variable.
|
||||
@code{LIVE} is the intersection of the @code{LR} and @code{UR} and a
|
||||
variable is live at @code{P} if there is both an assignment that reaches
|
||||
it from the beginning of the function and a uses that can be reached on
|
||||
it from the beginning of the function and a use that can be reached on
|
||||
some path from @code{P} to the end of the function.
|
||||
|
||||
In general @code{LIVE} is the most useful of the three. The macros
|
||||
|
|
|
@ -1936,7 +1936,7 @@ in the near future.
|
|||
@item __OBJC__
|
||||
This macro is defined, with value 1, when the Objective-C compiler is in
|
||||
use. You can use @code{__OBJC__} to test whether a header is compiled
|
||||
by a C compiler or a Objective-C compiler.
|
||||
by a C compiler or an Objective-C compiler.
|
||||
|
||||
@item __ASSEMBLER__
|
||||
This macro is defined with value 1 when preprocessing assembly
|
||||
|
@ -4042,7 +4042,7 @@ The preprocessor and compiler interpret character constants in the
|
|||
same way; i.e.@: escape sequences such as @samp{\a} are given the
|
||||
values they would have on the target machine.
|
||||
|
||||
The compiler values a multi-character character constant a character
|
||||
The compiler evaluates a multi-character character constant a character
|
||||
at a time, shifting the previous value left by the number of bits per
|
||||
target character, and then or-ing in the bit-pattern of the new
|
||||
character truncated to the width of a target character. The final
|
||||
|
|
|
@ -2153,7 +2153,7 @@ On the SH Symbian OS target the @code{dllimport} attribute also has
|
|||
another affect---it can cause the vtable and run-time type information
|
||||
for a class to be exported. This happens when the class has a
|
||||
dllimport'ed constructor or a non-inline, non-pure virtual function
|
||||
and, for either of those two conditions, the class also has a inline
|
||||
and, for either of those two conditions, the class also has an inline
|
||||
constructor or destructor and has a key function that is defined in
|
||||
the current translation unit.
|
||||
|
||||
|
@ -4422,7 +4422,7 @@ struct __attribute__ ((__packed__)) my_packed_struct
|
|||
@};
|
||||
@end smallexample
|
||||
|
||||
You may only specify this attribute on the definition of a @code{enum},
|
||||
You may only specify this attribute on the definition of an @code{enum},
|
||||
@code{struct} or @code{union}, not on a @code{typedef} which does not
|
||||
also define the enumerated type, structure or union.
|
||||
|
||||
|
|
|
@ -389,7 +389,7 @@ types, the associated handler code is executed. If the handler
|
|||
code falls off the bottom, execution continues after the original
|
||||
@code{GIMPLE_TRY_CATCH}.
|
||||
|
||||
@item An @code{GIMPLE_EH_FILTER} statement. This has a list of
|
||||
@item A @code{GIMPLE_EH_FILTER} statement. This has a list of
|
||||
permitted exception types, and code to handle a match failure. If the
|
||||
thrown exception does not match one of the allowed types, the
|
||||
associated match failure code is executed. If the thrown exception
|
||||
|
@ -1087,7 +1087,7 @@ statement @code{G}.
|
|||
@end deftypefn
|
||||
|
||||
@deftypefn {GIMPLE function} bool gimple_assign_cast_p (gimple s)
|
||||
Return true if @code{S} is an type-cast assignment.
|
||||
Return true if @code{S} is a type-cast assignment.
|
||||
@end deftypefn
|
||||
|
||||
|
||||
|
|
|
@ -464,7 +464,7 @@ the GCC-specific entry point. You can download a suitable jar from
|
|||
@itemx antlr binary
|
||||
|
||||
If you wish to build the @command{gjdoc} binary in libjava, you will
|
||||
need to have a @file{antlr.jar} library available. The library is
|
||||
need to have an @file{antlr.jar} library available. The library is
|
||||
searched in system locations but can be configured with
|
||||
@option{--with-antlr-jar=} instead. When configuring with
|
||||
@option{--enable-java-maintainer-mode}, you will need to have one of
|
||||
|
@ -1605,7 +1605,7 @@ that will be used while building GCC itself. This option can be useful
|
|||
if the directory layouts are different between the system you are building
|
||||
GCC on, and the system where you will deploy it.
|
||||
|
||||
For example, on a @option{ia64-hp-hpux} system, you may have the GNU
|
||||
For example, on an @samp{ia64-hp-hpux} system, you may have the GNU
|
||||
assembler and linker in @file{/usr/bin}, and the native tools in a
|
||||
different path, and build a toolchain that expects to find the
|
||||
native tools in @file{/usr/bin}.
|
||||
|
@ -3389,7 +3389,7 @@ The native AIX tools do interoperate with GCC@.
|
|||
Building @file{libstdc++.a} requires a fix for an AIX Assembler bug
|
||||
APAR IY26685 (AIX 4.3) or APAR IY25528 (AIX 5.1). It also requires a
|
||||
fix for another AIX Assembler bug and a co-dependent AIX Archiver fix
|
||||
referenced as APAR IY53606 (AIX 5.2) or a APAR IY54774 (AIX 5.1)
|
||||
referenced as APAR IY53606 (AIX 5.2) or as APAR IY54774 (AIX 5.1)
|
||||
|
||||
@samp{libstdc++} in GCC 3.4 increments the major version number of the
|
||||
shared object and GCC installation places the @file{libstdc++.a}
|
||||
|
@ -3944,7 +3944,7 @@ compiler. This is Sun bug 4974440. This is fixed with patch 112760-07.
|
|||
GCC 3.4 changed the default debugging format from STABS to DWARF-2 for
|
||||
32-bit code on Solaris 7 and later. If you use the Sun assembler, this
|
||||
change apparently runs afoul of Sun bug 4910101 (which is referenced as
|
||||
a x86-only problem by Sun, probably because they do not use DWARF-2).
|
||||
an x86-only problem by Sun, probably because they do not use DWARF-2).
|
||||
A symptom of the problem is that you cannot compile C++ programs like
|
||||
@command{groff} 1.19.1 without getting messages similar to the following:
|
||||
|
||||
|
|
|
@ -3152,7 +3152,7 @@ Warn whenever a function is defined with a return-type that defaults
|
|||
to @code{int}. Also warn about any @code{return} statement with no
|
||||
return-value in a function whose return-type is not @code{void}
|
||||
(falling off the end of the function body is considered returning
|
||||
without a value), and about a @code{return} statement with a
|
||||
without a value), and about a @code{return} statement with an
|
||||
expression in a function whose return-type is @code{void}.
|
||||
|
||||
For C++, a function without return type always produces a diagnostic
|
||||
|
@ -6211,8 +6211,8 @@ This flag is enabled by default at @option{-O3}.
|
|||
@item -fipa-matrix-reorg
|
||||
@opindex fipa-matrix-reorg
|
||||
Perform matrix flattening and transposing.
|
||||
Matrix flattening tries to replace a m-dimensional matrix
|
||||
with its equivalent n-dimensional matrix, where n < m.
|
||||
Matrix flattening tries to replace an @math{m}-dimensional matrix
|
||||
with its equivalent @math{n}-dimensional matrix, where @math{n < m}.
|
||||
This reduces the level of indirection needed for accessing the elements
|
||||
of the matrix. The second optimization is matrix transposing that
|
||||
attempts to change the order of the matrix's dimensions in order to
|
||||
|
@ -6776,13 +6776,13 @@ Enabled by default with @option{-funroll-loops}.
|
|||
|
||||
@item -fwhole-program
|
||||
@opindex fwhole-program
|
||||
Assume that the current compilation unit represents whole program being
|
||||
Assume that the current compilation unit represents the whole program being
|
||||
compiled. All public functions and variables with the exception of @code{main}
|
||||
and those merged by attribute @code{externally_visible} become static functions
|
||||
and in a affect gets more aggressively optimized by interprocedural optimizers.
|
||||
While this option is equivalent to proper use of @code{static} keyword for
|
||||
programs consisting of single file, in combination with option
|
||||
@option{--combine} this flag can be used to compile most of smaller scale C
|
||||
and in effect are optimized more aggressively by interprocedural optimizers.
|
||||
While this option is equivalent to proper use of the @code{static} keyword for
|
||||
programs consisting of a single file, in combination with option
|
||||
@option{--combine} this flag can be used to compile many smaller scale C
|
||||
programs since the functions and variables become local for the whole combined
|
||||
compilation unit, not for the single source file itself.
|
||||
|
||||
|
@ -9366,7 +9366,7 @@ Change only the low 8 bits of the stack pointer.
|
|||
@item -mint8
|
||||
@opindex mint8
|
||||
Assume int to be 8 bit integer. This affects the sizes of all types: A
|
||||
char will be 1 byte, an int will be 1 byte, an long will be 2 bytes
|
||||
char will be 1 byte, an int will be 1 byte, a long will be 2 bytes
|
||||
and long long will be 4 bytes. Please note that this option does not
|
||||
comply to the C standards, but it will provide you with smaller code
|
||||
size.
|
||||
|
@ -9737,7 +9737,7 @@ that GCC is targetting, like @option{-mcpu} or @option{-march}. The
|
|||
The Darwin tools vary in their behavior when presented with an ISA
|
||||
mismatch. The assembler, @file{as}, will only permit instructions to
|
||||
be used that are valid for the subtype of the file it is generating,
|
||||
so you cannot put 64-bit instructions in an @samp{ppc750} object file.
|
||||
so you cannot put 64-bit instructions in a @samp{ppc750} object file.
|
||||
The linker for shared libraries, @file{/usr/bin/libtool}, will fail
|
||||
and print an error if asked to create a shared library with a less
|
||||
restrictive subtype than its input files (for instance, trying to put
|
||||
|
|
|
@ -605,7 +605,7 @@ improve cache behavior or remove inner loop dependencies to allow
|
|||
parallelization and vectorization to take place.
|
||||
|
||||
To perform these transformations, Lambda requires that the loopnest be
|
||||
converted into a internal form that can be matrix transformed easily.
|
||||
converted into an internal form that can be matrix transformed easily.
|
||||
To do this conversion, the function
|
||||
@code{gcc_loopnest_to_lambda_loopnest} is provided. If the loop cannot
|
||||
be transformed using lambda, this function will return NULL.
|
||||
|
|
|
@ -552,7 +552,7 @@ As a special case, a template consisting of the single character @code{#}
|
|||
instructs the compiler to first split the insn, and then output the
|
||||
resulting instructions separately. This helps eliminate redundancy in the
|
||||
output templates. If you have a @code{define_insn} that needs to emit
|
||||
multiple assembler instructions, and there is an matching @code{define_split}
|
||||
multiple assembler instructions, and there is a matching @code{define_split}
|
||||
already defined, then you can simply use @code{#} as the output template
|
||||
instead of writing an output template that emits the multiple assembler
|
||||
instructions.
|
||||
|
@ -3323,7 +3323,7 @@ memory address of this type. If @samp{Q} is defined with
|
|||
@code{define_memory_constraint}, a @samp{Q} constraint can handle any
|
||||
memory operand, because @code{reload} knows it can simply copy the
|
||||
memory address into a base register if required. This is analogous to
|
||||
the way a @samp{o} constraint can handle any memory operand.
|
||||
the way an @samp{o} constraint can handle any memory operand.
|
||||
|
||||
The syntax and semantics are otherwise identical to
|
||||
@code{define_constraint}.
|
||||
|
@ -4729,7 +4729,7 @@ A label that precedes the table itself.
|
|||
A label to jump to if the index has a value outside the bounds.
|
||||
@end enumerate
|
||||
|
||||
The table is a @code{addr_vec} or @code{addr_diff_vec} inside of a
|
||||
The table is an @code{addr_vec} or @code{addr_diff_vec} inside of a
|
||||
@code{jump_insn}. The number of elements in the table is one plus the
|
||||
difference between the upper bound and the lower bound.
|
||||
|
||||
|
@ -4949,7 +4949,7 @@ the first three are normally used by the generic mechanism.
|
|||
|
||||
@cindex @code{builtin_setjmp_receiver} instruction pattern
|
||||
@item @samp{builtin_setjmp_receiver}
|
||||
This pattern, if defined, contains code needed at the site of an
|
||||
This pattern, if defined, contains code needed at the site of a
|
||||
built-in setjmp that isn't needed at the site of a nonlocal goto. You
|
||||
will not normally need to define this pattern. A typical reason why you
|
||||
might need this pattern is if some value, such as a pointer to a global
|
||||
|
@ -6116,7 +6116,7 @@ more assistance is needed. Splitter is required to create only unconditional
|
|||
jumps, or simple conditional jump instructions. Additionally it must attach a
|
||||
@code{REG_BR_PROB} note to each conditional jump. A global variable
|
||||
@code{split_branch_probability} holds the probability of the original branch in case
|
||||
it was an simple conditional jump, @minus{}1 otherwise. To simplify
|
||||
it was a simple conditional jump, @minus{}1 otherwise. To simplify
|
||||
recomputing of edge frequencies, the new sequence is required to have only
|
||||
forward jumps to the newly created labels.
|
||||
|
||||
|
|
|
@ -106,7 +106,7 @@ The option does not have a ``no-'' form. All options beginning with
|
|||
property is used.
|
||||
|
||||
@item Negative(@var{othername})
|
||||
The option will turn off another option @var{othername}, which is the
|
||||
The option will turn off another option @var{othername}, which is
|
||||
the option name with the leading ``-'' removed. This chain action will
|
||||
propagate through the @code{Negative} property of the option to be
|
||||
turned off.
|
||||
|
|
|
@ -297,7 +297,7 @@ times throughout the optimization process. It is located in
|
|||
|
||||
This pass performs trivial dominator-based copy and constant propagation,
|
||||
expression simplification, and jump threading. It is run multiple times
|
||||
throughout the optimization process. It it located in @file{tree-ssa-dom.c}
|
||||
throughout the optimization process. It is located in @file{tree-ssa-dom.c}
|
||||
and is described by @code{pass_dominator}.
|
||||
|
||||
@item Forward propagation of single-use variables
|
||||
|
|
|
@ -2950,7 +2950,7 @@ store a value in @var{x}. @var{x} must be a @code{reg} expression.
|
|||
In some situations, it may be tempting to add a @code{use} of a
|
||||
register in a @code{parallel} to describe a situation where the value
|
||||
of a special register will modify the behavior of the instruction.
|
||||
An hypothetical example might be a pattern for an addition that can
|
||||
A hypothetical example might be a pattern for an addition that can
|
||||
either wrap around or use saturating addition depending on the value
|
||||
of a special control register:
|
||||
|
||||
|
@ -3256,7 +3256,7 @@ mode @var{m1} is the mode of the sum @code{x+y}; @var{m2} is that of
|
|||
|
||||
When an @code{asm} statement has multiple output values, its insn has
|
||||
several such @code{set} RTX's inside of a @code{parallel}. Each @code{set}
|
||||
contains a @code{asm_operands}; all of these share the same assembler
|
||||
contains an @code{asm_operands}; all of these share the same assembler
|
||||
template and vectors, but each contains the constraint for the respective
|
||||
output operand. They are also distinguished by the output-operand index
|
||||
number, which is 0, 1, @dots{} for successive output operands.
|
||||
|
@ -3680,7 +3680,7 @@ used, and flow optimization to build an accurate flow graph.
|
|||
|
||||
@findex REG_LABEL_TARGET
|
||||
@item REG_LABEL_TARGET
|
||||
This insn is a @code{jump_insn} but not a @code{addr_vec} or
|
||||
This insn is a @code{jump_insn} but not an @code{addr_vec} or
|
||||
@code{addr_diff_vec}. It uses @var{op}, a @code{code_label} as a
|
||||
direct or indirect jump target. Its purpose is similar to that of
|
||||
@code{REG_LABEL_OPERAND}. This note is only present if the insn has
|
||||
|
@ -3690,7 +3690,7 @@ insn-field) goes into the @code{JUMP_LABEL} field and does not have a
|
|||
|
||||
@findex REG_CROSSING_JUMP
|
||||
@item REG_CROSSING_JUMP
|
||||
This insn is an branching instruction (either an unconditional jump or
|
||||
This insn is a branching instruction (either an unconditional jump or
|
||||
an indirect jump) which crosses between hot and cold sections, which
|
||||
could potentially be very far apart in the executable. The presence
|
||||
of this note indicates to other optimizations that this branching
|
||||
|
|
|
@ -2657,7 +2657,7 @@ allow copying all registers to and from memory, but require a scratch
|
|||
register for stores to some memory locations (e.g., those with symbolic
|
||||
address on the RT, and those with certain symbolic address on the SPARC
|
||||
when compiling PIC)@. Scratch registers need not have the same mode
|
||||
as the value being copied, and usually hold a different value that
|
||||
as the value being copied, and usually hold a different value than
|
||||
that being copied. Special patterns in the md file are needed to
|
||||
describe how the copy is performed with the help of the scratch register;
|
||||
these patterns also describe the number, register class(es) and mode(s)
|
||||
|
@ -3046,7 +3046,7 @@ If the letter @samp{Q} is marked as @code{EXTRA_MEMORY_CONSTRAINT},
|
|||
a @samp{Q} constraint can handle any memory operand, because the
|
||||
reload pass knows it can be reloaded by copying the memory address
|
||||
into a base register if required. This is analogous to the way
|
||||
a @samp{o} constraint can handle any memory operand.
|
||||
an @samp{o} constraint can handle any memory operand.
|
||||
@end defmac
|
||||
|
||||
@defmac EXTRA_ADDRESS_CONSTRAINT (@var{c}, @var{str})
|
||||
|
@ -4317,7 +4317,7 @@ values---values that can fit in registers.
|
|||
|
||||
Define this to return an RTX representing the place where a function
|
||||
returns or receives a value of data type @var{ret_type}, a tree node
|
||||
node representing a data type. @var{fn_decl_or_type} is a tree node
|
||||
representing a data type. @var{fn_decl_or_type} is a tree node
|
||||
representing @code{FUNCTION_DECL} or @code{FUNCTION_TYPE} of a
|
||||
function being called. If @var{outgoing} is false, the hook should
|
||||
compute the register in which the caller will see the return value.
|
||||
|
@ -8978,7 +8978,7 @@ of compilation, which is correct for most machines.
|
|||
@defmac DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END
|
||||
Define this macro @emph{instead of} defining
|
||||
@code{DBX_OUTPUT_MAIN_SOURCE_FILE_END}, if what needs to be output at
|
||||
the end of compilation is a @code{N_SO} stab with an empty string,
|
||||
the end of compilation is an @code{N_SO} stab with an empty string,
|
||||
whose value is the highest absolute text address in the file.
|
||||
@end defmac
|
||||
|
||||
|
|
|
@ -342,7 +342,7 @@ Declarations of external variables and functions within a block apply
|
|||
only to the block containing the declaration. In other words, they
|
||||
have the same scope as any other declaration in the same place.
|
||||
|
||||
In some other C compilers, a @code{extern} declaration affects all the
|
||||
In some other C compilers, an @code{extern} declaration affects all the
|
||||
rest of the file even if it happens within a block.
|
||||
|
||||
@item
|
||||
|
|
Loading…
Reference in New Issue