diff options
author | Joseph Myers <joseph@codesourcery.com> | 2010-11-25 13:16:03 +0000 |
---|---|---|
committer | Joseph Myers <jsm28@gcc.gnu.org> | 2010-11-25 13:16:03 +0000 |
commit | d5fabb58358641e0d597a966b34e20339c231180 (patch) | |
tree | 2ae1898b130194eab38d660e71fb70c7ded18d9c /gcc/except.c | |
parent | 9d602c5900c50a7cda00695c00e1945badc184cf (diff) | |
download | gcc-d5fabb58358641e0d597a966b34e20339c231180.zip gcc-d5fabb58358641e0d597a966b34e20339c231180.tar.gz gcc-d5fabb58358641e0d597a966b34e20339c231180.tar.bz2 |
target.def (supports_split_stack, [...]): Take gcc_options parameters.
* target.def (supports_split_stack, except_unwind_info): Take
gcc_options parameters.
* targhooks.c (default_except_unwind_info,
dwarf2_except_unwind_info, sjlj_except_unwind_info): Take
gcc_options parameters.
* targhooks.h (default_except_unwind_info,
dwarf2_except_unwind_info, sjlj_except_unwind_info): Update
prototypes.
* doc/tm.texi.in (TARGET_IRA_COVER_CLASSES,
TARGET_HAVE_NAMED_SECTIONS, TARGET_UNWIND_TABLES_DEFAULT):
Document that hooks must not be modified.
(TARGET_EXCEPT_UNWIND_INFO): Refer to opts argument.
* doc/tm.texi: Regenerate.
* defaults.h (STACK_OLD_CHECK_PROTECT, STACK_CHECK_PROTECT): Pass
&global_options to targetm.except_unwind_info.
* dwarf2out.c (dwarf2out_do_frame, dwarf2out_do_cfi_asm,
dwarf2out_begin_prologue, dwarf2out_frame_init,
dwarf2out_frame_finish, dwarf2out_assembly_start): Pass
&global_options to targetm.except_unwind_info.
* except.c (init_eh, finish_eh_generation,
gate_convert_to_eh_region_ranges,
output_one_function_exception_table): Pass &global_options to
targetm.except_unwind_info.
* expr.c (build_personality_function): Pass &global_options to
targetm.except_unwind_info.
* function.c (expand_function_end): Pass &global_options to
targetm.except_unwind_info.
* hooks.c (hook_bool_bool_gcc_optionsp_false): New.
* hooks.h (hook_bool_bool_gcc_optionsp_false): Declare.
* opts.c (finish_options): Pass opts to targetm.except_unwind_info
and targetm.supports_split_stack. Remove assertions about opts
and opts_set.
(common_handle_option): Remove assertions about opts, opts_set and
dc.
* tree-tailcall.c (suitable_for_tail_call_opt_p): Pass
&global_options to targetm.except_unwind_info.
* tree.c (build_common_builtin_nodes: Pass &global_options to
targetm.except_unwind_info.
* config/arm/arm.c (arm_except_unwind_info): Add gcc_options
parameter.
(arm_compute_func_type, arm_expand_prologue, thumb_pushpop,
thumb1_expand_prologue, thumb1_output_function_prologue,
arm_unwind_emit, arm_output_fn_unwind): Update calls to
arm_except_unwind_info.
* config/i386/i386.c (ix86_supports_split_stack): Add gcc_options
parameter.
* config/ia64/ia64.c (ia64_except_unwind_info): Add gcc_options
parameter.
(ia64_output_function_prologue, ia64_add_bundle_selector_before,
ia64_reorg, ia64_asm_unwind_emit): Update calls to
ia64_except_unwind_info.
* config/pa/pa.c (pa_option_override): Pass &global_options to
targetm.except_unwind_info.
* config/picochip/picochip-protos.h (picochip_except_unwind_info):
Remove prototype.
c-family:
* c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
targetm.except_unwind_info.
From-SVN: r167145
Diffstat (limited to 'gcc/except.c')
-rw-r--r-- | gcc/except.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/gcc/except.c b/gcc/except.c index 5ee9ba3..2912cae 100644 --- a/gcc/except.c +++ b/gcc/except.c @@ -209,7 +209,7 @@ init_eh (void) /* Create the SjLj_Function_Context structure. This should match the definition in unwind-sjlj.c. */ - if (targetm.except_unwind_info () == UI_SJLJ) + if (targetm.except_unwind_info (&global_options) == UI_SJLJ) { tree f_jbuf, f_per, f_lsda, f_prev, f_cs, f_data, tmp; @@ -1375,13 +1375,13 @@ finish_eh_generation (void) basic_block bb; /* Construct the landing pads. */ - if (targetm.except_unwind_info () == UI_SJLJ) + if (targetm.except_unwind_info (&global_options) == UI_SJLJ) sjlj_build_landing_pads (); else dw2_build_landing_pads (); break_superblocks (); - if (targetm.except_unwind_info () == UI_SJLJ + if (targetm.except_unwind_info (&global_options) == UI_SJLJ /* Kludge for Alpha/Tru64 (see alpha_gp_save_rtx). */ || single_succ_edge (ENTRY_BLOCK_PTR)->insns.r) commit_edge_insertions (); @@ -2622,7 +2622,7 @@ gate_convert_to_eh_region_ranges (void) /* Nothing to do for SJLJ exceptions or if no regions created. */ if (cfun->eh->region_tree == NULL) return false; - if (targetm.except_unwind_info () == UI_SJLJ) + if (targetm.except_unwind_info (&global_options) == UI_SJLJ) return false; return true; } @@ -2961,7 +2961,7 @@ output_one_function_exception_table (int section) eh_data_format_name (tt_format)); #ifndef HAVE_AS_LEB128 - if (targetm.except_unwind_info () == UI_SJLJ) + if (targetm.except_unwind_info (&global_options) == UI_SJLJ) call_site_len = sjlj_size_of_call_site_table (); else call_site_len = dw2_size_of_call_site_table (section); @@ -3028,14 +3028,14 @@ output_one_function_exception_table (int section) dw2_asm_output_delta_uleb128 (cs_end_label, cs_after_size_label, "Call-site table length"); ASM_OUTPUT_LABEL (asm_out_file, cs_after_size_label); - if (targetm.except_unwind_info () == UI_SJLJ) + if (targetm.except_unwind_info (&global_options) == UI_SJLJ) sjlj_output_call_site_table (); else dw2_output_call_site_table (cs_format, section); ASM_OUTPUT_LABEL (asm_out_file, cs_end_label); #else dw2_asm_output_data_uleb128 (call_site_len, "Call-site table length"); - if (targetm.except_unwind_info () == UI_SJLJ) + if (targetm.except_unwind_info (&global_options) == UI_SJLJ) sjlj_output_call_site_table (); else dw2_output_call_site_table (cs_format, section); |