Commit Graph

56 Commits

Author SHA1 Message Date
Manuel López-Ibáñez 9b095bf15c c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
2012-05-17  Manuel López-Ibáñez  <manu@gcc.gnu.org>

c-family/
	* c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
	* c-opts.c (c_common_handle_option): Do not handle explicitly
	Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
gcc/
	* opts.c (common_handle_option): -pedantic-errors enables -Wpedantic.
	(enable_warning_as_error): Do not special case Wuninitialized.
	* optc-gen.awk: Add sanity checks.

From-SVN: r187628
2012-05-17 11:50:37 +00:00
Manuel López-Ibáñez f2bc201f53 re PR c/53063 (encode group options in the .opt files)
2012-05-14  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR 53063
c-family/
	* c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
	Wreorder): Use LangEnabledBy.
	* c-opts.c (c_common_handle_option): Do not enable them
	explicitly. Call lang-specific generated functions.
	(c_common_post_options): Do not set them here.
gcc/
	* doc/options.texi: (LangEnabledBy): Document it.
	* optc-gen.awk: Handle LangEnabledBy.
	* opth-gen.awk: Generate declaration for lang-specific functions.
	* opt-read.awk: Record lang numbers.
	* opt-functions.awk (flag_set_p): Ignore the arguments of flags.
	(lang_sanitized_name): New.
ada/
	* gcc-interface/misc.c: Include opts.h and options.h before tm.h.
	(gnat_handle_option): Call lang-specific generated function.
fortran/
	* options.c (gfc_handle_option): Call lang-specific generated function.

From-SVN: r187462
2012-05-14 13:30:32 +00:00
Manuel López-Ibáñez 71caddc556 optc-gen.awk: Error instead of warning for conflicting help.
2012-05-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>

gcc/
	* optc-gen.awk: Error instead of warning for conflicting help.
ada/
	* gcc-interface/lang.opt (I): Comment out help text with no effect.
	(nostdinc): Comment out help text with no effect.

From-SVN: r187437
2012-05-13 11:10:49 +00:00
Manuel López-Ibáñez 7d5a5747fc re PR c/53063 (encode group options in the .opt files)
2012-05-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR 53063
gcc/
	* doc/options.texi (EnabledBy): Document
	* opts.c: Include opts.h and options.h before tm.h.
	(finish_options): Do not handle some sub-options here...
	(common_handle_option): ... instead call common_handle_option_auto here.
	* optc-gen.awk: Handle EnabledBy.
	* opth-gen.awk: Declare common_handle_option_auto.
	* common.opt (Wuninitialized): Use EnabledBy. Delete Init.
	(Wmaybe-uninitialized): Likewise.
        (Wunused-but-set-variable): Likewise.
        (Wunused-function): Likewise.
        (Wunused-label): Likewise.
        (Wunused-value): Likewise.
        (Wunused-variable): Likewise.
        * opt-read.awk: Create opt_numbers array.
ada/
	* gcc-interface/misc.c (gnat_parse_file): Move before ...
	(gnat_handle_option): ... this. Use handle_generated_option.
c-family/
	* c-opts.c (c_common_handle_option): Use handle_generated_option
	to enable sub-options.
fortran/
	* options.c: Include diagnostics.h instead of
	diagnostics-core.h.
	(set_Wall): Do not see warn_unused here.
	(gfc_handle_option): Set it here using handle_generated_option.

From-SVN: r187403
2012-05-11 12:23:50 +00:00
Gary Funck 58265ea647 opts.c (print_specific_help): Fix off-by-one compare in assertion check.
2011-09-02  Gary Funck <gary@intrepid.com>

	* opts.c (print_specific_help): Fix off-by-one compare in
	assertion check.
	* opts.h (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER,
	CL_TARGET, CL_COMMON, CL_JOINED, CL_SEPARATE, CL_UNDOCUMENTED):
	Increase by +5 to allow for more languages.
	* optc-gen.awk: Generate #if that ensures that the number of
	languages is within the implementation-defined limit.

From-SVN: r178491
2011-09-02 21:19:17 +00:00
Joern Rennecke c344a86637 genattr.c (write_upcase, [...]): Move to ...
* genattr.c (write_upcase, gen_attr <enum definition writing>):
        Move to ...
        * genattr-common.c ... here.
        (main): Call gen_attr.
        * optc-gen.awk: Make generated program include insn-attr-common.h .
        * Makefile.in (oprions.o): Depend on insn-attr-common.h

From-SVN: r176769
2011-07-25 22:32:56 +01:00
Joseph Myers 57dfdff000 optc-save-gen.awk: New.
* optc-save-gen.awk: New.  Based on optc-gen.awk.  Don't generate
	parts of output shared with the driver.
	* optc-gen.awk: Don't generate parts of output not shared with the
	driver.
	* opth-gen.awk: Remove GCC_DRIVER conditionals.
	* doc/options.texi (SourcerInclude): Mention options-save.c.
	* Makefile.in (GCC_OBJS): Use options.o instead of gcc-options.o.
	(OBJS): Add options-save.o.
	(options-save.c, options-save.o): New.
	(options.o): Update dependencies.
	(gcc-options.o): Remove.
	(mostlyclean): Remove options-save.c.

From-SVN: r174085
2011-05-23 20:06:48 +01:00
Joseph Myers 86fa5de4fc opt-read.awk: New.
* opt-read.awk: New.  Split out of optc-gen.awk and opth-gen.awk.
	* optc-gen.awk: Move common code to opt-read.awk.
	* opth-gen.awk: Likewise.
	* Makefile.in (options.c, s-options-h): Update to use
	opt-read.awk.

From-SVN: r173995
2011-05-21 12:34:29 +01:00
Joseph Myers c860fe8c6c opt-functions.awk (var_type_struct): Handle Enum options.
* opt-functions.awk (var_type_struct): Handle Enum options.
	* optc-gen.awk: Don't check range of variables of character type.
	* config/rs6000/rs6000.c (rs6000_sched_insert_nops_str,
	rs6000_sched_costly_dep_str, rs6000_recip_name, rs6000_abi_name,
	rs6000_sdata_name, rs6000_explicit_options): Remove.
	(rs6000_option_override_internal): Check for -malign-power here.
	Use global_options_set instead of rs6000_explicit_options.
	(rs6000_parse_fpu_option): Remove.
	(rs6000_handle_option): Access variables via opts and opts_set
	pointers.  Use error_at and warning_at.  Add fall-through
	comments.  Don't handle OPT_mcmodel_, OPT_maix_struct_return,
	OPT_msvr4_struct_return, OPT_mvrsave, OPT_mspe, OPT_mcall_,
	OPT_msdata_, OPT_mtls_size_, OPT_mtraceback_, OPT_mfloat_gprs_,
	OPT_msched_costly_dep_, OPT_malign_ or OPT_mrecip_ explicitly
	here.  Don't use rs6000_parse_fpu_option.
	* config/rs6000/rs6000.h (fpu_type): Remove declaration.
	* config/rs6000/rs6000.opt (rs6000_long_double_type_size,
	rs6000_spe, rs6000_float_gprs): Remove TargetVariable entries.
	(mrecip=): Use Var.
	(mspe): Use Var and Save.
	(mtraceback=): Use Enum and Var.
	(rs6000_traceback_type): New Enum and EnumValue entries.
	(mfloat-gprs=): Use Enum, Var and Save.
	(rs6000_float_gprs): New Enum and EnumValue entries.
	(mlong-double-): use Var and Save.
	(msched-costly-dep=, minsert-sched-nops=): Use Var.
	(malign-): Use Enum and Var.
	(rs6000_alignment_flags): New Enum and EnumValue entries.
	(mfpu=): Use Enum.
	(fpu_type_t): New Enum and EnumValue entries.
	* config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Use
	global_options_set instead of rs6000_explicit_options.
	* config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Use
	global_options_set instead of rs6000_explicit_options.
	* config/rs6000/aix53.h (SUBTARGET_OVERRIDE_OPTIONS): Use
	global_options_set instead of rs6000_explicit_options.
	* config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Use
	global_options_set instead of rs6000_explicit_options.
	* config/rs6000/e500-double.h (SUB3TARGET_OVERRIDE_OPTIONS): Use
	global_options_set instead of rs6000_explicit_options.
	* config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
	global_options_set instead of rs6000_explicit_options.
	(RS6000_DEFAULT_LONG_DOUBLE_SIZE): Remove commented-out
	definition.
	* config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
	global_options_set instead of rs6000_explicit_options.
	* config/rs6000/linux64.opt (mcmodel=): Use Enum and Var.
	(rs6000_cmodel): New Enum and EnumValue entries.
	* config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
	global_options_set instead of rs6000_explicit_options.
	* config/rs6000/sysv4.opt (mcall-, msdata=): Use Var.
	(mtls-size=): Use Enum and Var.
	(rs6000_tls_size): New Enum and EnumValue entries.

