Add a new asm hook to print the end of a variable definition.

* target.def (decl_end): New hook.
	* varasm.c (assemble_variable_contents, assemble_constant_contents):
	Use it.
	* doc/tm.texi.in (TARGET_ASM_DECL_END): Add.
	* doc/tm.texi: Regenerate.

From-SVN: r217196
This commit is contained in:
Bernd Schmidt 2014-11-06 17:19:48 +00:00 committed by Bernd Schmidt
parent 4ad4ebfeae
commit dc2af904c9
5 changed files with 27 additions and 0 deletions

View File

@ -1,3 +1,11 @@
2014-11-06 Bernd Schmidt <bernds@codesourcery.com>
* target.def (decl_end): New hook.
* varasm.c (assemble_variable_contents, assemble_constant_contents):
Use it.
* doc/tm.texi.in (TARGET_ASM_DECL_END): Add.
* doc/tm.texi: Regenerate.
2014-11-06 Renlin Li <renlin.li@arm.com>
* config/aarch64/aarch64.c (aarch64_architecture_version): New.

View File

@ -7421,6 +7421,11 @@ The default implementation of this hook will use the
when the relevant string is @code{NULL}.
@end deftypefn
@deftypefn {Target Hook} void TARGET_ASM_DECL_END (void)
Define this hook if the target assembler requires a special marker to
terminate an initialized variable declaration.
@end deftypefn
@deftypefn {Target Hook} bool TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA (FILE *@var{file}, rtx @var{x})
A target hook to recognize @var{rtx} patterns that @code{output_addr_const}
can't deal with, and output assembly code to @var{file} corresponding to

View File

@ -5193,6 +5193,8 @@ It must not be modified by command-line option processing.
@hook TARGET_ASM_INTEGER
@hook TARGET_ASM_DECL_END
@hook TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA
@defmac ASM_OUTPUT_ASCII (@var{stream}, @var{ptr}, @var{len})

View File

@ -127,6 +127,15 @@ when the relevant string is @code{NULL}.",
bool, (rtx x, unsigned int size, int aligned_p),
default_assemble_integer)
/* Notify the backend that we have completed emitting the data for a
decl. */
DEFHOOK
(decl_end,
"Define this hook if the target assembler requires a special marker to\n\
terminate an initialized variable declaration.",
void, (void),
hook_void_void)
/* Output code that will globalize a label. */
DEFHOOK
(globalize_label,

View File

@ -2041,6 +2041,7 @@ assemble_variable_contents (tree decl, const char *name,
else
/* Leave space for it. */
assemble_zeros (tree_to_uhwi (DECL_SIZE_UNIT (decl)));
targetm.asm_out.decl_end ();
}
}
@ -3347,6 +3348,8 @@ assemble_constant_contents (tree exp, const char *label, unsigned int align)
/* Output the value of EXP. */
output_constant (exp, size, align);
targetm.asm_out.decl_end ();
}
/* We must output the constant data referred to by SYMBOL; do so. */