summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog12
-rw-r--r--gcc/doc/tm.texi12
-rw-r--r--gcc/doc/tm.texi.in12
-rw-r--r--gcc/hooks.c8
-rw-r--r--gcc/hooks.h1
-rw-r--r--gcc/target.def2
-rw-r--r--gcc/targhooks.c15
-rw-r--r--gcc/targhooks.h2
8 files changed, 22 insertions, 42 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0649bbe5389..16ef45abb0c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,15 @@
+2011-10-06 Anatoly Sokolov <aesok@post.ru>
+
+ * system.h (OUTPUT_ADDR_CONST_EXTRA): Poison.
+ * doc/tm.texi.in (OUTPUT_ADDR_CONST_EXTRA): Remove documentation.
+ * doc/tm.texi: Regenerate.
+ * target.def (output_addr_const_extra): Use
+ hook_bool_FILEptr_rtx_false.
+ * targhooks.c (default_asm_output_addr_const_extra): Remove.
+ * targhooks.h (default_asm_output_addr_const_extra): Remove.
+ * hooks.c (hook_bool_FILEptr_rtx_false): New functions.
+ * hooks.h (hook_bool_FILEptr_rtx_false): Declare.
+
2011-10-06 David S. Miller <davem@davemloft.net>
* config/sparc/sparc.md (popcount<mode>2, clz<mode>2): Split up into...
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index 7143f0f1c92..90cef1c5f38 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -7530,18 +7530,6 @@ itself, by calling, for example, @code{output_operand_lossage}, it may just
return @code{true}.
@end deftypefn
-@defmac OUTPUT_ADDR_CONST_EXTRA (@var{stream}, @var{x}, @var{fail})
-A C statement to recognize @var{rtx} patterns that
-@code{output_addr_const} can't deal with, and output assembly code to
-@var{stream} corresponding to the pattern @var{x}. This may be used to
-allow machine-dependent @code{UNSPEC}s to appear within constants.
-
-If @code{OUTPUT_ADDR_CONST_EXTRA} fails to recognize a pattern, it must
-@code{goto fail}, so that a standard error message is printed. If it
-prints an error message itself, by calling, for example,
-@code{output_operand_lossage}, it may just complete normally.
-@end defmac
-
@defmac ASM_OUTPUT_ASCII (@var{stream}, @var{ptr}, @var{len})
A C statement to output to the stdio stream @var{stream} an assembler
instruction to assemble a string constant containing the @var{len}
diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in
index 67838269dff..187122eea81 100644
--- a/gcc/doc/tm.texi.in
+++ b/gcc/doc/tm.texi.in
@@ -7446,18 +7446,6 @@ itself, by calling, for example, @code{output_operand_lossage}, it may just
return @code{true}.
@end deftypefn
-@defmac OUTPUT_ADDR_CONST_EXTRA (@var{stream}, @var{x}, @var{fail})
-A C statement to recognize @var{rtx} patterns that
-@code{output_addr_const} can't deal with, and output assembly code to
-@var{stream} corresponding to the pattern @var{x}. This may be used to
-allow machine-dependent @code{UNSPEC}s to appear within constants.
-
-If @code{OUTPUT_ADDR_CONST_EXTRA} fails to recognize a pattern, it must
-@code{goto fail}, so that a standard error message is printed. If it
-prints an error message itself, by calling, for example,
-@code{output_operand_lossage}, it may just complete normally.
-@end defmac
-
@defmac ASM_OUTPUT_ASCII (@var{stream}, @var{ptr}, @var{len})
A C statement to output to the stdio stream @var{stream} an assembler
instruction to assemble a string constant containing the @var{len}
diff --git a/gcc/hooks.c b/gcc/hooks.c
index 1ba44f9c7bb..ae59c333d61 100644
--- a/gcc/hooks.c
+++ b/gcc/hooks.c
@@ -132,6 +132,14 @@ hook_void_FILEptr_constcharptr (FILE *a ATTRIBUTE_UNUSED, const char *b ATTRIBUT
{
}
+/* Generic hook that takes (FILE *, rtx) and returns false. */
+bool
+hook_bool_FILEptr_rtx_false (FILE *a ATTRIBUTE_UNUSED,
+ rtx b ATTRIBUTE_UNUSED)
+{
+ return false;
+}
+
/* Used for the TARGET_ASM_CAN_OUTPUT_MI_THUNK hook. */
bool
hook_bool_const_tree_hwi_hwi_const_tree_false (const_tree a ATTRIBUTE_UNUSED,
diff --git a/gcc/hooks.h b/gcc/hooks.h
index 54ace243f76..2e10d1fd682 100644
--- a/gcc/hooks.h
+++ b/gcc/hooks.h
@@ -63,6 +63,7 @@ extern void hook_void_void (void);
extern void hook_void_constcharptr (const char *);
extern void hook_void_rtx_int (rtx, int);
extern void hook_void_FILEptr_constcharptr (FILE *, const char *);
+extern bool hook_bool_FILEptr_rtx_false (FILE *, rtx);
extern void hook_void_tree (tree);
extern void hook_void_tree_treeptr (tree, tree *);
extern void hook_void_int_int (int, int);
diff --git a/gcc/target.def b/gcc/target.def
index 48a8e6d4a13..c3bec0e0391 100644
--- a/gcc/target.def
+++ b/gcc/target.def
@@ -456,7 +456,7 @@ DEFHOOK
(output_addr_const_extra,
"",
bool, (FILE *file, rtx x),
- default_asm_output_addr_const_extra)
+ hook_bool_FILEptr_rtx_false)
/* ??? The TARGET_PRINT_OPERAND* hooks are part of the asm_out struct,
even though that is not reflected in the macro name to override their
diff --git a/gcc/targhooks.c b/gcc/targhooks.c
index 8ad517fd5ce..81fd12f7b78 100644
--- a/gcc/targhooks.c
+++ b/gcc/targhooks.c
@@ -371,21 +371,6 @@ default_mangle_assembler_name (const char *name ATTRIBUTE_UNUSED)
return get_identifier (stripped);
}
-/* 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.
diff --git a/gcc/targhooks.h b/gcc/targhooks.h
index 552407b21db..f19fb506bf5 100644
--- a/gcc/targhooks.h
+++ b/gcc/targhooks.h
@@ -67,8 +67,6 @@ extern void default_print_operand_address (FILE *, rtx);
extern bool default_print_operand_punct_valid_p (unsigned char);
extern tree default_mangle_assembler_name (const char *);
-extern bool default_asm_output_addr_const_extra (FILE *, rtx);
-
extern bool default_scalar_mode_supported_p (enum machine_mode);
extern bool targhook_words_big_endian (void);
extern bool targhook_float_words_big_endian (void);