aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKai Tietz <kai.tietz@onevision.com>2010-07-08 18:07:52 +0000
committerKai Tietz <ktietz@gcc.gnu.org>2010-07-08 20:07:52 +0200
commit2784ed9c44fce2d6649fda97d31dc98e4b065b9a (patch)
tree10ec1c53c1c2db01b8a8ce3a67402ca2db841df5 /gcc
parent135a687e07ebca28ae62b9b37f421f8e73dd50da (diff)
downloadgcc-2784ed9c44fce2d6649fda97d31dc98e4b065b9a.zip
gcc-2784ed9c44fce2d6649fda97d31dc98e4b065b9a.tar.gz
gcc-2784ed9c44fce2d6649fda97d31dc98e4b065b9a.tar.bz2
final.c (final_scan_insn): Replace TARGET_UNWIND_INFO macro check by unwind_emit hook NULL check.
2010-07-08 Kai Tietz <kai.tietz@onevision.com> * final.c (final_scan_insn): Replace TARGET_UNWIND_INFO macro check by unwind_emit hook NULL check. * targhooks.c (default_unwind_emit): Removed. * targhooks.h (default_unwind_emit): Likewise. * target.def (unwind_emit): Set default value to NULL. From-SVN: r161972
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/final.c10
-rw-r--r--gcc/target.def2
-rw-r--r--gcc/targhooks.c10
-rw-r--r--gcc/targhooks.h1
5 files changed, 12 insertions, 18 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 531729c..b0b5361 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,12 @@
2010-07-08 Kai Tietz <kai.tietz@onevision.com>
+ * final.c (final_scan_insn): Replace
+ TARGET_UNWIND_INFO macro check by unwind_emit
+ hook NULL check.
+ * targhooks.c (default_unwind_emit): Removed.
+ * targhooks.h (default_unwind_emit): Likewise.
+ * target.def (unwind_emit): Set default value to NULL.
+
* config/i386/i386-protos.h (ix86_asm_output_function_label):
New prototype.
* config/i386/i386.c (ix86_function_ms_hook_prologue): Check
diff --git a/gcc/final.c b/gcc/final.c
index 2bb897d..fd597ac 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -1850,9 +1850,8 @@ final_scan_insn (rtx insn, FILE *file, int optimize ATTRIBUTE_UNUSED,
break;
case NOTE_INSN_BASIC_BLOCK:
-#ifdef TARGET_UNWIND_INFO
- targetm.asm_out.unwind_emit (asm_out_file, insn);
-#endif
+ if (targetm.asm_out.unwind_emit)
+ targetm.asm_out.unwind_emit (asm_out_file, insn);
if (flag_debug_asm)
fprintf (asm_out_file, "\t%s basic block %d\n",
@@ -2659,12 +2658,11 @@ final_scan_insn (rtx insn, FILE *file, int optimize ATTRIBUTE_UNUSED,
return new_rtx;
}
-#ifdef TARGET_UNWIND_INFO
/* ??? This will put the directives in the wrong place if
get_insn_template outputs assembly directly. However calling it
before get_insn_template breaks if the insns is split. */
- targetm.asm_out.unwind_emit (asm_out_file, insn);
-#endif
+ if (targetm.asm_out.unwind_emit)
+ targetm.asm_out.unwind_emit (asm_out_file, insn);
if (CALL_P (insn))
{
diff --git a/gcc/target.def b/gcc/target.def
index 3eb52a6..583e78b 100644
--- a/gcc/target.def
+++ b/gcc/target.def
@@ -150,7 +150,7 @@ DEFHOOK
(unwind_emit,
"",
void, (FILE *stream, rtx insn),
- default_unwind_emit)
+ NULL)
/* Output an internal label. */
DEFHOOK
diff --git a/gcc/targhooks.c b/gcc/targhooks.c
index f501cb9..22077f8 100644
--- a/gcc/targhooks.c
+++ b/gcc/targhooks.c
@@ -316,16 +316,6 @@ hook_callee_copies_named (CUMULATIVE_ARGS *ca ATTRIBUTE_UNUSED,
return named;
}
-/* Emit any directives required to unwind this instruction. */
-
-void
-default_unwind_emit (FILE * stream ATTRIBUTE_UNUSED,
- rtx insn ATTRIBUTE_UNUSED)
-{
- /* Should never happen. */
- gcc_unreachable ();
-}
-
/* Emit to STREAM the assembler syntax for insn operand X. */
void
diff --git a/gcc/targhooks.h b/gcc/targhooks.h
index eb4b547..23393b4 100644
--- a/gcc/targhooks.h
+++ b/gcc/targhooks.h
@@ -62,7 +62,6 @@ extern bool hook_pass_by_reference_must_pass_in_stack
extern bool hook_callee_copies_named
(CUMULATIVE_ARGS *ca, enum machine_mode, const_tree, bool);
-extern void default_unwind_emit (FILE *, rtx);
extern void default_print_operand (FILE *, rtx, int);
extern void default_print_operand_address (FILE *, rtx);
extern bool default_print_operand_punct_valid_p (unsigned char);