diff options
author | Kai Tietz <kai.tietz@onevision.com> | 2010-07-08 18:07:52 +0000 |
---|---|---|
committer | Kai Tietz <ktietz@gcc.gnu.org> | 2010-07-08 20:07:52 +0200 |
commit | 2784ed9c44fce2d6649fda97d31dc98e4b065b9a (patch) | |
tree | 10ec1c53c1c2db01b8a8ce3a67402ca2db841df5 /gcc | |
parent | 135a687e07ebca28ae62b9b37f421f8e73dd50da (diff) | |
download | gcc-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/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/final.c | 10 | ||||
-rw-r--r-- | gcc/target.def | 2 | ||||
-rw-r--r-- | gcc/targhooks.c | 10 | ||||
-rw-r--r-- | gcc/targhooks.h | 1 |
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); |