summaryrefslogtreecommitdiff
path: root/gcc/opts-global.c
Commit message (Collapse)AuthorAgeFilesLines
* 2011-11-03 Richard Guenther <rguenther@suse.de>rguenth2011-11-031-19/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | PR lto/44965 * lto-opts.c: Re-implement. * lto-streamer.h (lto_register_user_option): Remove. (lto_read_file_options): Likewise. (lto_reissue_options): Likewise. (lto_clear_user_options): Likewise. (lto_clear_file_options): Likewise. * opts-global.c (post_handling_callback): Remove. (set_default_handlers): Do not set post_handling_callback. (decode_options): Remove LTO specific code. * lto-wrapper.c (merge_and_complain): New function. (run_gcc): Read all input file options and prepend a merged set before the linker driver options. * gcc.c (driver_post_handling_callback): Remove. (set_option_handlers): Do not set post_handling_callback. * opts-common.c (handle_option): Do not call post_handling_callback. * opts.h (struct cl_option_handlers): Remove post_handling_callback. lto/ * lto-lang.c (lto_post_options): Do not read file options. * lto.c (lto_read_all_file_options): Remove. (lto_init): Call lto_set_in_hooks here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180827 138bc75d-0d04-0410-961f-82ee72b054a4
* New option to disable/enable optimization passes. davidxl2011-05-301-0/+8
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174423 138bc75d-0d04-0410-961f-82ee72b054a4
* Proper handling of -Werror=coverage-mismatchdavidxl2011-04-221-5/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172870 138bc75d-0d04-0410-961f-82ee72b054a4
* * common.opt (main_input_filename, main_input_basename,jsm282010-12-011-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | main_input_baselength): New Variable entries. From toplev.c. * final.c (output_quoted_string): Move from toplev.c. * output.h (output_quoted_string): Move from toplev.h. * opts-global.c (read_cmdline_options): Use gcc_options pointer to access main_input_filename, main_input_baselength and main_input_basename. * targhooks.c: Include intl.h and opts.h. (option_affects_pch_p, default_get_pch_validity): Move from toplev.c. * targhooks.h (option_affects_pch_p, default_get_pch_validity): Move from toplev.h. * toplev.c (main_input_filename, main_input_basename, main_input_baselength): Move to common.opt. (output_quoted_string): Move to final.c. (warn_deprecated_use): Move to tree.c. (option_affects_pch_p, default_get_pch_validity, pch_option_mismatch, default_pch_valid_p): Move to targhooks.c. * toplev.h (skip_leading_substring): Move to tree-dump.c. (warn_deprecated_use): Move to tree.h. (output_quoted_string): Move to output.h. (main_input_filename, main_input_basename, main_input_baselength): Move to common.opt. (default_get_pch_validity, default_pch_valid_p): Move to targhooks.c. * tree-dump.c (skip_leading_substring): Move from toplev.h. * tree.c (warn_deprecated_use): Move from toplev.c. * tree.h (warn_deprecated_use): Move from toplev.h. * c-typeck.c, config/alpha/alpha.c, config/arc/arc.c, config/arm/arm.c, config/avr/avr.c, config/bfin/bfin.c, config/cris/cris.c, config/crx/crx.c, config/fr30/fr30.c, config/frv/frv.c, config/h8300/h8300.c, config/ia64/ia64.c, config/iq2000/iq2000.c, config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c, config/m68k/m68k.c, config/mcore/mcore.c, config/mep/mep.c, config/microblaze/microblaze.c, config/mips/mips.c, config/mmix/mmix.c, config/mn10300/mn10300.c, config/moxie/moxie.c, config/pa/pa.c, config/pdp11/pdp11.c, config/picochip/picochip.c, config/s390/s390.c, config/score/score.c, config/sh/sh.c, config/sparc/sparc.c, config/spu/spu.c, config/stormy16/stormy16.c, config/v850/v850.c, config/vax/vax.c, config/xtensa/xtensa.c, gimple-low.c, graphite-sese-to-poly.c, plugin.c, tree-cfg.c, tree-inline.c, varasm.c, xcoffout.c: Don't include toplev.h. * Makefile.in (c-typeck.o, tree-inline.o, tree-cfg.o, gimple-low.o, graphite-sese-to-poly.o, targhooks.o, plugin.o, varasm.o, xcoffout.o): Update dependencies. * config/arm/t-arm (arm.o): Update dependencies. * config/spu/t-spu-elf (spu.o): Update dependencies. cp: * cp-objcp-common.c, lex.c, typeck.c: Don't include toplev.h. * Make-lang.in (cp/lex.o, cp/cp-objcp-common.o, cp/typeck2.o): Update dependencies. java: * jcf-parse.c: Don't include toplev.h. * Make-lang.in (java/jcf-parse.o): Don't depend on toplev.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167329 138bc75d-0d04-0410-961f-82ee72b054a4
* * common.opt (initial_max_fld_align, flag_debug_asm,jsm282010-11-241-3/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | flag_dump_rtl_in_asm, flag_dump_all_passed, rtl_dump_and_exit, flag_print_asm_name, graph_dump_format, help_printed, help_columns, flag_opts_finished): New Variable entries. (fdbg-cnt-list, fdbg-cnt=, fdebug-prefix-map=, frandom-seed, frandom-seed=): Mark deferred. (fsched-verbose=): Use UInteger and Var. * flags.h (set_struct_debug_option, flag_print_asm_name, rtl_dump_and_exit, flag_debug_asm, flag_dump_rtl_in_asm, graph_dump_format): Don't declare here. * haifa-sched.c (sched_verbose_param, fix_sched_param): Remove. * opts-global.c: Include dbgcnt.h and debug.h. (decode_options): Pass location to finish_options. (handle_common_deferred_options): Check flag_dump_all_passed. Handle OPT_fdbg_cnt_, OPT_fdbg_cnt_list, OPT_fdebug_prefix_map_, OPT_frandom_seed and OPT_frandom_seed_. Don't assert on OPT_fstack_limit. * opts.c: Don't include toplev.h, dbgcnt.h or debug.h. (set_struct_debug_option): Add location_t parameter. Update recursive call. Use error_at. (default_options_optimization): Use error_at. (finish_options): Add location_t parameter. Use opts->x_flag_opts_finished instead of first_time_p. Use opts->x_optimize instead of optimize. Use error_at. Pass location to inform. (print_filtered_help): Use opts->x_help_printed to track what options have been printed. (print_specific_help): Use opts->x_help_columns to track number of columns. (common_handle_option): Pass locations and gcc_options pointers to more functions. Use warning_at instead of fnotice and warning. Don't handle OPT_fdbg_cnt_, OPT_fdbg_cnt_list or OPT_fdebug_prefix_map_. Use error_at. Set opts->x_initial_max_fld_align; don't set maximum_field_alignment. Don't handle OPT_frandom_seed or OPT_frandom_seed_. Don't handle OPT_fsched_verbose_. (handle_param): Add location_r parameter. Use error_at. (set_debug_level): Add location_r parameter. Use error_at and warning_at. (setup_core_dumping): Add diagnostic_context parameter. (decode_d_option): Add gcc_options, location_t and diagnostic_context parameters and use them instead of global state. Use warning_at. (enable_warning_as_error): Use error_at. * opts.h (finish_options): Update prototype. (set_struct_debug_option): Declare here. * rtl.h (fix_sched_param): Remove. * stor-layout.c (initial_max_fld_align): Remove. * toplev.c (rtl_dump_and_exit, flag_print_asm_name, graph_dump_format, flag_debug_asm, flag_dump_rtl_in_asm): Remove. (process_options): Set maximum_field_alignment. * tree.h (initial_max_fld_align) Don't declare here. * Makefile.in (opts.o, opts-global.o): Update dependencies. c-family: * c-opts.c (c_common_handle_option): Pass location to set_struct_debug_option. testsuite: * gcc.dg/opts-5.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167106 138bc75d-0d04-0410-961f-82ee72b054a4
* * flag-types.h (struct visibility_flags): Don't declare here.jsm282010-11-241-1/+301
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * flags.h (strip_off_ending, fast_math_flags_set_p, fast_math_flags_struct_set_p): Declare here. (visibility_options): Don't declare here. * opts-common.c (option_enabled, get_option_state): Move from opts.c. * opts-global.c: Include diagnostic.h instead of diagnostic-core.h. Include tree.h, langhooks.h, lto-streamer.h and toplev.h. (const_char_p, ignored_options, in_fnames, num_in_fnames, write_langs, complain_wrong_lang, postpone_unknown_option_warning, print_ignored_options, unknown_option_callback, post_handling_callback, lang_handle_option, add_input_filename, read_cmdline_options, initial_lang_mask, init_options_once, decode_cmdline_options_to_array_default_mask, set_default_handlers, decode_options): Move from opts.c. (print_ignored_options): Use warning_at instead of saving and restoring input_location. * opts.c: Include <signal.h> and <sys/resource.h>. Include rtl.h instead of expr.h. Don't include langhooks.h, except.h or lto-streamer.h. Add more comments on includes. (strip_off_ending, setup_core_dumping, decode_d_option): Move from toplev.c. (visibility_options): Move to c-family/c-common.c. (const_char_p, ignored_options, in_fnames, num_in_fnames, write_langs, complain_wrong_lang, postpone_unknown_option_warning, print_ignored_options, unknown_option_callback, post_handling_callback, lang_handle_option, add_input_filename, read_cmdline_options, initial_lang_mask, init_options_once, decode_cmdline_options_to_array_default_mask, set_default_handlers, decode_options): Move to opts-global.c. (target_handle_option, default_options_optimization, finish_options, common_handle_option): Remove static. (option_enabled, get_option_state): Move to opts-common.c. * opts.h (common_handle_option, target_handle_option, finish_options, default_options_optimization): Declare. * toplev.c: Don't include <signal.h> or <sys/resource.h>. (setup_core_dumping, strip_off_ending, decode_d_option): Move to opts.c. * toplev.h (strip_off_ending, decode_d_option, fast_math_flags_set_p, fast_math_flags_struct_set_p): Don't declare here. * Makefile.in (opts.o, opts-global.o): Update dependencies. c-family: * c-common.c (visibility_options): Move from ../opts.c. * c-common.h (struct visibility_flags, visibility_options): Declare here. * c-opts.c (finish_options): Rename to c_finish_options. (c_common_init): Update call to finish_options. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167105 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/options.texi (Var): Document effects of Defer.jsm282010-11-191-0/+105
(Defer): Document. * opt-functions.awk (var_type, var_set): Handle deferred options. * opts-common.c (set_option): Handle CLVC_DEFER. * common.opt (fcall-saved-, fcall-used-, fdump-, ffixed-, fplugin=, fplugin-arg-, fstack-limit, fstack-limit-register=, fstack-limit-symbol=): Mark as deferred. * opts.c: Don't include rtl.h, ggc.h, output.h, tree-pass.h or plugin.h. (print_filtered_help): Don't report state of CLVC_DEFER options. (common_handle_option): Move code for OPT_fcall_used_, OPT_fcall_saved_, OPT_fdump_, OPT_ffixed_, OPT_fplugin_, OPT_fplugin_arg_, OPT_fstack_limit, OPT_fstack_limit_register_ and OPT_fstack_limit_symbol_ to opts-global.c. (option_enabled, get_option_state): Handle CLVC_DEFER. * opts.h: Include vec.h. (enum cl_var_type): Add CLVC_DEFER. (cl_deferred_option): Define type and vectors. (handle_common_deferred_options): Declare. * opts-global.c: New. * toplev.c (toplev_main): Call handle_common_deferred_options * Makefile.in (OPTS_H): Include $(VEC_H). (OBJS-common): Include opts-global.o. (opts.o): Update dependencies. (opts-global.o): Add dependencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166942 138bc75d-0d04-0410-961f-82ee72b054a4