summaryrefslogtreecommitdiff
path: root/gcc/final.c
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2008-11-22 08:22:52 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2008-11-22 08:22:52 +0000
commitaf2a449c52fdb82302fedeb42d380afc08bd9ac8 (patch)
tree7469da4a5aa75fe9e17224ad66d315aa58c26db1 /gcc/final.c
parentc2c14056b4adb95d24b71dd018876b4d7e23a16e (diff)
downloadgcc-af2a449c52fdb82302fedeb42d380afc08bd9ac8.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@142113 138bc75d-0d04-0410-961f-82ee72b054a4
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 d00790797dd..aceeb7cfb13 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,