From-SVN: r173434
2011-05-05 15:59:55 +01:00
Joseph Myers 24f48c2f53 optc-gen.awk: Always remove type from Variable entry before recording in var_seen.
* optc-gen.awk: Always remove type from Variable entry before
	recording in var_seen.

From-SVN: r171938
2011-04-04 15:18:31 +01:00
Joseph Myers 300d83d9de opts.h (cl_option): Add comments to fields.
* opts.h (cl_option): Add comments to fields.  Add bit-fields for
	various flags.
	(CL_SEPARATE_NARGS_SHIFT, CL_SEPARATE_NARGS_MASK,
	CL_SEPARATE_ALIAS, CL_NO_DRIVER_ARG, CL_REJECT_DRIVER, CL_SAVE,
	CL_DISABLED, CL_REPOR, CL_REJECT_NEGATIVE, CL_MISSING_OK,
	CL_UINTEGER, CL_NEGATIVE_ALIAS): Remove.
	(CL_JOINED, CL_SEPARATE, CL_UNDOCUMENTED): Update bit positions.
	* opt-functions.awk (flag_init, switch_bit_fields): New.
	(switch_flags): Don't handle flags moved to bit-fields.  Don't
	generate CL_MISSING_OK or CL_SAVE.
	* optc-gen.awk: Update to generate bit-field output as well as
	flags field.
	* gcc.c (driver_wrong_lang_callback): Use cl_reject_driver
	bit-field instead of CL_REJECT_DRIVER flag.
	* opts-common.c (generate_canonical_option,
	decode_cmdline_option): Use bit-fields instead of CL_* flags.
	* opts.c (maybe_default_option): Use cl_reject_negative bit-field
	instead of CL_REJECT_NEGATIVE flag.
	* toplev.c (print_switch_values): Use cl_report bit-field instead
	of CL_REPORT flag.

