| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Each of the macros in this section is used to do the whole job of outputting a single uninitialized variable.
ASM_OUTPUT_COMMON (stream, name, size, rounded)
Use the expression assemble_name (stream, name) to
output the name itself; before and after that, output the additional
assembler syntax for defining the name, and a newline.
This macro controls how the assembler definitions of uninitialized common global variables are output.
ASM_OUTPUT_ALIGNED_COMMON (stream, name, size, alignment)
ASM_OUTPUT_COMMON except takes the required alignment as a
separate, explicit argument. If you define this macro, it is used in
place of ASM_OUTPUT_COMMON, and gives you more flexibility in
handling the required alignment of the variable. The alignment is specified
as the number of bits.
ASM_OUTPUT_ALIGNED_DECL_COMMON (stream, decl, name, size, alignment)
ASM_OUTPUT_ALIGNED_COMMON except that decl of the
variable to be output, if there is one, or NULL_TREE if there
is no corresponding variable. If you define this macro, GCC will use it
in place of both ASM_OUTPUT_COMMON and
ASM_OUTPUT_ALIGNED_COMMON. Define this macro when you need to see
the variable's decl in order to chose what to output.
ASM_OUTPUT_SHARED_COMMON (stream, name, size, rounded)
ASM_OUTPUT_COMMON, except that it
is used when name is shared. If not defined, ASM_OUTPUT_COMMON
will be used.
ASM_OUTPUT_BSS (stream, decl, name, size, rounded)
Try to use function asm_output_bss defined in `varasm.c' when
defining this macro. If unable, use the expression
assemble_name (stream, name) to output the name itself;
before and after that, output the additional assembler syntax for defining
the name, and a newline.
This macro controls how the assembler definitions of uninitialized global
variables are output. This macro exists to properly support languages like
c++ which do not have common data. However, this macro currently
is not defined for all targets. If this macro and
ASM_OUTPUT_ALIGNED_BSS are not defined then ASM_OUTPUT_COMMON
or ASM_OUTPUT_ALIGNED_COMMON or
ASM_OUTPUT_ALIGNED_DECL_COMMON is used.
ASM_OUTPUT_ALIGNED_BSS (stream, decl, name, size, alignment)
ASM_OUTPUT_BSS except takes the required alignment as a
separate, explicit argument. If you define this macro, it is used in
place of ASM_OUTPUT_BSS, and gives you more flexibility in
handling the required alignment of the variable. The alignment is specified
as the number of bits.
Try to use function asm_output_aligned_bss defined in file
`varasm.c' when defining this macro.
ASM_OUTPUT_SHARED_BSS (stream, decl, name, size, rounded)
ASM_OUTPUT_BSS, except that it
is used when name is shared. If not defined, ASM_OUTPUT_BSS
will be used.
ASM_OUTPUT_LOCAL (stream, name, size, rounded)
Use the expression assemble_name (stream, name) to
output the name itself; before and after that, output the additional
assembler syntax for defining the name, and a newline.
This macro controls how the assembler definitions of uninitialized static variables are output.
ASM_OUTPUT_ALIGNED_LOCAL (stream, name, size, alignment)
ASM_OUTPUT_LOCAL except takes the required alignment as a
separate, explicit argument. If you define this macro, it is used in
place of ASM_OUTPUT_LOCAL, and gives you more flexibility in
handling the required alignment of the variable. The alignment is specified
as the number of bits.
ASM_OUTPUT_ALIGNED_DECL_LOCAL (stream, decl, name, size, alignment)
ASM_OUTPUT_ALIGNED_DECL except that decl of the
variable to be output, if there is one, or NULL_TREE if there
is no corresponding variable. If you define this macro, GCC will use it
in place of both ASM_OUTPUT_DECL and
ASM_OUTPUT_ALIGNED_DECL. Define this macro when you need to see
the variable's decl in order to chose what to output.
ASM_OUTPUT_SHARED_LOCAL (stream, name, size, rounded)
ASM_OUTPUT_LOCAL, except that it
is used when name is shared. If not defined, ASM_OUTPUT_LOCAL
will be used.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |