aboutsummaryrefslogtreecommitdiff
path: root/gcc/final.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@gcc.gnu.org>2008-11-22 09:22:52 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2008-11-22 09:22:52 +0100
commita7fe25b885e77e8bc7d31a24b3a39330af7ce896 (patch)
tree7469da4a5aa75fe9e17224ad66d315aa58c26db1 /gcc/final.c
parent3b13901446c8019b68e5de6406bc7d3d3ce69a3e (diff)
downloadgcc-a7fe25b885e77e8bc7d31a24b3a39330af7ce896.zip
gcc-a7fe25b885e77e8bc7d31a24b3a39330af7ce896.tar.gz
gcc-a7fe25b885e77e8bc7d31a24b3a39330af7ce896.tar.bz2
re PR target/37170 (gcc.dg/weak/weak-1.c)
PR target/37170 * final.c (mark_symbol_refs_as_used): New function. * output.h (mark_symbol_refs_as_used): New prototype. * config/s390/s390.c (s390_mark_symbol_ref_as_used): Removed. (s390_output_pool_entry): Use mark_symbol_refs_as_used. * config/arm/arm.md (consttable_4): Likewise. From-SVN: r142113
Diffstat (limited to 'gcc/final.c')
-rw-r--r--gcc/final.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/gcc/final.c b/gcc/final.c
index d007907..aceeb7c 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -3349,8 +3349,9 @@ output_asm_label (rtx x)
assemble_name (asm_out_file, buf);
}
-/* Helper rtx-iteration-function for output_operand. Marks
- SYMBOL_REFs as referenced through use of assemble_external. */
+/* Helper rtx-iteration-function for mark_symbol_refs_as_used and
+ output_operand. Marks SYMBOL_REFs as referenced through use of
+ assemble_external. */
static int
mark_symbol_ref_as_used (rtx *xp, void *dummy ATTRIBUTE_UNUSED)
@@ -3374,6 +3375,14 @@ mark_symbol_ref_as_used (rtx *xp, void *dummy ATTRIBUTE_UNUSED)
return 0;
}
+/* Marks SYMBOL_REFs in x as referenced through use of assemble_external. */
+
+void
+mark_symbol_refs_as_used (rtx x)
+{
+ for_each_rtx (&x, mark_symbol_ref_as_used, NULL);
+}
+
/* Print operand X using machine-dependent assembler syntax.
The macro PRINT_OPERAND is defined just to control this function.
CODE is a non-digit that preceded the operand-number in the % spec,