From-SVN: r171804
2011-03-31 23:37:14 +01:00
Joseph Myers 666a21a299 options.texi (NegativeAlias): Document.
* doc/options.texi (NegativeAlias): Document.
	(Alias): Mention NegativeAlias.
	* opt-functions.awk: Handle NegativeAlias.
	* optc-gen.awk: Disallow NegativeAlias with multiple Alias
	arguments.
	* opts-common.c (decode_cmdline_option): Handle CL_NEGATIVE_ALIAS.
	* opts.h (CL_NEGATIVE_ALIAS): Define.
	* config/rs6000/rs6000.c (rs6000_parse_yes_no_option): Remove.
	(rs6000_handle_option): Don't handle OPT_mvrsave_, OPT_misel_ and
	OPT_mspe_.
	* config/rs6000/rs6000.opt (mvrsave=, misel=, mspe=): Replace with
	Alias entries.
	* config/rs6000/t-spe (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
	mno-spe and mno-isel instead of mspe=no and -misel=no.

From-SVN: r171745
2011-03-30 20:42:51 +01:00
Ian Lance Taylor 5e46b0c65b common.opt (fcx-limited-range): Add SetByCombined flag.
* common.opt (fcx-limited-range): Add SetByCombined flag.
	(ffinite-math-only, fmath-errno, frounding-math): Likewise.
	(fsignaling-nans, fsigned-zeros, ftrapping-math): Likewise.
	(fassociative-math, freciprocal-math): Likewise.
	(funsafe-math-optimizations): Likewise.
	* opth-gen.awk: Handle SetByCombined.
	* optc-gen.awk: Likewise.
	* opts.c (set_fast_math_flags): Don't override flag if set by
	frontend.
	(set_unsafe_math_optimizations_flags): Likewise.
	* doc/options.texi (Option properties): Document SetByCombined.

From-SVN: r169930
2011-02-08 17:41:00 +00:00
Joseph Myers e6d4b9841c options.texi (Enum, EnumValue): Document new record types.
* doc/options.texi (Enum, EnumValue): Document new record types.
	(Enum): Document new option flag.
	* opt-functions.awk
	* optc-gen.awk: Handle enumerated option arguments.
	* opth-gen.awk: Handle enumerated option arguments.
	* opts-common.c (enum_arg_ok_for_language, enum_arg_to_value,
	enum_value_to_arg): New.
	(decode_cmdline_option): Handle enumerated arguments.
	(read_cmdline_option): Handle CL_ERR_ENUM_ARG.
	(set_option, option_enabled, get_option_state): Handle CLVC_ENUM.
	* opts.c (print_filtered_help, print_specific_help): Take
	lang_mask arguments.
	(print_filtered_help): Handle printing values of enumerated
	options.  Print possible arguments for enumerated options.
	(print_specific_help): Update call to print_filtered_help.
	(common_handle_option): Update calls to print_specific_help.  Use
	value rather than arg for OPT_fdiagnostics_show_location_.  Don't
	handle OPT_ffp_contract_, OPT_fexcess_precision_,
	OPT_fvisibility_, OPT_ftls_model_, OPT_fira_algorithm_ or
	OPT_fira_region_ here.
	* opts.h (enum cl_var_type): Add CLVC_ENUM.
	(struct cl_option): Add var_enum.
	(CL_ENUM_CANONICAL, CL_ENUM_DRIVER_ONLY, struct cl_enum_arg,
	struct cl_enum, cl_enums, cl_enums_count): New.
	(CL_ERR_ENUM_ARG): Define.
	(CL_ERR_NEGATIVE): Update value.
	(enum_value_to_arg): Declare.
	* common.opt (flag_ira_algorithm, flag_ira_region,
	flag_fp_contract_mode, flag_excess_precision_cmdline,
	default_visibility, flag_tls_default): Remove Variable entries.
	(help_enum_printed): New Variable.
	(fdiagnostics-show-location=): Use Enum.  Add associated
	SourceInclude, Enum and EnumValue entries.
	(fexcess-precision=, ffp-contract=, fira-algorithm=, fira-region=,
	ftls-model=, fvisibility=): Use Enum, Var and Init.  Add
	associated Enum and EnumValue entries.

po:
	* exgettext: Handle UnknownError.

From-SVN: r167190
2010-11-26 23:18:28 +00:00
Michael Meissner fd438373cd Add PowerPC target attribute/pragma support
From-SVN: r166947
2010-11-19 17:27:18 +00:00
Joseph Myers 69ccdddbb8 common.opt (debug_struct_ordinary, [...]): New Variable entries.
* common.opt (debug_struct_ordinary, debug_struct_generic): New
	Variable entries.
	* dwarf2out.c (matches_main_base, dump_struct_debug, DUMP_GSTRUCT,
	should_emit_struct_debug): Move from opts.c.
	* flag-types.h (enum debug_struct_file): Move from opts.c.
	* flags.h (should_emit_struct_debug): Remove.
	(base_of_path): Declare.
	(set_struct_debug_option): Add gcc_options parameter.
	* optc-gen.awk, opth-gen.awk: Handle array variables.
	* opts.c (enum debug_struct_file, debug_struct_ordinary,
	debug_struct_generic): Remove.
	(set_struct_debug_option): Add gcc_options parameter.
	(base_of_path): Remove static.
	(main_input_basename, main_input_baselength, matches_main_base,
	dump_struct_debug, DUMP_GSTRUCT, should_emit_struct_debug):
	Remove.
	* toplev.c (main_input_basename, main_input_baselength): Define
	here.
	* toplev.h (main_input_basename, main_input_baselength): Declare
	here.

c-family:
	* c-opts.c (c_common_handle_option): Update calls to
	set_struct_debug_option.

From-SVN: r166944
2010-11-19 13:30:38 +00:00
Ralf Wildenhues e4590d6388 Fix PR bootstrap/35855: awk character classes.
gcc/:
	PR bootstrap/35855
	* opt-functions.awk (BEGIN): New section.
	(lower, upper, digit, alnum): New variables.
	(static_var, opt_sanitized_name): Use alnum instead of character
	classes, for non-C locale.
	* optc-gen.awk: Likewise.
	* opth-gen.awk: Likewise.

From-SVN: r165322
2010-10-11 17:58:53 +00:00
Joseph Myers a75bfaa6cd Makefile.in (TM_H): Include $(FLAGS_H) instead of options.h.
* Makefile.in (TM_H): Include $(FLAGS_H) instead of options.h.
	(TREE_H): Include $(FLAGS_H) instead of options.h.
	(opts-common.o): Depend on $(FLAGS_H) instead of options.h.
	* c-objc-common.h (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
	* common.opt (flag_complex_method, flag_evaluation_order,
	flag_ira_algorithm, flag_ira_region, flag_warn_unused_result): New
	Variable declarations.
	* configure.ac (tm_include_list): Include flags.h instead of
	options.h.
	* configure: Regenerate.
	* flags.h: Condition out contents for target libraries.  Include
	options.h at end of file.
	(flag_complex_method, flag_ira_algorithm, flag_ira_region,
	flag_evaluation_order, flag_warn_unused_result): Remove.
	* gcc.c (main): Intialize global_options with global_options_init.
	* langhooks-def.h (lhd_init_options_struct): Declare.
	(LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
	(LANG_HOOKS_INITIALIZER): Include LANG_HOOKS_INIT_OPTIONS_STRUCT.
	* langhooks.c (lhd_init_options_struct): New.
	* langhooks.h (struct lang_hooks): Add init_options_struct.
	Update comment on init_options.
	* optc-gen.awk: Generate initializer for global_options_init, not
	global_options.
	* opth-gen.awk: Condition out structure declarations for target
	libraries.  Declare global_options_init.
	* opts-common.c: Include flags.h instead of options.h.
	* opts.c (flag_warn_unused_result): Remove.
	(read_cmdline_options): Take gcc_options parameters.  Pass them to
	read_cmdline_option.
	(initial_lang_mask, initial_min_crossjump_insns,
	initial_max_fields_for_field_sensitive,
	initial_loop_invariant_max_bbs_in_loop): Define at file scope.
	(init_options_once): New.  Split out of decode_options.
	(init_options_struct): New.  Split out of decode_options.
	(decode_cmdline_options_to_array_default_mask): New.
	(default_options_optimization): New.  Split out of decode_options.
	(decode_options): Move most code to other functions.  Update call
	to read_cmdline_options.
	(finish_options): New.  Split out of decode_options.
	* opts.h (decode_options): Add gcc_options parameters.
	(init_options_once, init_options_struct,
	decode_cmdline_options_to_array_default_mask): New.
	* toplev.c (flag_complex_method, flag_ira_algorithm,
	flag_ira_region, flag_evaluation_order): Remove.
	(general_init): Use global_options_init for initial flag values
	for global_dc.
	(toplev_main): Call init_options_once, init_options_struct,
	lang_hooks.init_options_struct,
	decode_cmdline_options_to_array_default_mask and
	lang_hooks.init_option before decode_options.  Update arguments to
	decode_options.
	* tree.h: Include flags.h instead of options.h.

ada:
	* gcc-interface/misc.c (gnat_init_options_struct): New.  Split out
	from gnat_init_options.
	(LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.

c-family:
	* c-common.c (parse_optimize_options): Call
	decode_cmdline_options_to_array_default_mask before
	decode_options.  Update arguments to decode_options.
	* c-common.h (c_common_init_options_struct): Declare.
	* c-opts.c (c_common_init_options_struct): New.  Split out from
	c_common_init_options.

cp:
	* cp-objcp-common.h (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.

fortran:
	* f95-lang.c (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
	* gfortran.h (gfc_init_options_struct): Declare.
	* options.c (gfc_init_options_struct): New.  Split out from
	gfc_init_options.

java:
	* lang.c (java_init_options_struct): New.  Split out from
	java_init_options.
	(LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.

lto:
	* lto-lang.c (lto_init_options): Change to
	lto_init_options_struct.  Update parameters.
	(LANG_HOOKS_INIT_OPTIONS): Don't define.
	(LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.

From-SVN: r165189
2010-10-08 16:17:32 +01:00
Joseph Myers d4d24ba450 optc-gen.awk: Define global_options_set.
* optc-gen.awk: Define global_options_set.  Don't define
	target_flags_explicit.
	* opth-gen.awk: Declare global_options_set.  Define
	target_flags_explicit as macro.
	* opts-common.c (handle_option): Take opts_set and generated_p
	parameters.
	(handle_generated_option, read_cmdline_option, set_option): Take
	opts_set parameter.
	(set_option): Use opts_set instead of hardcoding target_flags and
	target_flags_explicit.
	* opts.c (sel_sched_switch_set, profile_arc_flag_set,
	flag_profile_values_set, flag_unroll_loops_set, flag_tracer_set,
	flag_value_profile_transformations_set, flag_peel_loops_set,
	flag_branch_probabilities_set, flag_inline_functions_set,
	flag_ipa_cp_set, flag_ipa_cp_clone_set,
	flag_predictive_commoning_set, flag_unswitch_loops_set,
	flag_gcse_after_reload_set): Remove.
	(common_handle_option, lang_handle_option, target_handle_option):
	Take opts_set parameter.  Assert that it is &global_options_set.
	(common_handle_option): Don't set _set variables.  Check opts_set
	instead of such variables.
	(enable_warning_as_error): Pass &global_options_set to
	handle_generated_option.
	* opts.h (cl_option_handler_func.handler, set_option,
	handle_option, handle_generated_option, read_cmdline_option): Add
	opts_set parameters.
	(handle_option): Add generated_p parameter.
	* config/i386/i386.c (ix86_function_specific_save,
	ix86_function_specific_restore): Updat for renaming of
	target_flags_explicit field.
	* config/i386/i386.opt (target_flags_explicit): Rename to
	ix86_target_flags_explicit.
	* config/ia64/ia64.c (ia64_override_options_after_change): Check
	global_options_set.x_flag_selective_scheduling and
	global_options_set.x_flag_selective_scheduling2, not
	sel_sched_switch_set.
	* flags.h (sel_sched_switch_set,
	flag_speculative_prefetching_set): Remove.
	* gcc.c (driver_handle_option): Take opts_set parameter.  Assert
	that it is &global_options_set.
	(process_command): Pass &global_options_set to
	read_cmdline_option.
	* lto-opts.c (lto_reissue_options): Pass &global_options_set to
	set_option.
	* toplev.c (target_flags_explicit): Remove.

c-family:
	* c-opts.c (c_common_handle_option): Pass &global_options_set to
	handle_generated_option.

From-SVN: r164932
2010-10-04 12:51:00 +01:00
Joseph Myers 46625112d2 opt-functions.awk (static_var): Update comment.
* opt-functions.awk (static_var): Update comment.
	(var_ref): Return offsetof expression or -1, not variable address.
	* optc-gen.awk: Generate structure field initializers instead of
	static variables.  Expect -1 for missing variables instead of null
	pointer.  Add gcc_options parameters to generated functions.
	* opth-gen.awk: Generate structure fields for static variables.
	Add gcc_options parameters to generated functions.
	* common.opt (optimize, optimize_size): Add variables.
	* config/i386/i386-c.c (ix86_pragma_target_parse): Pass
	&global_options to cl_target_option_restore.
	* config/i386/i386.c (ix86_valid_target_attribute_p): Pass
	&global_options to cl_optimization_restore, cl_target_option_save
	and cl_target_option_restore.
	(ix86_set_current_function): Pass &global_options to
	cl_target_option_restore.
	* config/pdp11/pdp11.h (optimize): Remove.
	* config/rs6000/rs6000.h (optimize): Remove.
	* config/sh/sh.h (optimize): Remove.
	* config/xtensa/xtensa.h (optimize): Remove.
	* coretypes.h (struct gcc_options): Declare.
	* diagnostic.c (diagnostic_initialize): Initialize
	context->option_state.
	(diagnostic_report_diagnostic): Pass option_state to
	option_enabled hook.
	* diagnostic.h (diagnostic_context.option_enabled): Add void *
	parameter.
	(diagnostic_context.option_state): New field.
	* final.c (final_start_function, final, final_scan_insn): Rename
	optimize parameter to optimize_p.
	* flags.h (optimize, optimize_size): Remove.
	* function.c (invoke_set_current_function_hook): Pass
	&global_options to cl_optimization_restore.
	* gcc.c (driver_handle_option): Take gcc_options parameter.
	Assert that it is &global_options.
	(process_command): Pass &global_options to read_cmdline_option.
	* ipa-pure-const.c (suggest_attribute): Pass &global_options to
	option_enabled.
	* lto-opts.c (lto_reissue_options): Use option_flag_var.  Pass
	&global_options to set_option.
	* opts-common.c (handle_option, handle_generated_option,
	read_cmdline_option, set_option): Take explicit gcc_options
	parameters.  Use option_flag_var.
	(option_flag_var): New.
	* opts.c (common_handle_option, lang_handle_option,
	target_handle_option): Take gcc_options parameter.  Assert that it
	is &global_options.
	(read_cmdline_options): Pass &global_options to
	read_cmdline_option.
	(print_filtered_help): Use option_flag_var.  Pass &global_options
	to option_enabled.
	(common_handle_option): Use option_flag_var.
	(option_enabled): Take opts parameter.  Use option_flag_var.
	(get_option_state): Take gcc_options parameter.  Use
	option_flag_var.  Pass gcc_options parameter to option_enabled.
	(enable_warning_as_error): Pass &global_options to
	handle_generated_option.
	* opts.h (struct cl_option): Change flag_var to flag_var_offset.
	(cl_option_handler_func.handler): Take gcc_options parameter.
	(option_enabled, get_option_state, set_option, handle_option,
	handle_generated_option, read_cmdline_option): Take gcc_options
	parameters.
	* toplev.c (optimize, optimize_size): Remove.
	(print_switch_values): Pass &global_options to option_enabled.
	(option_affects_pch_p): Use option_flag_var.  Pass &global_options
	to get_option_state.
	(general_init): Initialize global_dc->option_state.
	* tree.c (build_optimization_node): Pass &global_options to
	cl_optimization_save.
	(build_target_option_node): Pass &global_options to
	cl_target_option_save.

c-family:
	* c-common.c (handle_optimize_attribute): Pass &global_options to
	cl_optimization_save and cl_optimization_restore.
	* c-opts.c (c_common_handle_option): Pass &global_options to
	handle_generated_option.
	* c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
	(handle_pragma_pop_options, handle_pragma_reset_options): Pass
	&global_options to cl_optimization_restore.

From-SVN: r164751
2010-09-30 14:53:12 +01:00
Joseph Myers e3339d0f33 optc-gen.awk: Generate global_options initializer instead of individual variables.
gcc:
	* optc-gen.awk: Generate global_options initializer instead of
	individual variables.  Add x_ prefix to names of structure
	members.
	* opth-gen.awk: Generate gcc_options structure.  Add x_ prefix to
	names of structure members.
	* doc/tm.texi.in (HARD_FRAME_POINTER_IS_FRAME_POINTER,
	HARD_FRAME_POINTER_IS_ARG_POINTER): Document.
	* doc/tm.texi: Regenerate.
	* alias.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
	* builtins.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER.
	* c-parser.c (disable_extension_diagnostics,
	restore_extension_diagnostics): Update names of cpp_options
	members.
	* combine.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
	* common.opt (fcompare-debug-second): Don't use Var.
	* config/alpha/alpha.h (target_flags): Remove.
	* config/arm/arm.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
	HARD_FRAME_POINTER_IS_ARG_POINTER): Define.
	* config/bfin/bfin.h (target_flags): Remove.
	* config/cris/cris.h (target_flags): Remove.
	* config/i386/i386-c.c (ix86_pragma_target_parse): Update names of
	cl_target_option members.
	* config/i386/i386.c (ix86_force_align_arg_pointer): Remove.
	(ix86_function_specific_print, ix86_valid_target_attribute_tree,
	ix86_can_inline_p): Update names of cl_target_option members.
	* config/i386/i386.h (ix86_isa_flags): Remove.
	* config/lm32/lm32.h (target_flags): Remove.
	* config/mcore/mcore.h (mcore_stack_increment): Remove.
	* config/mcore/mcore.md (addsi3): Remove extern declaration of
	flag_omit_frame_pointer.
	* config/mep/mep.h (target_flags): Remove.
	* config/mips/mips.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
	HARD_FRAME_POINTER_IS_ARG_POINTER): Define.
	* config/mmix/mmix.h (target_flags): Remove.
	* config/rs6000/rs6000.h (rs6000_xilinx_fpu, flag_pic,
	flag_expensive_optimizations): Remove.
	* config/s390/s390.h (flag_pic): Remove.
	* config/score/score-conv.h (target_flags): Remove.
	* config/sh/sh.h (sh_fixed_range_str): Remove.
	* config/spu/spu.h (target_flags, spu_fixed_range_string): Remove.
	* dbxout.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER
	* df-scan.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
	* diagnostic.c (diagnostic_initialize): Update names of
	diagnostic_context members.
	* diagnostic.h (diagnostic_context): Rename inhibit_warnings and
	warn_system_headers.
	(diagnostic_report_warnings_p): Update for new names.
	* dwarf2out.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER
	* emit-rtl.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER and
	HARD_FRAME_POINTER_IS_ARG_POINTER.
	* flags.h (flag_compare_debug): Declare.
	* ira.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
	* opts.c (flag_compare_debug): Define.
	(common_handle_option): Update names of diagnostic_context
	members.  Handle -fcompare-debug-second.
	(fast_math_flags_struct_set_p): Update names of cl_optimization
	members.
	* reginfo.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
	* regrename.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
	* reload.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
	* reload1.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
	* resource.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
	* rtl.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
	HARD_FRAME_POINTER_IS_ARG_POINTER): Define and use.
	* sel-sched.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
	* stmt.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER.

gcc/c-family:
	* c-common.c (c_cpp_error): Update names of diagnostic_context
	members.
	* c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
	cl_optimization members.
	* c-opts.c (warning_as_error_callback, c_common_handle_option,
	sanitize_cpp_opts, finish_options): Update names of cpp_options
	members.

gcc/fortran:
	* cpp.c (cpp_define_builtins): Update names of gfc_option_t
	members.
	(gfc_cpp_post_options): Update names of cpp_options members.
	(cb_cpp_error): Update names of diagnostic_context members.
	* f95-lang.c (gfc_init_builtin_functions): Update names of
	gfc_option_t members.
	* gfortran.h (gfc_option_t): Rename warn_conversion and
	flag_openmp.
	* intrinsic.c (gfc_convert_type_warn): Update names of
	gfc_option_t members.
	* options.c (gfc_init_options, gfc_post_options, set_Wall,
	gfc_handle_option): Update names of gfc_option_t members.
	* parse.c (next_free, next_fixed): Update names of gfc_option_t
	members.
	* scanner.c (pedantic): Remove extern declaration.
	(skip_free_comments, skip_fixed_comments, include_line): Update
	names of gfc_option_t members.
	* trans-decl.c (gfc_generate_function_code): Update names of
	gfc_option_t members.

gcc/java:
	* java-tree.h (flag_filelist_file, flag_assert, flag_jni,
	flag_force_classes_archive_check, flag_redundant, flag_newer,
	flag_use_divide_subroutine, flag_use_atomic_builtins,
	flag_use_boehm_gc, flag_hash_synchronization,
	flag_check_references, flag_optimize_sci, flag_indirect_classes,
	flag_indirect_dispatch, flag_store_check,
	flag_reduced_reflection): Remove.
	* jcf-dump.c (flag_newer): Remove.
	* jcf.h (quiet_flag): Remove.
	* parse.h (quiet_flag): Remove.

libcpp:
	* include/cpplib.h (cpp_options): Rename warn_deprecated,
	warn_traditional, warn_long_long and pedantic.
	* directives.c (directive_diagnostics, _cpp_handle_directive):
	Update names of cpp_options members.
	* expr.c (cpp_classify_number, eval_token): Update names of
	cpp_options members.
	* init.c (cpp_create_reader, post_options): Update names of
	cpp_options members.
	* internal.h (CPP_PEDANTIC, CPP_WTRADITIONAL): Update names of
	cpp_options members.
	* macro.c (parse_params): Update names of cpp_options members.

From-SVN: r164723
2010-09-29 15:49:14 +01:00
Joseph Myers e90afde6fe options.texi (Variable): Document.
* doc/options.texi (Variable): Document.
	* optc-gen.awk, opth-gen.awk: Handle Variable records.  Don't
	generate target_flags declarations explicitly.  Don't define
	VarExists variables for the driver.
	* common.opt (target_flags): New Variable record.
	(flag_dump_unnumbered, flag_dump_unnumbered_links,
	flag_var_tracking, flag_var_tracking_assignments,
	flag_var_tracking_assignments_toggle): Don't mark variables with
	VarExists.
	* config/i386/i386.c (ix86_isa_flags): Don't define here.
	* config/i386/i386.opt (ix86_isa_flags): Define here.
	* config/mcore/mcore.c (mcore_stack_increment): Don't define here.
	* config/mcore/mcore.opt (mcore_stack_increment): Don't mark with
	VarExists.
	* flags.h (flag_dump_unnumbered, flag_var_tracking): Remove.
	* print-rtl.c (flag_dump_unnumbered, flag_dump_unnumbered_links):
	Only define for generator programs.
	* rtlanal.c (target_flags): Remove.
	* toplev.c (flag_var_tracking, flag_var_tracking_assignments,
	flag_var_tracking_assignments_toggle): Remove.

From-SVN: r164370
2010-09-17 15:14:49 +01:00
Joseph Myers 2d2bd949ea opts.h (struct cl_option): Add warn_message field.
* opts.h (struct cl_option): Add warn_message field.
	(struct cl_decoded_option): Add warn_message field.
	* doc/options.texi (Ignore, Warn): Document.
	* opt-functions.awk (needs_state_p): Don't consider aliases or
	ignored options to need state saved.
	* optc-gen.awk: Handle Warn and Ignore.
	* opth-gen.awk: Output OPT_SPECIAL_ignore.
	* opts-common.c (decode_cmdline_option): Set warn_message field.
	Handle ignored options.
	(decode_cmdline_options_to_array, generate_option,
	generate_option_input_file): Set warn_message field.
	(read_cmdline_option): Generate warnings from warn_message field.
	Handle ignored options.
	* common.opt (Wunreachable-code, fargument-alias,
	fargument-noalias, fargument-noalias-global,
	fargument-noalias-anything, fcse-skip-blocks, fforce-addr,
	floop-optimize, frerun-loop-opt, fsched2-use-traces, fsee,
	fstrength-reduce, ftree-store-ccp, ftree-store-copy-prop,
	ftree-salias): Mark Ignore.
	* config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -mcpu,
	-mintel-syntax and -mno-intel-syntax here.
	* config/i386/i386.opt (mcpu=, mintel-syntax): Define as aliases
	using Warn.
	* opts.c (common_handle_option): Don't handle options marked as
	ignored.
	(enable_warning_as_error): Handle ignored options.

c-family:
	* c.opt (Wimport, fall-virtual, falt-external-templates,
	fdefault-inline, fenum-int-equiv, fexternal-templates,
	fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
	fname-mangling-version-, fnew-abi, fnonnull-objects,
	foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
	fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
	applicable.
	(fhandle-exceptions): Mark with Alias and Warn.
	* c-opts.c (c_common_handle_option): Don't handle options marked
	as ignored.

po:
	* exgettext: Handle {} in operand of MissingArgError.  Handle
	Warn.

From-SVN: r163771
2010-09-02 12:43:19 +01:00
Joseph Myers 5de8299cec re PR driver/44076 (-MT <target> behaves different as -MT<target> (w/o space))
PR driver/44076
	* opts.h (struct cl_option): Add alias_arg, neg_alias_arg and
	alias_target fields.
	* opt-functions.awk (opt_sanitized_name): Don't handle
	finline-limit=, Wlarger-than= and ftemplate-depth= specially.
	* optc-gen.awk: Generate alias fields.
	* opth-gen.awk: Explicitly give values for OPT_* enum constants.
	Don't generate such constants for aliases.
	* opts-common.c (generate_canonical_option): New.
	(decode_cmdline_option): Handle aliases.  Use
	generate_canonical_option for known options instead of copying the
	input option text.
	* doc/options.texi (Alias): Document.
	* common.opt (W, Wlarger-than-, aux-info=, finline-limit-,
	fstack-check, specs): Mark as aliases.
	* gcc.c (driver_handle_option): Canonicalize -L options to joined
	arguments.
	(driver_handle_option): Don't handle OPT_specs.
	* opts.c (common_handle_option): Don't handle options marked as
	aliases.
	(enable_warning_as_error): Handle aliases.
	* stor-layout.c (layout_decl): Use OPT_Wlarger_than_ instead of
	OPT_Wlarger_than_eq.
	* tree-optimize.c (tree_rest_of_compilation): Use
	OPT_Wlarger_than_ instead of OPT_Wlarger_than_eq.

c-family:
	* c.opt (Wcomments, Werror-implicit-function-declaration,
	ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
	std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
	aliases.
	* c-common.c (option_codes): Use OPT_Wcomment instead of
	OPT_Wcomments.
	* c-opts.c (warning_as_error_callback, c_common_handle_option):
	Don't handle options marked as aliases.

java:
	* lang.opt (CLASSPATH, bootclasspath, classpath, encoding,
	fCLASSPATH=): Mark as Java options and as aliases.
	* jvspec.c (jvgenmain_spec): Don't handle -fCLASSPATH*.
	(lang_specific_driver): Don't handle options marked as aliases.
	* lang.c (java_handle_option): Don't handle OPT_fCLASSPATH_.

testsuite:
	* gcc.dg/cpp/warn-comments-3.c: New.  Based on warn-comments-2.c
	but using -Werror=comment.
	* gcc.dg/cpp/warn-comments.c, gcc.dg/cpp/warn-comments-2.c: Adjust
	expected error messages.

From-SVN: r163770
2010-09-02 12:41:22 +01:00
Joseph Myers 5f20c6574d coretypes.h (struct cl_option_handlers): Declare.
* coretypes.h (struct cl_option_handlers): Declare.
	* hooks.c (hook_int_size_t_constcharptr_int_0): Remove.
	* hooks.h (hook_int_size_t_constcharptr_int_0): Remove.
	* langhooks-def.h (lhd_handle_option): Declare.
	(LANG_HOOKS_HANDLE_OPTION): Use lhd_handle_option.
	* langhooks.c (lhd_handle_option): New.
	* langhooks.h (struct lang_hooks): Update prototype and return
	value type of handle_option hook.
	* optc-gen.awk: Generate target_flags_explicit definition for the
	driver.
	* opts-common.c: Include diagnostic.h.
	(handle_option): Move from opts.c.  Update prototype and return
	value type.  Use handlers structure.
	(read_cmdline_option): Move from opts.c.  Update prototype.  Use
	handlers structure.
	(set_option): Move from opts.c.
	* opts.c (common_handle_option): Update prototype and return value
	type.  Update calls to handle_option and enable_warning_as_error.
	(unknown_option_callback, post_handling_callback,
	lang_handle_option, target_handle_option): New.
	(handle_option, read_cmdline_option): Move to opts-common.c.
	(read_cmdline_options): Update prototype.  Update call to
	read_cmdline_option.
	(decode_options): Initialize and use handlers structure.
	(set_option): Move to opts-common.c.
	(enable_warning_as_error): Update prototype.  Update call to
	handle_option.
	* opts.h (struct cl_option_handler_func, struct
	cl_option_handlers): New.
	(handle_option, enable_warning_as_error): Update prototypes.
	(read_cmdline_option): Declare.
	* Makefile.in (opts-common.o): Update dependencies.

ada:
	* gcc-interface/misc.c (gnat_handle_option): Update prototype and
	return value type.  Don't check for missing arguments here.

c-family:
	* c-common.h (c_common_handle_option): Update prototype and return
	value type.
	* c-opts.c (c_common_handle_option): Update prototype and return
	value type.  Update calls to handle_option and
	enable_warning_as_error.

fortran:
	* gfortran.h (gfc_handle_option): Update prototype and return
	value type.
	* options.c (gfc_handle_option): Update prototype and return value
	type.

java:
	* lang.c (java_handle_option): Update prototype and return value
	type.

lto:
	* lto-lang.c (lto_handle_option): Update prototype and return
	value type.  Remove duplicate assignment to result.

From-SVN: r162601
2010-07-27 22:23:53 +01:00
Joseph Myers 61ff2bdc6c common.opt (o): Add MissingArgError.
* common.opt (o): Add MissingArgError.
	* doc/options.texi (MissingArgError): Document.
	* hooks.c (hook_bool_constcharptr_size_t_false): Remove.
	* hooks.h (hook_bool_constcharptr_size_t_false): Remove.
	* langhooks-def.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
	(LANG_HOOKS_INITIALIZER): Remove missing_argument hook
	initializer.
	* langhooks.h (struct lang_hooks): Remove missing_argument.
	* optc-gen.awk: Handle MissingArgError and output new structure
	field initializers.
	* opts.c (read_cmdline_option): Use missing_argument_error field
	instead of missing_argument langhook.
	* opts.h (struct cl_option): Add missing_argument_error field.
	* system.h (LANG_HOOKS_MISSING_ARGUMENT): Poison.

c-family:
	* c-common.h (c_common_missing_argument): Remove.
	* c-opts.c (c_common_missing_argument): Remove.
	* c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
	idirafter, imacros, include, isysroot, isystem, iquote): Add
	MissingArgError.
	* c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.

cp:
	* cp-objcp-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.

po:
	* exgettext: Also extract MissingArgError texts from .opt files.

From-SVN: r162571
2010-07-27 15:43:31 +01:00
Uros Bizjak 35c59d9c2a vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string placeholder from 0x%x to %#x.
* vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string
	placeholder from 0x%x to %#x.
	(ASM_OUTPUT_DEBUG_DATA1): Ditto.
	(ASM_OUTPUT_DEBUG_DATA4): Ditto.
	(ASM_OUTPUT_DEBUG_DATA): Ditto.
	(ASM_OUTPUT_DEBUG_ADDR_DATA): Ditto.
	(ASM_OUTPUT_DEBUG_DATA8): Ditto.
	* optc-gen.awk: Ditto.
	* hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Ditto.
	(HOST_WIDE_INT_PRINT_HEX): Ditto.
	(HOST_WIDEST_INT_PRINT_HEX): Ditto.
	(HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
	* gcov-dump.c (tag_function): Ditto.
	(tag_summary): Ditto.

From-SVN: r158971
2010-05-02 14:31:18 +02:00
Manuel López-Ibáñez 9db94baaef opt-functions.awk (opt_sanitized_name): New.
2010-04-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* opt-functions.awk (opt_sanitized_name): New.
	(opt_enum): New.
	* optc-gen.awk: Use it
	* opth-gen.awk: Use it.

From-SVN: r158272
2010-04-13 14:27:22 +00:00
Steven Bosscher c75c517d53 Make-lang.in, [...]: Update copyright years.
* ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c, 
	basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h,
	collect2.h, config/alpha/alpha.c, config/alpha/alpha.md,
	config/alpha/predicates.md, config/arm/arm.md,
	config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml,
	config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c,
	config/darwin9.h, config/darwin.c, config/darwin.h,
	config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h,
	config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c,
	config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c,
	config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c,
	config/mips/mips.md, config/mn10300/mn10300.c,
	config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md,
	config/rs6000/aix.h, config/rs6000/dfp.md,
	config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c,
	config/rs6000/vector.md, config/rtems.h, config/rx/rx.md,
	config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h,
	config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md,
	config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c,
	config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in,
	c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c,
	diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi,
	doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi,
	doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c,
	fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h,
	gensupport.c, gimple.h, gimple-iterator.c, graphite.c,
	graphite-clast-to-gimple.c, graphite-clast-to-gimple.h,
	graphite-dependences.c, graphite-poly.c, graphite-poly.h,
	graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c,
	graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c,
	intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h,
	ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c,
	ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c,
	loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c,
	objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk,
	opt-functions.awk, opth-gen.awk, params.def, passes.c,
	postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h,
	rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h,
	store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c,
	tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h,
	tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c,
	tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
	tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c,
	tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
	tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c,
	tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
	tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c,
	tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c,
	tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c,
	unwind-dw2-fde-darwin.c, varpool.c: Update copyright years.

From-SVN: r157950
2010-04-02 19:54:46 +00:00
Manuel López-Ibáñez 124e0d274a c.opt (-ftemplate-depth=): New.
2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* c.opt (-ftemplate-depth=): New.
	(-ftemplate-depth-): Deprecate.
	* optc-gen.awk: Handle -ftemplate-depth=.
	* opth-gen.awk: Likewise.
	* c-opts.c (c_common_handle_option): Likewise.
	* doc/invoke.texi (-ftemplate-depth-): Replace with
	-ftemplate-depth=.
cp/
	* pt.c (push_tinst_level): Replace -ftemplate-depth- with 
	-ftemplate-depth=.

From-SVN: r157054
2010-02-24 20:41:01 +00:00
Steve Ellcey 2b7e2984ce re PR middle-end/37565 (__optimize__ attribute doesn't work correctly)
2009-10-29  Steve Ellcey  <sje@cup.hp.com>

	PR middle-end/37565
	PR target/38018
	* doc/tm.texi (OVERRIDE_OPTIONS): Update.
	(TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New.
	* optc-gen.awk (cl_target_option_restore): Include call to 
	targetm.override_options_after_change.
	* target-def.h (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New.
	* target.h (override_options_after_change): New.
	* c-common.c (parse_optimize_options): Call
	targetm.override_options_after_change.
	* config/ia64/ia64.c (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New.
	(ia64_override_options_after_change): New.
	(ia64_override_options) Add call to above.

From-SVN: r153714
2009-10-29 16:44:02 +00:00
Ralf Wildenhues 40a1cfba78 optc-gen.awk: Warn if an option flag has multiple different help strings.
gcc/
	* optc-gen.awk: Warn if an option flag has multiple different
	help strings.

From-SVN: r145278
2009-03-30 05:55:57 +00:00
Ralf Wildenhues a16d1645a3 optc-gen.awk: No need to duplicate option flags twice.
gcc/
	* optc-gen.awk: No need to duplicate option flags twice.
	Reuse help texts for duplicate options which do not have
	any.

From-SVN: r144526
2009-03-01 12:20:33 +00:00
Ralf Wildenhues 4d07705422 optc-gen.awk: Assign all remaining fields to help string...
gcc/
	* optc-gen.awk: Assign all remaining fields to help string,
	space-separated, for multi-line help in *.opt.

From-SVN: r144523
2009-03-01 11:26:06 +00:00
Jakub Jelinek 66647d441f Update Copyright years for files modified in 2008 and/or 2009.
From-SVN: r144324
2009-02-20 16:20:38 +01:00
Michael Meissner e62fe68a64 Fix PR 36907, breakage in building libobj with function specific changes
From-SVN: r138091
2008-07-23 19:03:40 +00:00
Michael Meissner ab442df7fb Add ability to set target options (ix86 only) and optimization options on a function specific basis
From-SVN: r138075
2008-07-23 10:28:06 +00:00
Volker Reichelt fc54bc8478 * optc-gen.awk: Fix comment typo.
From-SVN: r135183
2008-05-11 19:43:00 +00:00
Ralf Wildenhues b1c61c7efd re PR bootstrap/35169 (SIGSEGV for stack growth failure while building 4.2.3)
gcc/
	PR bootstrap/35169
	* optc-gen.awk: Work around HP-UX/IA awk bug.

From-SVN: r134768
2008-04-28 22:27:22 +00:00
Manuel López-Ibáñez e8fc888de9 common.opt (Wlarger-than=): New.
2008-02-26  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	* common.opt (Wlarger-than=): New.
	* doc/invoke.texi (Warning Options): Replace -Wlarger-than- with
	-Wlarger-than=.
	* opts.c (common_handle_option): Handle -Wlarger-than=.
	* optc-gen.awk: Likewise.
	* opth-gen.awk: Likewise.
	* stor-layout.c (layout_decl): Use -Wlarger-than= for warning.
	* tree-optimize.c (tree_rest_of_compilation): Likewise.
testsuite/
	* gcc.dg/Wlarger-than2.c: New.

From-SVN: r132674
2008-02-26 14:01:02 +00:00
Manuel López-Ibáñez af47e6ac48 re PR other/32754 (The opt?-gen.awk file generators produce incorrect credits)
2008-02-07  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR other/32754
	* doc/options.texi (Options): Replace references to opts.sh with
	optc-gen.awk.
	* opts-common.c: Likewise.
	* optc-gen.awk: Likewise.

From-SVN: r132174
2008-02-07 20:40:19 +00:00
Nick Clifton 9dcd6f09a3 Change copyright header to refer to version 3 of the GNU General Public License and to point readers at the COPYING3 file and the FSF's license web page.
From-SVN: r126948
2007-07-26 08:37:01 +00:00
Nick Clifton c662432e8c invoke.texi (Overall Options): Document --help=.
* doc/invoke.texi (Overall Options): Document --help=.                                                        
* gcc.c (target_help_flag): Rename to print_subprocess_flag.                                                  
  (cc1_options): Pass --help= on to cc1.                                                                      
  (display_help): Add description of --help=.                                                                 
  (process_command): Add code to handle --help=.  Allow translated                                            
  --help and --target-help switches to be passed on to compiler sub-process.                                                                                               
  (main): Remove unused if statement.                                                                         
* opts.c (columns): Remove.                                                                                   
  (LEFT_COLUMN): Define.                                                                                      
  (wrap_help): Add columns argument.                                                                          
  (print_filtered_help): Change parameters to be an include bitmask,                                          
  an exclude bitmask, an any bitmask and the column width.  Move the                                          
  code to display the params list here.  Add code to display the                                              
  status of options rather than their descriptions if the quiet flag                                          
  is not active.                                                                                              
  (print_specific_help): Change parameters to be an include bitmask,                                          
  an exclude bitmask and an any bitmask.  Move code to look up the                                            
  column width here.  Decide upon the title for an options listing.                                           
  (common_handle_options): Add code to handle --help=.  Adapt code                                            
  for --help and --target-help to use the revised form of the                                                 
  print_specific_help function.                                                                               
  (print_help): Delete.                                                                                       
  (print_param_help): Delete.                                                                                 
  (print_switch): Delete.                                                                                     
* opts.h (cl_lang_count): Add prototype.                                                                      
 (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_MIN_OPTION_CLASS, CL_MAX_OPTION_CLASS): New defines.            
* optc-gen.awk: Add construction of cl_lang_count.                                                            
* c.opt: Add Warning attribute to warning options and Optimization attribute to optimization options.         
* common.opt: Likewise.                                                                                       
  Add --help=.                                                                                                
  Add -fhelp and -ftarget-help as aliases for the transformed --help and --target-help options.               
* opt-functions.awk: Add code to handle Warning and Optimization attributes.

From-SVN: r121849
2007-02-12 16:25:14 +00:00
H.J. Lu 8dc3f290fe Makefile.in (GCC_OBJS): Replace options.o with gcc-options.o.
gcc/

2006-05-16  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.in (GCC_OBJS): Replace options.o with gcc-options.o.
	(gcc-options.o): New rule.

	* optc-gen.awk: Protect variables for gcc-options.o with
	#ifdef GCC_DRIVER/#endif.

gcc/java/

2006-05-16  H.J. Lu  <hongjiu.lu@intel.com>

	* lang.opt (femit-class-file): Remove VarExists.

From-SVN: r113841
2006-05-16 22:06:52 -07:00
H.J. Lu 14c7833ccd re PR target/26885 (-m64 -m32 no longer creates 32-bit object)
gcc/

2006-05-16  H.J. Lu  <hongjiu.lu@intel.com>

	PR driver/26885
	* Makefile.in (GCC_OBJS): New.
	(OBJS-common): Add opts-common.o.
	(xgcc$(exeext)): Replace gcc.o with $(GCC_OBJS).
	(cpp$(exeext)): Likewise.
	(gcc.o): Also depend on opts.h.
	(opts-common.o): New.

	* common.opt (gcoff): Add Negative(gdwarf-2).
	(gdwarf-2): Add Negative(gstabs).
	(gstabs): Add Negative(gstabs+).
	(gstabs+): Add Negative(gvms).
	(gvms): Add Negative(gxcoff).
	(gxcoff): Add Negative(gxcoff+).
	(gxcoff+): Add Negative(gcoff).
	* config/i386/i386.opt (m32): Add Negative(m64).
	(m64): Add Negative(m32).

	* doc/options.texi: Document the Negative option.

	* gcc.c: Include "opts.h".
	(main): Call prune_options after expandargv.

	* optc-gen.awk: Generate common declarations for all flag
	variables in options.c. Output the neg_index field.

	* opts.c (find_opt): Moved to ...
	* opts-common.c: Here. New file.

	* opts.h (cl_option): Add a neg_index field.
	(find_opt): New.
	(prune_options): Likewise.

gcc/cp/

2006-05-16  H.J. Lu  <hongjiu.lu@intel.com>

	PR driver/26885
	* Make-lang.in (GXX_OBJS): Replace gcc.o with $(GCC_OBJS).

gcc/fortran/

2006-05-16  H.J. Lu  <hongjiu.lu@intel.com>

	PR driver/26885
	* Make-lang.in (GFORTRAN_D_OBJS): Replace gcc.o with
	$(GCC_OBJS).

gcc/java/

2006-05-16  H.J. Lu  <hongjiu.lu@intel.com>

	PR driver/26885
	* Make-lang.in ($(GCJ)$(exeext)): Replace gcc.o with
	$(GCC_OBJS).

gcc/treelang/

2006-05-16  H.J. Lu  <hongjiu.lu@intel.com>

	PR driver/26885
	* Make-lang.in (gtreelang$(exeext)): Replace gcc.o with
	$(GCC_OBJS).

From-SVN: r113824
2006-05-16 07:27:18 -07:00
Kelley Cook 366ccddb2b Update FSF address.
From-SVN: r101317
2005-06-25 02:02:01 +00:00
Richard Sandiford ee133b6978 opt-functions.awk (global_state_p, [...]): New.
* opt-functions.awk (global_state_p, needs_state_p, static_var): New.
	(var_ref): Take the option's flags as a second parameter.  Check
	static_var.
	* optc-gen.awk: Declare local state variables.  Pass flags to var_ref.

From-SVN: r100937
2005-06-14 14:37:49 +00:00
Richard Sandiford 55bea00ab0 opt-functions.awk (var_type): New function.
* opt-functions.awk (var_type): New function.
	(var_set): Use CLVC_STRING if var_type returns "const char *".
	* opth-gen.awk: Use var_type to find out the types of variables.
	Don't print comments above each "extern" definition.
	* optc-gen.awk: Use var_type in the same way.
	* opts.h (cl_var_cond): Rename to...
	(cl_var_type): ...this.  Add CLVC_STRING.
	(cl_option): Make "flag_var" a "void *" pointer.  Replace "var_cond"
	with "var_type".
	* opts.c (handle_option, option_enabled): Update after above name
	change.  Cast flag_var before using it.  Handle CLVC_STRING.

	* config/alpha/alpha.h (alpha_tls_size): Delete.
	* config/alpha/alpha.c (alpha_tls_size, alpha_cpu_string)
	(alpha_tune_string, alpha_tp_string, alpha_fprm_string)
	(alpha_fptm_string, alpha_mlat_string): Delete.
	(alpha_handle_option): Don't set the above variables here.  Use the
	integer argument to check the validity of -mtls-size=.
	* config/alpha/alpha.opt (mcpu=, mtune=, mfp-rounding-mode=)
	(mfp-trap-mode=, mtrap-precision=, mmemory-latency=): Add Var()s.
	(mtls-size=): Likewise.  Convert to a UInteger and initialize the
	variable to 32.

	* config/arc/arc.c (arc_cpu_string, arc_text_string)
	(arc_data_string, arc_rodata_string): Delete.
	(arc_handle_option): Don't set the above variables here.
	* config/arc/arc.opt (mcpu=, mtext=, mdata=, mrodata=): Add Var()s
	and initialize them.

	* config/arm/arm.c (target_fpu_name, target_fpe_name)
	(target_float_abi_name, target_abi_name, structure_size_string)
	(arm_pic_register_string): Delete.
	(arm_handle_option): Don't set the above variables here, except
	in the handling of -mhard-float and -msoft-float.
	* config/arm/arm.opt (mabi=, mfloat-abi=, mfp=, mfpe=, mfpu=)
	(mpic-register=, mstructure-size-boundary=): Add Var()s.

	* config/avr/avr.c (avr_init_stack, avr_mcu_name, TARGET_HANDLE_OPTION)
	(avr_handle_option): Delete.
	* config/avr/avr.opt (mmcu=, minit-stack=): Add Var()s and initialize
	them.

	* config/bfin/bfin.c (bfin_library_id): Delete.
	(bfin_handle_option): Don't set it.
	* config/bfin/bfin.opt (mshared-library-id=): Add Var().

	* config/c4x/c4x.h (c4x_rpts_cycles): Delete.
	* config/c4x/c4x.c (c4x_rpts_cycles): Delete.
	(c4x_handle_option): Don't set c4x_rpts_cycles here.
	* config/c4x/c4x.opt (mrpts=): Add Var().

	* config/cris/aout.h (CRIS_SUBTARGET_HANDLE_OPTION): Don't set
	cris_elinux_stacksize_str here.
	* config/cris/aout.opt (melinux-stacksize=): Add Var().
	* config/cris/cris.h (cris_max_stackframe_str, cris_cpu_str)
	(cris_tune_str, cris_elinux_stacksize_str): Delete.
	* config/cris/cris.c (cris_max_stackframe_str, cris_cpu_str)
	(cris_tune_str, cris_elinux_stacksize_str): Delete.
	(cris_handle_option): Don't set the above variables here.
	* config/cris/cris.opt (mcpu=, march=, mtune=, mmax-stackframe=)
	(max-stackframe=): Add Var()s.

	* config/i386/i386.h (ix86_tune_string, ix86_arch_string): Delete.
	* config/i386/i386.c (ix86_cmodel_string, ix86_asm_string)
	(ix86_tls_dialect_string, ix86_tune_string, ix86_arch_string)
	(ix86_fpmath_string, ix86_regparm_string, ix86_align_loops_string)
	(ix86_align_jumps_string, ix86_preferred_stack_boundary_string)
	(ix86_branch_cost_string, ix86_align_funcs_string): Delete.
	(ix86_handle_option): Don't set the above variables here.
	* config/i386/i386.opt (malign-functions=, malign-jumps=)
	(malign-loops=, march=, masm=, mbranch-cost=, mcmodel=, mfpmath=)
	(mpreferred-stack-boundary=, mregparm=, mtls-dialect=, mtune=): Add
	Var()s.

	* config/ia64/ia64.h (ia64_tls_size): Delete.
	* config/ia64/ia64.c (ia64_tls_size): Delete.
	(ia64_handle_option): Treat -mtls-size= as a UInteger option,
	reading the integer argument from the "value" parameter.  Don't
	set ia64_tls_size here.
	* config/ia64/ia64.opt (mtls-size=): Turn into a UInteger option.
	Add Var() and Init().

	* config/m32r/m32r.h (m32r_cache_flush_func): Delete.
	(m32r_cache_flush_trap): Delete.
	* config/m32r/m32r.c (m32r_cache_flush_func): Delete.
	(m32r_cache_flush_trap): Delete.
	(m32r_handle_option): Don't set the above variables when handling
	-mflush-func= and -mflush-trap=.
	* config/m32r/m32r.opt (-mflush-func=, -mflush-trap=): Add Var()s
	and Init()s.

	* config/mips/mips.h (mips_cache_flush_func): Delete.
	* config/mips/mips.c (mips_arch_string, mips_tune_string)
	(mips_cache_flush_func): Delete.
	(mips_handle_option): Don't set the above variables when handling
	-march=, -mtune= and -mflush-func=.
	* config/mips/mips.opt (march=, mflush-func=, mtune=): Add Var()s.

	* config/s390/s390.c (s390_arch_string): Delete.
	(s390_handle_option): Don't set it here.
	* config/s390/s390.opt (march=): Add Var().

	* config/sparc/sparc.h (sparc_cmodel_string): Delete.
	* config/sparc/sparc.c (sparc_cmodel_string): Delete.
	(sparc_handle_option): Don't set it here.
	* config/sparc/sparc.opt (mcmodel=): Add Var().

From-SVN: r100185
2005-05-26 05:28:04 +00:00
Richard Sandiford fb664b5a2b * optc-gen.awk: Include intl.h after the externally-provided files.
From-SVN: r99783
2005-05-16 18:14:03 +00:00
Richard Sandiford aeb70e782a Makefile.in (options.c): Tell optc-gen.awk to include config.h, system.h, coretypes.h and tm.h.
* Makefile.in (options.c): Tell optc-gen.awk to include config.h,
	system.h, coretypes.h and tm.h.
	(options.o): Update dependencies accordingly.
	* optc-gen.awk: Allow header_name to be a list of filenames.
	Handle the "Condition" flag.
	* opts.h (CL_DISABLED): New flag.
	* opts.c (handle_option): Print an error for CL_DISABLED options.
	* doc/options.texi: Document the "Condition" option flag.

From-SVN: r99774
2005-05-16 12:30:06 +00:00