summaryrefslogtreecommitdiff
path: root/gcc/targhooks.c
diff options
context:
space:
mode:
authoraesok <aesok@138bc75d-0d04-0410-961f-82ee72b054a4>2010-08-11 19:52:46 +0000
committeraesok <aesok@138bc75d-0d04-0410-961f-82ee72b054a4>2010-08-11 19:52:46 +0000
commit1282f2990bd8875be19f358f7aeffe47eaa299c1 (patch)
tree28ce38ee745b0494c0ddb96c95b700125a32461e /gcc/targhooks.c
parent65ca6482461252ce511a317946b3ebfa96284f51 (diff)
downloadgcc-1282f2990bd8875be19f358f7aeffe47eaa299c1.tar.gz
* target.def (output_addr_const_extra): New hook.
* doc/tm.texi.in (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Document. * doc/tm.texi: Regenerate. * targhooks.c (default_asm_output_addr_const_extra): New function. * targhooks.h (default_asm_output_addr_const_extra): Declare. * final.c: (output_addr_const): Use TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA target hook. * config/i386/i386.h (OUTPUT_ADDR_CONST_EXTRA): Remove. * config/i386/i386-protos.h (output_addr_const_extra): Remove. * config/i386/i386.h (output_addr_const_extra): Rename to... (i386_asm_output_addr_const_extra): ...this. Make static. (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163104 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/targhooks.c')
-rw-r--r--gcc/targhooks.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/targhooks.c b/gcc/targhooks.c
index 553d0bc9aef..9898225f2d1 100644
--- a/gcc/targhooks.c
+++ b/gcc/targhooks.c
@@ -356,6 +356,21 @@ default_print_operand_punct_valid_p (unsigned char code ATTRIBUTE_UNUSED)
#endif
}
+/* The default implementation of TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA. */
+
+bool
+default_asm_output_addr_const_extra (FILE *file ATTRIBUTE_UNUSED,
+ rtx x ATTRIBUTE_UNUSED)
+{
+#ifdef OUTPUT_ADDR_CONST_EXTRA
+ OUTPUT_ADDR_CONST_EXTRA (file, x, fail);
+ return true;
+
+fail:
+#endif
+ return false;
+}
+
/* True if MODE is valid for the target. By "valid", we mean able to
be manipulated in non-trivial ways. In particular, this means all
the arithmetic is supported.