Skip to content
Snippets Groups Projects
  1. Jan 03, 2018
  2. Oct 31, 2017
    • David Malcolm's avatar
      diagnostics: get rid of *_at_rich_loc in favor of overloading · 64a5912c
      David Malcolm authored
      Adding a fix-it hint currently involves changing e.g.:
      
        error_at (token->location,
                  "unknown type name %qE; did you mean %qs?",
                  token->value, hint);
      to:
      
        gcc_rich_location richloc (token->location);
        richloc.add_fixit_replace (hint);
        error_at_rich_loc (&richloc,
                           "unknown type name %qE; did you mean %qs?",
                           token->value, hint);
      
      to make the change from taking a location_t to a rich_location *.
      
      This patch renames the "*_at_rich_loc" diagnostic entrypoints to use
      the same function names for rich_location * as for location_t,
      via overloading, to simplify the above change to just changing from:
      
        error_at (token->location,
                  "unknown type name %qE; did you mean %qs?",
                  token->value, hint);
      to:
      
        gcc_rich_location richloc (token->location);
        richloc.add_fixit_replace (hint);
        error_at (&richloc,
                  "unknown type name %qE; did you mean %qs?",
                  token->value, hint);
      
      thus saving space (and typing) and usually avoiding the need to reindent
      the "error_at" invocation.
      
      With this change, 0 is no longer acceptable as a location_t to these
      entrypoints, as e.g.:
      
      ../../src/gcc/auto-profile.c:855:37: error: call of overloaded
      'inform(int, const char [18])' is ambiguous
             inform (0, "Not expected TAG.");
                                           ^
      In file included from ../../src/gcc/auto-profile.c:35:0:
      ../../src/gcc/diagnostic-core.h:88:13: note: candidate:
      'void inform(location_t, const char*, ...)'
       extern void inform (location_t, const char *, ...) ATTRIBUTE_GCC_DIAG(2,3);
                   ^~~~~~
      ../../src/gcc/diagnostic-core.h:89:13: note: candidate:
      'void inform(rich_location*, const char*, ...)'
       extern void inform (rich_location *, const char *, ...) ATTRIBUTE_GCC_DIAG(2,3);
                   ^~~~~~
      
      Such locations now need to be spelled out as UNKNOWN_LOCATION,
      rather than 0.
      
      I considered making the API take a rich_location & rather than a
      rich_location *, but doing so would mean replacing
        diagnostic_set_info
      and
        diagnostic_set_info_translated
      with a constructor for diagnostic_info, which was a more invasive
      change.  Maybe in the future.
      
      gcc/ChangeLog:
      	* auto-profile.c (autofdo_source_profile::read): Use
      	UNKNOWN_LOCATION rather than 0.
      	* diagnostic-core.h (warning_at_rich_loc): Rename to...
      	(warning_at): ...this overload.
      	(warning_at_rich_loc_n): Rename to...
      	(warning_n): ...this overload.
      	(error_at_rich_loc): Rename to...
      	(error_at): ...this overload.
      	(pedwarn_at_rich_loc): Rename to...
      	(pedwarn): ...this overload.
      	(permerror_at_rich_loc): Rename to...
      	(permerror): ...this overload.
      	(inform_at_rich_loc): Rename to...
      	(inform): ...this overload.
      	* diagnostic.c: (diagnostic_n_impl): Delete location_t-based decl.
      	(diagnostic_n_impl_richloc): Rename to...
      	(diagnostic_n_impl): ...this rich_location *-based decl.
      	(inform_at_rich_loc): Rename to...
      	(inform): ...this, and add an assertion.
      	(inform_n): Update for removal of location_t-based diagnostic_n_impl.
      	(warning_at_rich_loc): Rename to...
      	(warning_at): ...this, and add an assertion.
      	(warning_at_rich_loc_n): Rename to...
      	(warning_n): ...this, and add an assertion.
      	(warning_n): Update location_t-based implementation for removal of
      	location_t-based diagnostic_n_impl.
      	(pedwarn_at_rich_loc): Rename to...
      	(pedwarn): ...this, and add an assertion.
      	(permerror_at_rich_loc): Rename to...
      	(permerror): ...this, and add an assertion.
      	(error_n): Update for removal of location_t-based diagnostic_n_impl.
      	(error_at_rich_loc): Rename to...
      	(error_at): ...this, and add an assertion.
      	* gcc.c (do_spec_1): Use UNKNOWN_LOCATION rather than 0.
      	(driver::do_spec_on_infiles): Likewise.
      	* substring-locations.c (format_warning_va): Update for renaming
      	of inform_at_rich_loc.
      
      gcc/c-family/ChangeLog:
      	* c-common.c (binary_op_error): Update for renaming of
      	error_at_rich_loc.
      	(c_parse_error): Likewise.
      	* c-warn.c (warn_logical_not_parentheses): Likewise for
      	renaming of inform_at_rich_loc.
      	(warn_for_restrict): Likewise for renaming of
      	warning_at_rich_loc_n.
      
      gcc/c/ChangeLog:
      	* c-decl.c (implicit_decl_warning): Update for renaming of
      	pedwarn_at_rich_loc and warning_at_rich_loc.
      	(implicitly_declare): Likewise for renaming of inform_at_rich_loc.
      	(undeclared_variable): Likewise for renaming of error_at_rich_loc.
      	* c-parser.c (c_parser_declaration_or_fndef): Likewise.
      	(c_parser_struct_or_union_specifier): Likewise for renaming of
      	pedwarn_at_rich_loc.
      	(c_parser_parameter_declaration): Likewise for renaming of
      	error_at_rich_loc.
      	* c-typeck.c (build_component_ref): Likewise.
      	(build_unary_op): Likewise for renaming of inform_at_rich_loc.
      	(pop_init_level): Likewise for renaming of warning_at_rich_loc.
      	(set_init_label): Likewise for renaming of error_at_rich_loc.
      
      gcc/cp/ChangeLog:
      	* class.c (explain_non_literal_class): Use UNKNOWN_LOCATION rather
      	than 0.
      	* name-lookup.c (suggest_alternatives_for): Update for renaming of
      	inform_at_rich_loc.
      	(maybe_suggest_missing_header): Likewise.
      	(suggest_alternative_in_explicit_scope): Likewise.
      	* parser.c (cp_parser_diagnose_invalid_type_name): Likewise for
      	renaming of error_at_rich_loc.
      	(cp_parser_string_literal): Likewise.
      	(cp_parser_nested_name_specifier_opt): Likewise.
      	(cp_parser_cast_expression): Likewise for renaming of
      	warning_at_rich_loc.
      	(cp_parser_decl_specifier_seq): Likewise for renaming of
      	error_at_rich_loc and warning_at_rich_loc.
      	(cp_parser_elaborated_type_specifier): Likewise for renaming of
      	pedwarn_at_rich_loc.
      	(cp_parser_cv_qualifier_seq_opt): Likewise for renaming of
      	error_at_rich_loc.
      	(cp_parser_virt_specifier_seq_opt): Likewise.
      	(cp_parser_class_specifier_1): Likewise.
      	(cp_parser_class_head): Likewise.
      	(cp_parser_member_declaration): Likewise for renaming of
      	pedwarn_at_rich_loc, warning_at_rich_loc, and error_at_rich_loc.
      	(cp_parser_enclosed_template_argument_list): Likewise for renaming
      	of error_at_rich_loc.
      	(set_and_check_decl_spec_loc): Likewise.
      	* pt.c (listify): Likewise.
      	* rtti.c (typeid_ok_p): Likewise.
      	* semantics.c (process_outer_var_ref): Use UNKNOWN_LOCATION rather
      	than 0.
      	* typeck.c (access_failure_info::maybe_suggest_accessor): Update
      	for renaming of inform_at_rich_loc.
      	(finish_class_member_access_expr): Likewise for renaming of
      	error_at_rich_loc.
      
      gcc/objc/ChangeLog:
      	* objc-gnu-runtime-abi-01.c (objc_gnu_runtime_abi_01_init): Use
      	UNKNOWN_LOCATION rather than 0.
      
      gcc/testsuite/ChangeLog:
      	* gcc.dg/plugin/diagnostic_plugin_show_trees.c (show_tree): Update
      	for renaming of error_at_rich_loc and inform_at_rich_loc.
      	* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c
      	(test_show_locus): Likewise for renaming of warning_at_rich_loc.
      
      libcpp/ChangeLog:
      	* directives.c (_cpp_handle_directive): Update for renaming of
      	cpp_error_at_richloc to cpp_error_at.
      	* errors.c (cpp_diagnostic_at_richloc): Rename to...
      	(cpp_diagnostic_at): ...this, dropping the location_t-based
      	implementation.
      	(cpp_diagnostic): Update for removal of location_t-based
      	cpp_diagnostic_at.
      	(cpp_error_at): Likewise.
      	(cpp_error_at_richloc): Rename to...
      	(cpp_error_at): ...this, and update for renaming of
      	cpp_diagnostic_at_richloc.
      	* include/cpplib.h (cpp_error_at_richloc): Rename to...
      	(cpp_error_at): ...this.
      
      From-SVN: r254280
      64a5912c
  3. Aug 09, 2017
    • Marek Polacek's avatar
      re PR c/81233 (--Wdiscarded-qualifiers and Wincompatible-pointer-types missing important detail) · 296c53ac
      Marek Polacek authored
      	PR c/81233
      	* c-typeck.c (pedwarn_init): Make the function take a variable list.
      	Call emit_diagnostic_valist instead of pedwarn.
      	(convert_for_assignment): Unroll the PEDWARN_FOR_ASSIGNMENT macro.
      	Print the relevant types in diagnostics.
      
      	* diagnostic-core.h (emit_diagnostic_valist): Add declaration.
      	* diagnostic.c (emit_diagnostic): Add a comment.
      	(emit_diagnostic_valist): New function.
      
      	* gcc.dg/diagnostic-types-1.c: New test.
      	* gcc.dg/assign-warn-1.c: Update warning messages.
      	* gcc.dg/assign-warn-2.c: Likewise.
      	* gcc.dg/c90-const-expr-5.c: Likewise.
      	* gcc.dg/c99-const-expr-5.c: Likewise.
      	* gcc.dg/conv-2.c: Likewise.
      	* gcc.dg/init-bad-7.c: Likewise.
      	* gcc.dg/overflow-warn-1.c: Likewise.
      	* gcc.dg/overflow-warn-2.c: Likewise.
      	* gcc.dg/overflow-warn-3.c: Likewise.
      	* gcc.dg/overflow-warn-4.c: Likewise.
      	* gcc.dg/pointer-array-atomic.c: Likewise.
      	* gcc.dg/pr26865.c: Likewise.
      	* gcc.dg/pr61162-2.c: Likewise.
      	* gcc.dg/pr61162.c: Likewise.
      	* gcc.dg/pr67730-2.c: Likewise.
      	* gcc.dg/pr69156.c: Likewise.
      	* gcc.dg/pr70174.c: Likewise.
      	* objc.dg/proto-lossage-4.m: Likewise.
      
      From-SVN: r250985
      296c53ac
  4. Jan 01, 2017
  5. Oct 08, 2016
    • Prathamesh Kulkarni's avatar
      diagnostic-core.h (warning_at_rich_loc_n): Declare. · a5fb7ad2
      Prathamesh Kulkarni authored
      2016-10-08  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
      
      	* diagnostic-core.h (warning_at_rich_loc_n): Declare.
      	* diagnostic.c (warning_at_rich_loc_n): New function.
      	(diagnostic_n_impl_richloc): Likewise.
      	(diagnostic_n_impl): Move most of the function to
      	diagnostic_n_impl_richloc and call it.
      
      From-SVN: r240891
      a5fb7ad2
  6. Jun 22, 2016
    • David Malcolm's avatar
      C FE: suggest corrections for misspelled identifiers and type names · 1a4f11c8
      David Malcolm authored
      gcc/c-family/ChangeLog:
      	PR c/70339
      	* c-common.h (enum lookup_name_fuzzy_kind): New enum.
      	(lookup_name_fuzzy): New prototype.
      
      gcc/c/ChangeLog:
      	PR c/70339
      	* c-decl.c: Include spellcheck-tree.h and gcc-rich-location.h.
      	(implicit_decl_warning): When issuing warnings for implicit
      	declarations, attempt to provide a suggestion via
      	lookup_name_fuzzy.
      	(undeclared_variable): Likewise when issuing errors.
      	(lookup_name_in_scope): Likewise.
      	(struct edit_distance_traits<cpp_hashnode *>): New struct.
      	(best_macro_match): New typedef.
      	(find_closest_macro_cpp_cb): New function.
      	(lookup_name_fuzzy): New function.
      	* c-parser.c: Include gcc-rich-location.h.
      	(c_token_starts_typename): Split out case CPP_KEYWORD into...
      	(c_keyword_starts_typename): ...this new function.
      	(c_parser_declaration_or_fndef): When issuing errors about
      	missing "struct" etc, add a fixit.  For other kinds of errors,
      	attempt to provide a suggestion via lookup_name_fuzzy.
      	(c_parser_parms_declarator): When looking ahead to detect typos in
      	type names, also reject CPP_KEYWORD.
      	(c_parser_parameter_declaration): When issuing errors about
      	unknown type names, attempt to provide a suggestion via
      	lookup_name_fuzzy.
      	* c-tree.h (c_keyword_starts_typename): New prototype.
      
      gcc/ChangeLog:
      	PR c/70339
      	* diagnostic-core.h (pedwarn_at_rich_loc): New prototype.
      	* diagnostic.c (pedwarn_at_rich_loc): New function.
      	* spellcheck.h (best_match::best_match): Add a
      	"best_distance_so_far" optional parameter.
      	(best_match::set_best_so_far): New method.
      	(best_match::get_best_distance): New accessor.
      	(best_match::get_best_candidate_length): New accessor.
      
      gcc/testsuite/ChangeLog:
      	PR c/70339
      	* c-c++-common/attributes-1.c: Update dg-prune-output to include
      	hint.
      	* gcc.dg/diagnostic-token-ranges.c (undeclared_identifier): Update
      	expected results due to builtin "nanl" now being suggested for
      	"name".
      	* gcc.dg/pr67580.c: Update expected messages.
      	* gcc.dg/spellcheck-identifiers.c: New testcase.
      	* gcc.dg/spellcheck-typenames.c: New testcase.
      
      From-SVN: r237714
      1a4f11c8
  7. Jan 04, 2016
  8. Nov 06, 2015
    • David Malcolm's avatar
      Reimplement diagnostic_show_locus, introducing rich_location classes · 8a645150
      David Malcolm authored
      gcc/ChangeLog:
      	* diagnostic-color.c (color_dict): Eliminate "caret"; add "range1"
      	and "range2".
      	(parse_gcc_colors): Update comment to describe default GCC_COLORS.
      	* diagnostic-core.h (warning_at_rich_loc): New declaration.
      	(error_at_rich_loc): New declaration.
      	(permerror_at_rich_loc): New declaration.
      	(inform_at_rich_loc): New declaration.
      	* diagnostic-show-locus.c (adjust_line): Delete.
      	(struct point_state): New struct.
      	(class colorizer): New class.
      	(class layout_point): New class.
      	(class layout_range): New class.
      	(struct line_bounds): New.
      	(class layout): New class.
      	(colorizer::colorizer): New ctor.
      	(colorizer::~colorizer): New dtor.
      	(layout::layout): New ctor.
      	(layout::print_source_line): New method.
      	(layout::print_annotation_line): New method.
      	(layout::get_state_at_point): New method.
      	(layout::get_x_bound_for_row): New method.
      	(diagnostic_show_locus): Reimplement in terms of class layout.
      	(diagnostic_print_caret_line): Delete.
      	* diagnostic.c (diagnostic_initialize): Replace
      	MAX_LOCATIONS_PER_MESSAGE with rich_location::MAX_RANGES.
      	(diagnostic_set_info_translated): Convert param from location_t
      	to rich_location *.  Eliminate calls to set_location on the
      	message in favor of storing the rich_location ptr there.
      	(diagnostic_set_info): Convert param from location_t to
      	rich_location *.
      	(diagnostic_build_prefix): Break out array into...
      	(diagnostic_kind_color): New variable.
      	(diagnostic_get_color_for_kind): New function.
      	(diagnostic_report_diagnostic): Colorize the option_text
      	using the color for the severity.
      	(diagnostic_append_note): Update for change in signature of
      	diagnostic_set_info.
      	(diagnostic_append_note_at_rich_loc): New function.
      	(emit_diagnostic): Update for change in signature of
      	diagnostic_set_info.
      	(inform): Likewise.
      	(inform_at_rich_loc): New function.
      	(inform_n): Update for change in signature of diagnostic_set_info.
      	(warning): Likewise.
      	(warning_at): Likewise.
      	(warning_at_rich_loc): New function.
      	(warning_n): Update for change in signature of diagnostic_set_info.
      	(pedwarn): Likewise.
      	(permerror): Likewise.
      	(permerror_at_rich_loc): New function.
      	(error): Update for change in signature of diagnostic_set_info.
      	(error_n): Likewise.
      	(error_at): Likewise.
      	(error_at_rich_loc): New function.
      	(sorry): Update for change in signature of diagnostic_set_info.
      	(fatal_error): Likewise.
      	(internal_error): Likewise.
      	(internal_error_no_backtrace): Likewise.
      	(source_range::debug): New function.
      	* diagnostic.h (struct diagnostic_info): Eliminate field
      	"override_column".  Add field "richloc".
      	(struct diagnostic_context): Add field "colorize_source_p".
      	(diagnostic_override_column): Delete.
      	(diagnostic_set_info): Convert param from location_t to
      	rich_location *.
      	(diagnostic_set_info_translated): Likewise.
      	(diagnostic_append_note_at_rich_loc): New function.
      	(diagnostic_num_locations): New function.
      	(diagnostic_expand_location): Get the location from the
      	rich_location.
      	(diagnostic_print_caret_line): Delete.
      	(diagnostic_get_color_for_kind): New declaration.
      	* genmatch.c (linemap_client_expand_location_to_spelling_point): New.
      	(error_cb): Update for change in signature of "error" callback.
      	(fatal_at): Likewise.
      	(warning_at): Likewise.
      	* input.c (linemap_client_expand_location_to_spelling_point): New.
      	* pretty-print.c (text_info::set_range): New method.
      	(text_info::get_location): New method.
      	* pretty-print.h (MAX_LOCATIONS_PER_MESSAGE): Eliminate this macro.
      	(struct text_info): Eliminate "locations" array in favor of
      	"m_richloc", a rich_location *.
      	(textinfo::set_location): Add a "caret_p" param, and reimplement
      	in terms of a call to set_range.
      	(textinfo::get_location): Eliminate inline implementation in favor of
      	an out-of-line reimplementation.
      	(textinfo::set_range): New method.
      	* rtl-error.c (diagnostic_for_asm): Update for change in signature
      	of diagnostic_set_info.
      	* tree-diagnostic.c (default_tree_printer): Update for new
      	"caret_p" param for textinfo::set_location.
      	* tree-pretty-print.c (percent_K_format): Likewise.
      
      gcc/c-family/ChangeLog:
      	* c-common.c (c_cpp_error): Convert parameter from location_t to
      	rich_location *.  Eliminate the "column_override" parameter and
      	the call to diagnostic_override_column.
      	Update the "done_lexing" clause to set range 0
      	on the rich_location, rather than overwriting a location_t.
      	* c-common.h (c_cpp_error): Convert parameter from location_t to
      	rich_location *.  Eliminate the "column_override" parameter.
      
      gcc/c/ChangeLog:
      	* c-decl.c (warn_defaults_to): Update for change in signature
      	of diagnostic_set_info.
      	* c-errors.c (pedwarn_c99): Likewise.
      	(pedwarn_c90): Likewise.
      	* c-objc-common.c (c_tree_printer): Update for new "caret_p" param
      	for textinfo::set_location.
      
      gcc/cp/ChangeLog:
      	* error.c (cp_printer): Update for new "caret_p" param for
      	textinfo::set_location.
      	(pedwarn_cxx98): Update for change in signature of
      	diagnostic_set_info.
      
      gcc/fortran/ChangeLog:
      	* cpp.c (cb_cpp_error): Convert parameter from location_t to
      	rich_location *.  Eliminate the "column_override" parameter.
      	* error.c (gfc_warning): Update for change in signature of
      	diagnostic_set_info.
      	(gfc_format_decoder): Update handling of %C/%L for changes
      	to struct text_info.
      	(gfc_diagnostic_starter): Use richloc when determining whether to
      	print one locus or two.  When handling a location that will
      	involve a call to diagnostic_show_locus, only attempt to print the
      	locus for the primary location, and don't call into
      	diagnostic_print_caret_line.
      	(gfc_warning_now_at): Update for change in signature of
      	diagnostic_set_info.
      	(gfc_warning_now): Likewise.
      	(gfc_error_now): Likewise.
      	(gfc_fatal_error): Likewise.
      	(gfc_error): Likewise.
      	(gfc_internal_error): Likewise.
      
      gcc/testsuite/ChangeLog:
      	* gcc.dg/plugin/diagnostic-test-show-locus-bw.c: New file.
      	* gcc.dg/plugin/diagnostic-test-show-locus-color.c: New file.
      	* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c: New file.
      	* gcc.dg/plugin/plugin.exp (plugin_test_list): Add the above.
      	* lib/gcc-dg.exp: Load multiline.exp.
      
      libcpp/ChangeLog:
      	* errors.c (cpp_diagnostic): Update for change in signature
      	of "error" callback.
      	(cpp_diagnostic_with_line): Likewise, calling override_column
      	on the rich_location.
      	* include/cpplib.h (struct cpp_callbacks): Within "error"
      	callback, convert param from source_location to rich_location *,
      	and drop column_override param.
      	* include/line-map.h (struct source_range): New struct.
      	(struct location_range): New struct.
      	(class rich_location): New class.
      	(linemap_client_expand_location_to_spelling_point): New declaration.
      	* line-map.c (rich_location::rich_location): New ctors.
      	(rich_location::lazily_expand_location): New method.
      	(rich_location::override_column): New method.
      	(rich_location::add_range): New methods.
      	(rich_location::set_range): New method.
      
      From-SVN: r229884
      8a645150
  9. Oct 28, 2015
    • Mikhail Maltsev's avatar
      [PATCH 7/9] ENABLE_CHECKING refactoring: middle-end, LTO FE · b2b29377
      Mikhail Maltsev authored
      [PATCH 7/9] ENABLE_CHECKING refactoring: middle-end, LTO FE
      gcc/lto/ChangeLog:
      2015-10-27  Mikhail Maltsev  <maltsevm@gmail.com>
      
      	* lto.c (unify_scc): Use flag_checking and remove ENABLE_CHECKING
      	conditionals.
      	(lto_fixup_state): Likewise.
      	(do_whole_program_analysis): Use
      	symtab_node::checking_verify_symtab_nodes and remove ENABLE_CHECKING
      	conditionals.
      
      gcc/ChangeLog:
      
      2015-10-27  Mikhail Maltsev  <maltsevm@gmail.com>
      
      	* attribs.c (check_attribute_tables): New function, broken out from...
      	(init_attributes): Use it.
      	* cfgcleanup.c (try_optimize_cfg): Use flag_checking, CHECKING_P
      	gcc_checking_assert and checking_* functions to eliminate
      	ENABLE_CHECKING conditionals.
      	* cfgexpand.c (expand_goto, expand_debug_expr): Likewise.
      	(pass_expand::execute): Likewise.
      	* cgraphclones.c (symbol_table::materialize_all_clones): Likewise.
      	* cgraphunit.c (mark_functions_to_output): Likewise.
      	(cgraph_node::expand_thunk): Likewise.
      	(symbol_table::compile): Likewise.
      	* ddg.c (add_cross_iteration_register_deps): Likewise.
      	(create_ddg_all_sccs): Likewise.
      	* df-core.c (df_finish_pass, df_analyze): Likewise.
      	* diagnostic-core.h: Likewise.
      	* diagnostic.c (diagnostic_report_diagnostic): Likewise.
      	* dominance.c (calculate_dominance_info): Likewise.
      	* dwarf2out.c (add_AT_die_ref): Likewise.
      	(const_ok_for_output_1, mem_loc_descriptor): Likewise.
      	(loc_list_from_tree, gen_lexical_block_die): Likewise.
      	gen_type_die_with_usage, gen_type_die): Likewise.
      	(dwarf2out_decl): Likewise.
      	* emit-rtl.c (verify_rtx_sharing, reorder_insns_nobb): Likewise.
      	* except.c (duplicate_eh_regions): Likewise.
      	* fwprop.c (register_active_defs, update_df_init): Likewise.
      	(fwprop_init, fwprop_done): Likewise.
      	(update_uses): Likewise.
      	* ggc-page.c (ggc_grow): Likewise.
      	* gimplify.c (gimplify_body): Likewise.
      	(gimplify_hasher::equal): Likewise.
      	* graphite-isl-ast-to-gimple.c (graphite_verify): Likewise.
      	* graphite-scop-detection.c (canonicalize_loop_closed_ssa_form):
      	Likewise.
      	* graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Likewise.
      	(rewrite_cross_bb_scalar_deps_out_of_ssa): Likwise.
      	* hash-table.h (::find_empty_slot_for_expand): Likewise.
      	* ifcvt.c (if_convert): Likewise.
      	* ipa-cp.c (ipcp_propagate_stage): Likewise.
      	* ipa-devirt.c (type_in_anonymous_namespace_p): Likewise.
      	(odr_type_p, odr_types_equivalent_p): Likewise.
      	(add_type_duplicate, get_odr_type): Likewise.
      	* ipa-icf.c (sem_item_optimizer::execute): Likewise.
      	(sem_item_optimizer::subdivide_classes_by_equality): Likewise.
      	(sem_item_optimizer::verify_classes): Likewise.
      	(sem_item_optimizer::traverse_congruence_split): Likewise.
      	(sem_item_optimizer::checking_verify_classes): New.
      	* ipa-icf.h (sem_item_optimizer::checking_verify_classes): Add new
      	method.
      	* cfgrtl.c (commit_edge_insertions): Likewise.
      	(fixup_reorder_chain, cfg_layout_finalize): Likewise.
      	(rtl_flow_call_edges_add): Likewise.
      	* cgraph.c (symbol_table::create_edge): Likewise.
      	(cgraph_edge::redirect_call_stmt_to_callee): Likewise.
      	* cgraph.h (symtab_node): Likewise.
      	(symtab_node::checking_verify_symtab_nodes): Define.
      	(cgraph_node::checking_verify_cgraph_nodes): Define.
      	* cfghooks.h (checking_verify_flow_info): Define.
      	* cfgloop.h (checking_verify_loop_structure): Define.
      	* dominance.h (checking_verify_dominators): Define.
      	* et-forest.c: Fix comment.
      	* ipa-inline-analysis.c (compute_inline_parameters): Use flag_checking,
      	CHECKING_P gcc_checking_assert and checking_* functions to eliminate
      	ENABLE_CHECKING conditionals.
      	* ipa-inline-transform.c (save_inline_function_body): Likewise.
      	* ipa-inline.c (inline_small_functions): Likewise.
      	(early_inliner): Likewise.
      	* ipa-inline.h (estimate_edge_growth): Likewise.
      	* ipa-visibility.c (function_and_variable_visibility): Likewise.
      	* ipa.c (symbol_table::remove_unreachable_nodes): Likewise.
      	(ipa_single_use): Likewise.
      	* ira-int.h: Likewise.
      	* ira.c (ira): Likewise.
      	* loop-doloop.c (doloop_optimize_loops): Likewise.
      	* loop-init.c (loop_optimizer_init, fix_loop_structure): Likewise.
      	* loop-invariant.c (move_loop_invariants): Likewise.
      	* lra-assigns.c (lra_assign): Likewise.
      	* lra-constraints.c (lra_constraints): Likewise.
      	* lra-eliminations.c (lra_eliminate): Likewise.
      	* lra-int.h (struct lra_reg): Likewise.
      	* lra-lives.c (check_pseudos_live_through_calls): Likewise.
      	(lra_create_live_ranges_1): Likewise.
      	* lra-remat.c (create_remat_bb_data): Likewise.
      	* lra.c (lra_update_insn_recog_data, restore_scratches): Likewise.
      	(lra): Likewise.
      	(check_rtl): Always define. Remove incorrect guard around
      	extract_constrain_insn call.
      	* lto-cgraph.c (input_cgraph_1: Use flag_checking,
      	CHECKING_P gcc_checking_assert and checking_* functions to eliminate
      	ENABLE_CHECKING conditionals.
      	* lto-streamer-out.c (DFS::DFS): Likewise.
      	(lto_output): Likewise.
      	* lto-streamer.c (lto_streamer_init): Likewise.
      	* omp-low.c (scan_omp_target, expand_omp_taskreg): Likewise.
      	expand_omp_target, execute_expand_omp): Likewise.
      	(lower_omp_target): Likewise.
      	* passes.c (execute_function_todo): Likewise.
      	(execute_todo, execute_one_pass): Likewise.
      	(verify_curr_properties): Always define.
      	* predict.c (tree_estimate_probability: Use flag_checking,
      	CHECKING_P gcc_checking_assert and checking_* functions to eliminate
      	ENABLE_CHECKING conditionals.
      	(propagate_freq): Likewise.
      	* pretty-print.c (pp_format): Likewise.
      	* real.c (real_to_decimal_for_mode): Likewise.
      	* recog.c (split_all_insns): Likewise.
      	* regcprop.c (kill_value_one_regno): Likewise.
      	(copy_value): Likewise.
      	(validate_value_data): Define unconditionally.
      	* reload.c: Fix comment.
      	* timevar.c: Include options.h
      	* tree-ssa.h (checking_verify_ssa): Define.
      	* tree-ssa-loop-manip.h (checking_verify_loop_closed_ssa): Define.
      	* sched-deps.c (CHECK): Remove unused macro.
      	(add_or_update_dep_1, sd_add_dep: Use flag_checking, CHECKING_P
      	gcc_checking_assert and checking_* functions to eliminate
      	ENABLE_CHECKING conditionals.
      	* sel-sched-ir.c (free_regset_pool, tidy_control_flow): Likewise.
      	* sel-sched.c (struct moveop_static_params): Likewise.
      	(find_best_reg_for_expr, move_cond_jump): Likewise.
      	(move_op_orig_expr_not_found): Likewise.
      	(code_motion_process_successors, move_op): Likewise.
      	* ssa-iterators.h (first_readonly_imm_use): Likewise.
      	(next_readonly_imm_use): Likewise.
      	* store-motion.c (compute_store_table): Likewise.
      	* symbol-summary.h (function_summary::function_summary): Likewise.
      	* target.h (cumulative_args_t): Likewise.
      	(get_cumulative_args, pack_cumulative_args): Likewise.
      	* timevar.c: (timer::print): Likewise.
      	* trans-mem.c (ipa_tm_execute): Likewise.
      	* tree-cfg.c (move_stmt_op): Likewise.
      	(move_sese_region_to_fn): Likewise.
      	(gimple_flow_call_edges_add): Likewise.
      	* tree-cfgcleanup.c (cleanup_tree_cfg_noloop, repair_loop_structures):
      	Likewise.
      	* tree-eh.c (remove_unreachable_handlers): Likewise.
      	* tree-if-conv.c (pass_if_conversion::execute): Likewise.
      	* tree-inline.c (expand_call_inline, optimize_inline_calls): Likewise.
      	* tree-into-ssa.c (update_ssa): Likewise.
      	* tree-loop-distribution.c (pass_loop_distribution::execute): Likewise.
      	* tree-outof-ssa.c (eliminate_useless_phis, rewrite_trees): Likewise.
      	* tree-parloops.c (pass_parallelize_loops::execute): Likewise.
      	* tree-predcom.c (suitable_component_p): Likewise.
      	* tree-profile.c (gimple_gen_const_delta_profiler): Likewise.
      	* tree-ssa-alias.c (refs_may_alias_p_1): Likewise.
      	* tree-ssa-live.c (verify_live_on_entry): Likewise.
      	* tree-ssa-live.h (register_ssa_partition): Likewise.
      	* tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Likewise.
      	* tree-ssa-loop-manip.c (add_exit_phi): Likewise.
      	(tree_transform_and_unroll_loop): Likewise.
      	* tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Likewise.
      	* tree-ssa-operands.c (get_expr_operands): Likewise.
      	* tree-ssa-propagate.c (replace_exp_1): Likewise.
      	* tree-ssa-structalias.c (rewrite_constraints): Likewise.
      	* tree-ssa-ter.c (free_temp_expr_table): Likewise.
      	* tree-ssa-threadupdate.c (duplicate_thread_path): Likewise.
      	* tree-ssanames.c (release_ssa_name_fn): Likewise.
      	* tree-stdarg.c (expand_ifn_va_arg): Likewise.
      	* tree-vect-loop-manip.c
      	(slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
      	(slpeel_checking_verify_cfg_after_peeling): Likewise.
      	(vect_do_peeling_for_loop_bound): Likewise.
      	(vect_do_peeling_for_alignment): Likewise.
      	* tree-vrp.c (supports_overflow_infinity): Likewise.
      	(set_value_range): Likewise.
      	* tree.c (free_lang_data_in_cgraph): Likewise.
      	* value-prof.c (gimple_remove_histogram_value): Likewise.
      	(free_hist): Likewise.
      	* var-tracking.c (canonicalize_values_star): Likewise.
      	(compute_bb_dataflow, vt_find_locations, vt_emit_notes): Likewise.
      
      From-SVN: r229470
      b2b29377
  10. Jun 17, 2015
    • Andrew MacLeod's avatar
      coretypes.h: Include input.h and as-a.h. · abb226c9
      Andrew MacLeod authored
      2015-06-17  Andrew MacLeod  <amacleod@redhat.com>
      
      	* coretypes.h: Include input.h and as-a.h.
      	* rtl.h: Include input.h and as-a.h for generator files.
      	* hwint.c: Include input.h.
      	* vec.c: Include input.h.
      	* alias.c: Do not include input.h, line-map.h or is-a.h.
      	* asan.c: Likewise.
      	* attribs.c: Likewise.
      	* auto-inc-dec.c: Likewise.
      	* auto-profile.c: Likewise.
      	* bb-reorder.c: Likewise.
      	* bt-load.c: Likewise.
      	* builtins.c: Likewise.
      	* caller-save.c: Likewise.
      	* calls.c: Likewise.
      	* ccmp.c: Likewise.
      	* cfg.c: Likewise.
      	* cfganal.c: Likewise.
      	* cfgbuild.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* cfgexpand.c: Likewise.
      	* cfghooks.c: Likewise.
      	* cfgloop.c: Likewise.
      	* cfgloop.h: Likewise.
      	* cfgloopanal.c: Likewise.
      	* cfgloopmanip.c: Likewise.
      	* cfgrtl.c: Likewise.
      	* cgraph.c: Likewise.
      	* cgraphbuild.c: Likewise.
      	* cgraphclones.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* cilk-common.c: Likewise.
      	* combine-stack-adj.c: Likewise.
      	* combine.c: Likewise.
      	* compare-elim.c: Likewise.
      	* convert.c: Likewise.
      	* coverage.c: Likewise.
      	* cppbuiltin.c: Likewise.
      	* cprop.c: Likewise.
      	* cse.c: Likewise.
      	* cselib.c: Likewise.
      	* data-streamer-in.c: Likewise.
      	* data-streamer-out.c: Likewise.
      	* data-streamer.c: Likewise.
      	* dbxout.c: Likewise.
      	* dce.c: Likewise.
      	* ddg.c: Likewise.
      	* debug.c: Likewise.
      	* df-core.c: Likewise.
      	* df-problems.c: Likewise.
      	* df-scan.c: Likewise.
      	* df.h: Likewise.
      	* dfp.c: Likewise.
      	* diagnostic-core.h: Likewise.
      	* diagnostic.c: Likewise.
      	* dojump.c: Likewise.
      	* dominance.c: Likewise.
      	* domwalk.c: Likewise.
      	* double-int.c: Likewise.
      	* dse.c: Likewise.
      	* dumpfile.c: Likewise.
      	* dumpfile.h: Likewise.
      	* dwarf2asm.c: Likewise.
      	* dwarf2cfi.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* emit-rtl.c: Likewise.
      	* et-forest.c: Likewise.
      	* except.c: Likewise.
      	* explow.c: Likewise.
      	* expmed.c: Likewise.
      	* expr.c: Likewise.
      	* final.c: Likewise.
      	* fixed-value.c: Likewise.
      	* fold-const.c: Likewise.
      	* function.c: Likewise.
      	* fwprop.c: Likewise.
      	* gcc-plugin.h: Likewise.
      	* gcse.c: Likewise.
      	* generic-match-head.c: Likewise.
      	* ggc-page.c: Likewise.
      	* gimple-builder.c: Likewise.
      	* gimple-expr.c: Likewise.
      	* gimple-fold.c: Likewise.
      	* gimple-iterator.c: Likewise.
      	* gimple-low.c: Likewise.
      	* gimple-match-head.c: Likewise.
      	* gimple-pretty-print.c: Likewise.
      	* gimple-ssa-isolate-paths.c: Likewise.
      	* gimple-ssa-strength-reduction.c: Likewise.
      	* gimple-streamer-in.c: Likewise.
      	* gimple-streamer-out.c: Likewise.
      	* gimple-streamer.h: Likewise.
      	* gimple-walk.c: Likewise.
      	* gimple.c: Likewise.
      	* gimplify-me.c: Likewise.
      	* gimplify.c: Likewise.
      	* godump.c: Likewise.
      	* graph.c: Likewise.
      	* graphite-blocking.c: Likewise.
      	* graphite-dependences.c: Likewise.
      	* graphite-interchange.c: Likewise.
      	* graphite-isl-ast-to-gimple.c: Likewise.
      	* graphite-optimize-isl.c: Likewise.
      	* graphite-poly.c: Likewise.
      	* graphite-scop-detection.c: Likewise.
      	* graphite-sese-to-poly.c: Likewise.
      	* graphite.c: Likewise.
      	* haifa-sched.c: Likewise.
      	* hw-doloop.c: Likewise.
      	* ifcvt.c: Likewise.
      	* init-regs.c: Likewise.
      	* input.c: Likewise.
      	* internal-fn.c: Likewise.
      	* ipa-chkp.c: Likewise.
      	* ipa-comdats.c: Likewise.
      	* ipa-cp.c: Likewise.
      	* ipa-devirt.c: Likewise.
      	* ipa-icf-gimple.c: Likewise.
      	* ipa-icf.c: Likewise.
      	* ipa-inline-analysis.c: Likewise.
      	* ipa-inline-transform.c: Likewise.
      	* ipa-inline.c: Likewise.
      	* ipa-polymorphic-call.c: Likewise.
      	* ipa-profile.c: Likewise.
      	* ipa-prop.c: Likewise.
      	* ipa-pure-const.c: Likewise.
      	* ipa-ref.c: Likewise.
      	* ipa-reference.c: Likewise.
      	* ipa-split.c: Likewise.
      	* ipa-utils.c: Likewise.
      	* ipa-visibility.c: Likewise.
      	* ipa.c: Likewise.
      	* ira-build.c: Likewise.
      	* ira-color.c: Likewise.
      	* ira-conflicts.c: Likewise.
      	* ira-costs.c: Likewise.
      	* ira-emit.c: Likewise.
      	* ira-lives.c: Likewise.
      	* ira.c: Likewise.
      	* jump.c: Likewise.
      	* langhooks.c: Likewise.
      	* lcm.c: Likewise.
      	* loop-doloop.c: Likewise.
      	* loop-init.c: Likewise.
      	* loop-invariant.c: Likewise.
      	* loop-iv.c: Likewise.
      	* loop-unroll.c: Likewise.
      	* lower-subreg.c: Likewise.
      	* lra-assigns.c: Likewise.
      	* lra-coalesce.c: Likewise.
      	* lra-constraints.c: Likewise.
      	* lra-eliminations.c: Likewise.
      	* lra-lives.c: Likewise.
      	* lra-remat.c: Likewise.
      	* lra-spills.c: Likewise.
      	* lra.c: Likewise.
      	* lto-cgraph.c: Likewise.
      	* lto-compress.c: Likewise.
      	* lto-opts.c: Likewise.
      	* lto-section-in.c: Likewise.
      	* lto-section-out.c: Likewise.
      	* lto-streamer-in.c: Likewise.
      	* lto-streamer-out.c: Likewise.
      	* lto-streamer.c: Likewise.
      	* mcf.c: Likewise.
      	* mode-switching.c: Likewise.
      	* modulo-sched.c: Likewise.
      	* omega.c: Likewise.
      	* omp-low.c: Likewise.
      	* optabs.c: Likewise.
      	* opts-global.c: Likewise.
      	* opts.h: Likewise.
      	* passes.c: Likewise.
      	* plugin.c: Likewise.
      	* postreload-gcse.c: Likewise.
      	* postreload.c: Likewise.
      	* predict.c: Likewise.
      	* pretty-print.h: Likewise.
      	* print-rtl.c: Likewise.
      	* print-tree.c: Likewise.
      	* profile.c: Likewise.
      	* real.c: Likewise.
      	* realmpfr.c: Likewise.
      	* recog.c: Likewise.
      	* ree.c: Likewise.
      	* reg-stack.c: Likewise.
      	* regcprop.c: Likewise.
      	* reginfo.c: Likewise.
      	* regrename.c: Likewise.
      	* regstat.c: Likewise.
      	* reload.c: Likewise.
      	* reload1.c: Likewise.
      	* reorg.c: Likewise.
      	* resource.c: Likewise.
      	* rtl-chkp.c: Likewise.
      	* rtl-error.c: Likewise.
      	* rtlanal.c: Likewise.
      	* rtlhooks.c: Likewise.
      	* sanopt.c: Likewise.
      	* sched-deps.c: Likewise.
      	* sched-ebb.c: Likewise.
      	* sched-rgn.c: Likewise.
      	* sched-vis.c: Likewise.
      	* sdbout.c: Likewise.
      	* sel-sched-dump.c: Likewise.
      	* sel-sched-ir.c: Likewise.
      	* sel-sched.c: Likewise.
      	* sese.c: Likewise.
      	* shrink-wrap.c: Likewise.
      	* simplify-rtx.c: Likewise.
      	* stack-ptr-mod.c: Likewise.
      	* statistics.c: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* store-motion.c: Likewise.
      	* streamer-hooks.c: Likewise.
      	* stringpool.c: Likewise.
      	* symtab.c: Likewise.
      	* target-globals.c: Likewise.
      	* targhooks.c: Likewise.
      	* toplev.c: Likewise.
      	* tracer.c: Likewise.
      	* trans-mem.c: Likewise.
      	* tree-affine.c: Likewise.
      	* tree-browser.c: Likewise.
      	* tree-call-cdce.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-chkp-opt.c: Likewise.
      	* tree-chkp.c: Likewise.
      	* tree-chrec.c: Likewise.
      	* tree-complex.c: Likewise.
      	* tree-data-ref.c: Likewise.
      	* tree-dfa.c: Likewise.
      	* tree-diagnostic.c: Likewise.
      	* tree-dump.c: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-emutls.c: Likewise.
      	* tree-if-conv.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-iterator.c: Likewise.
      	* tree-loop-distribution.c: Likewise.
      	* tree-nested.c: Likewise.
      	* tree-nrv.c: Likewise.
      	* tree-object-size.c: Likewise.
      	* tree-outof-ssa.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-phinodes.c: Likewise.
      	* tree-predcom.c: Likewise.
      	* tree-pretty-print.c: Likewise.
      	* tree-profile.c: Likewise.
      	* tree-scalar-evolution.c: Likewise.
      	* tree-sra.c: Likewise.
      	* tree-ssa-address.c: Likewise.
      	* tree-ssa-alias.c: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-coalesce.c: Likewise.
      	* tree-ssa-copy.c: Likewise.
      	* tree-ssa-copyrename.c: Likewise.
      	* tree-ssa-dce.c: Likewise.
      	* tree-ssa-dom.c: Likewise.
      	* tree-ssa-dse.c: Likewise.
      	* tree-ssa-forwprop.c: Likewise.
      	* tree-ssa-ifcombine.c: Likewise.
      	* tree-ssa-live.c: Likewise.
      	* tree-ssa-loop-ch.c: Likewise.
      	* tree-ssa-loop-im.c: Likewise.
      	* tree-ssa-loop-ivcanon.c: Likewise.
      	* tree-ssa-loop-ivopts.c: Likewise.
      	* tree-ssa-loop-manip.c: Likewise.
      	* tree-ssa-loop-niter.c: Likewise.
      	* tree-ssa-loop-prefetch.c: Likewise.
      	* tree-ssa-loop-unswitch.c: Likewise.
      	* tree-ssa-loop.c: Likewise.
      	* tree-ssa-math-opts.c: Likewise.
      	* tree-ssa-operands.c: Likewise.
      	* tree-ssa-phiopt.c: Likewise.
      	* tree-ssa-phiprop.c: Likewise.
      	* tree-ssa-pre.c: Likewise.
      	* tree-ssa-propagate.c: Likewise.
      	* tree-ssa-reassoc.c: Likewise.
      	* tree-ssa-sccvn.c: Likewise.
      	* tree-ssa-scopedtables.c: Likewise.
      	* tree-ssa-sink.c: Likewise.
      	* tree-ssa-strlen.c: Likewise.
      	* tree-ssa-structalias.c: Likewise.
      	* tree-ssa-tail-merge.c: Likewise.
      	* tree-ssa-ter.c: Likewise.
      	* tree-ssa-threadedge.c: Likewise.
      	* tree-ssa-threadupdate.c: Likewise.
      	* tree-ssa-uncprop.c: Likewise.
      	* tree-ssa-uninit.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* tree-ssanames.c: Likewise.
      	* tree-stdarg.c: Likewise.
      	* tree-streamer-in.c: Likewise.
      	* tree-streamer-out.c: Likewise.
      	* tree-streamer.c: Likewise.
      	* tree-switch-conversion.c: Likewise.
      	* tree-tailcall.c: Likewise.
      	* tree-vect-data-refs.c: Likewise.
      	* tree-vect-generic.c: Likewise.
      	* tree-vect-loop-manip.c: Likewise.
      	* tree-vect-loop.c: Likewise.
      	* tree-vect-patterns.c: Likewise.
      	* tree-vect-slp.c: Likewise.
      	* tree-vect-stmts.c: Likewise.
      	* tree-vectorizer.c: Likewise.
      	* tree-vrp.c: Likewise.
      	* tree.c: Likewise.
      	* tsan.c: Likewise.
      	* ubsan.c: Likewise.
      	* valtrack.c: Likewise.
      	* value-prof.c: Likewise.
      	* var-tracking.c: Likewise.
      	* varasm.c: Likewise.
      	* varpool.c: Likewise.
      	* vmsdbgout.c: Likewise.
      	* vtable-verify.c: Likewise.
      	* web.c: Likewise.
      	* wide-int.cc: Likewise.
      	* xcoffout.c: Likewise.
      	* config/aarch64/aarch64-builtins.c: Likewise.
      	* config/aarch64/aarch64.c: Likewise.
      	* config/alpha/alpha.c: Likewise.
      	* config/arc/arc.c: Likewise.
      	* config/arm/aarch-common.c: Likewise.
      	* config/arm/arm-builtins.c: Likewise.
      	* config/arm/arm-c.c: Likewise.
      	* config/arm/arm.c: Likewise.
      	* config/avr/avr-c.c: Likewise.
      	* config/avr/avr-log.c: Likewise.
      	* config/avr/avr.c: Likewise.
      	* config/bfin/bfin.c: Likewise.
      	* config/c6x/c6x.c: Likewise.
      	* config/cr16/cr16.c: Likewise.
      	* config/cris/cris.c: Likewise.
      	* config/darwin-c.c: Likewise.
      	* config/darwin.c: Likewise.
      	* config/default-c.c: Likewise.
      	* config/epiphany/epiphany.c: Likewise.
      	* config/epiphany/mode-switch-use.c: Likewise.
      	* config/epiphany/resolve-sw-modes.c: Likewise.
      	* config/fr30/fr30.c: Likewise.
      	* config/frv/frv.c: Likewise.
      	* config/ft32/ft32.c: Likewise.
      	* config/glibc-c.c: Likewise.
      	* config/h8300/h8300.c: Likewise.
      	* config/i386/i386-c.c: Likewise.
      	* config/i386/i386.c: Likewise.
      	* config/i386/msformat-c.c: Likewise.
      	* config/i386/winnt-cxx.c: Likewise.
      	* config/i386/winnt-stubs.c: Likewise.
      	* config/i386/winnt.c: Likewise.
      	* config/ia64/ia64-c.c: Likewise.
      	* config/ia64/ia64.c: Likewise.
      	* config/iq2000/iq2000.c: Likewise.
      	* config/lm32/lm32.c: Likewise.
      	* config/m32c/m32c-pragma.c: Likewise.
      	* config/m32c/m32c.c: Likewise.
      	* config/m32r/m32r.c: Likewise.
      	* config/m68k/m68k.c: Likewise.
      	* config/mcore/mcore.c: Likewise.
      	* config/mep/mep-pragma.c: Likewise.
      	* config/mep/mep.c: Likewise.
      	* config/microblaze/microblaze-c.c: Likewise.
      	* config/microblaze/microblaze.c: Likewise.
      	* config/mips/mips.c: Likewise.
      	* config/mmix/mmix.c: Likewise.
      	* config/mn10300/mn10300.c: Likewise.
      	* config/moxie/moxie.c: Likewise.
      	* config/msp430/msp430-c.c: Likewise.
      	* config/msp430/msp430.c: Likewise.
      	* config/nds32/nds32-cost.c: Likewise.
      	* config/nds32/nds32-fp-as-gp.c: Likewise.
      	* config/nds32/nds32-intrinsic.c: Likewise.
      	* config/nds32/nds32-isr.c: Likewise.
      	* config/nds32/nds32-md-auxiliary.c: Likewise.
      	* config/nds32/nds32-memory-manipulation.c: Likewise.
      	* config/nds32/nds32-pipelines-auxiliary.c: Likewise.
      	* config/nds32/nds32-predicates.c: Likewise.
      	* config/nds32/nds32.c: Likewise.
      	* config/nios2/nios2.c: Likewise.
      	* config/nvptx/nvptx.c: Likewise.
      	* config/pa/pa.c: Likewise.
      	* config/pdp11/pdp11.c: Likewise.
      	* config/rl78/rl78-c.c: Likewise.
      	* config/rl78/rl78.c: Likewise.
      	* config/rs6000/rs6000-c.c: Likewise.
      	* config/rs6000/rs6000.c: Likewise.
      	* config/rx/rx.c: Likewise.
      	* config/s390/s390-c.c: Likewise.
      	* config/s390/s390.c: Likewise.
      	* config/sh/sh-c.c: Likewise.
      	* config/sh/sh-mem.cc: Likewise.
      	* config/sh/sh.c: Likewise.
      	* config/sh/sh_optimize_sett_clrt.cc: Likewise.
      	* config/sh/sh_treg_combine.cc: Likewise.
      	* config/sol2-c.c: Likewise.
      	* config/sol2-cxx.c: Likewise.
      	* config/sol2-stubs.c: Likewise.
      	* config/sol2.c: Likewise.
      	* config/sparc/sparc-c.c: Likewise.
      	* config/sparc/sparc.c: Likewise.
      	* config/spu/spu-c.c: Likewise.
      	* config/spu/spu.c: Likewise.
      	* config/stormy16/stormy16.c: Likewise.
      	* config/tilegx/mul-tables.c: Likewise.
      	* config/tilegx/tilegx-c.c: Likewise.
      	* config/tilegx/tilegx.c: Likewise.
      	* config/tilepro/mul-tables.c: Likewise.
      	* config/tilepro/tilepro-c.c: Likewise.
      	* config/tilepro/tilepro.c: Likewise.
      	* config/v850/v850-c.c: Likewise.
      	* config/v850/v850.c: Likewise.
      	* config/vax/vax.c: Likewise.
      	* config/visium/visium.c: Likewise.
      	* config/vms/vms-c.c: Likewise.
      	* config/vms/vms.c: Likewise.
      	* config/vxworks.c: Likewise.
      	* config/winnt-c.c: Likewise.
      	* config/xtensa/xtensa.c: Likewise.
      
      ada
      	* ada/gcc-interface/cuintp.c: Do not include input.h, line-map.h or
      	is-a.h.
      	* ada/gcc-interface/decl.c: Likewise.
      	* ada/gcc-interface/misc.c: Likewise.
      	* ada/gcc-interface/targtyps.c: Likewise.
      	* ada/gcc-interface/trans.c: Likewise.
      	* ada/gcc-interface/utils.c: Likewise.
      	* ada/gcc-interface/utils2.c: Likewise.
      
      c
      	* c/c-array-notation.c: Do not include input.h, line-map.h or is-a.h.
      	* c/c-aux-info.c: Likewise.
      	* c/c-convert.c: Likewise.
      	* c/c-decl.c: Likewise.
      	* c/c-errors.c: Likewise.
      	* c/c-lang.c: Likewise.
      	* c/c-objc-common.c: Likewise.
      	* c/c-parser.c: Likewise.
      	* c/c-typeck.c: Likewise.
      
      c-family
      	* c-family/array-notation-common.c: Do not include input.h, line-map.h
      	or is-a.h.
      	* c-family/c-ada-spec.c: Likewise.
      	* c-family/c-cilkplus.c: Likewise.
      	* c-family/c-common.c: Likewise.
      	* c-family/c-common.h: Likewise.
      	* c-family/c-cppbuiltin.c: Likewise.
      	* c-family/c-dump.c: Likewise.
      	* c-family/c-format.c: Likewise.
      	* c-family/c-gimplify.c: Likewise.
      	* c-family/c-indentation.c: Likewise.
      	* c-family/c-lex.c: Likewise.
      	* c-family/c-omp.c: Likewise.
      	* c-family/c-opts.c: Likewise.
      	* c-family/c-pch.c: Likewise.
      	* c-family/c-ppoutput.c: Likewise.
      	* c-family/c-pragma.c: Likewise.
      	* c-family/c-pretty-print.c: Likewise.
      	* c-family/c-semantics.c: Likewise.
      	* c-family/c-ubsan.c: Likewise.
      	* c-family/cilk.c: Likewise.
      	* c-family/stub-objc.c: Likewise.
      
      common
      	* common/common-target.h: Do not include input.h, line-map.h or is-a.h.
      	* common/common-targhooks.c: Likewise.
      
      cp
      	* cp/call.c: Do not include input.h, line-map.h or is-a.h.
      	* cp/class.c: Likewise.
      	* cp/constexpr.c: Likewise.
      	* cp/cp-array-notation.c: Likewise.
      	* cp/cp-gimplify.c: Likewise.
      	* cp/cp-lang.c: Likewise.
      	* cp/cp-objcp-common.c: Likewise.
      	* cp/cp-tree.h: Likewise.
      	* cp/cp-ubsan.c: Likewise.
      	* cp/cvt.c: Likewise.
      	* cp/decl.c: Likewise.
      	* cp/decl2.c: Likewise.
      	* cp/dump.c: Likewise.
      	* cp/error.c: Likewise.
      	* cp/except.c: Likewise.
      	* cp/expr.c: Likewise.
      	* cp/friend.c: Likewise.
      	* cp/init.c: Likewise.
      	* cp/lambda.c: Likewise.
      	* cp/lex.c: Likewise.
      	* cp/mangle.c: Likewise.
      	* cp/method.c: Likewise.
      	* cp/name-lookup.c: Likewise.
      	* cp/optimize.c: Likewise.
      	* cp/parser.c: Likewise.
      	* cp/pt.c: Likewise.
      	* cp/ptree.c: Likewise.
      	* cp/repo.c: Likewise.
      	* cp/rtti.c: Likewise.
      	* cp/search.c: Likewise.
      	* cp/semantics.c: Likewise.
      	* cp/tree.c: Likewise.
      	* cp/typeck.c: Likewise.
      	* cp/typeck2.c: Likewise.
      	* cp/vtable-class-hierarchy.c: Likewise.
      
      fortran
      	* fortran/convert.c: Do not include input.h, line-map.h or is-a.h.
      	* fortran/cpp.c: Likewise.
      	* fortran/decl.c: Likewise.
      	* fortran/f95-lang.c: Likewise.
      	* fortran/gfortran.h: Likewise.
      	* fortran/iresolve.c: Likewise.
      	* fortran/match.c: Likewise.
      	* fortran/module.c: Likewise.
      	* fortran/options.c: Likewise.
      	* fortran/target-memory.c: Likewise.
      	* fortran/trans-array.c: Likewise.
      	* fortran/trans-common.c: Likewise.
      	* fortran/trans-const.c: Likewise.
      	* fortran/trans-decl.c: Likewise.
      	* fortran/trans-expr.c: Likewise.
      	* fortran/trans-intrinsic.c: Likewise.
      	* fortran/trans-io.c: Likewise.
      	* fortran/trans-openmp.c: Likewise.
      	* fortran/trans-stmt.c: Likewise.
      	* fortran/trans-types.c: Likewise.
      	* fortran/trans.c: Likewise.
      
      go
      	* go/go-backend.c: Do not include input.h, line-map.h or is-a.h.
      	* go/go-gcc.cc: Likewise.
      	* go/go-lang.c: Likewise.
      	* go/go-system.h: Likewise.
      
      java
      	* java/boehm.c: Do not include input.h, line-map.h or is-a.h.
      	* java/builtins.c: Likewise.
      	* java/class.c: Likewise.
      	* java/constants.c: Likewise.
      	* java/decl.c: Likewise.
      	* java/except.c: Likewise.
      	* java/expr.c: Likewise.
      	* java/java-gimplify.c: Likewise.
      	* java/jcf-dump.c: Likewise.
      	* java/jcf-io.c: Likewise.
      	* java/jcf-parse.c: Likewise.
      	* java/jvgenmain.c: Likewise.
      	* java/lang.c: Likewise.
      	* java/mangle.c: Likewise.
      	* java/mangle_name.c: Likewise.
      	* java/resource.c: Likewise.
      	* java/typeck.c: Likewise.
      	* java/verify-glue.c: Likewise.
      	* java/verify-impl.c: Likewise.
      
      jit
      	* jit/dummy-frontend.c: Do not include input.h, line-map.h or is-a.h.
      	* jit/jit-common.h: Likewise.
      	* jit/jit-playback.c: Likewise.
      
      lto
      	* lto/lto-lang.c: Do not include input.h, line-map.h or is-a.h.
      	* lto/lto-object.c: Likewise.
      	* lto/lto-partition.c: Likewise.
      	* lto/lto-symtab.c: Likewise.
      	* lto/lto.c: Likewise.
      
      objc
      	* objc/objc-act.c: Do not include input.h, line-map.h or is-a.h.
      	* objc/objc-encoding.c: Likewise.
      	* objc/objc-gnu-runtime-abi-01.c: Likewise.
      	* objc/objc-lang.c: Likewise.
      	* objc/objc-map.c: Likewise.
      	* objc/objc-next-runtime-abi-01.c: Likewise.
      	* objc/objc-next-runtime-abi-02.c: Likewise.
      	* objc/objc-runtime-shared-support.c: Likewise.
      
      objcp
      	* objcp/objcp-decl.c: Do not include input.h, line-map.h or is-a.h.
      	* objcp/objcp-lang.c: Likewise.
      
      From-SVN: r224562
      abb226c9
  11. Jan 30, 2015
    • Joseph Myers's avatar
      Always pass explicit location to fatal_error. · 40fecdd6
      Joseph Myers authored
      The patch <https://gcc.gnu.org/ml/gcc-patches/2014-11/msg00698.html>
      adding an overload for fatal_error that passes an explicit location
      broke gcc.pot regeneration because xgettext cannot handle function
      overloads with the diagnostic string argument in different positions.
      
      As the desired direction is for all diagnostics to have explicit
      locations, this patch addresses the regression by removing the version
      of fatal_error that does not pass a location, passing explicit
      input_location everywhere (in the hope that those will incrementally
      be changed to other locations, much as with the addition of a location
      argument to pedwarn some time ago - a lot of cases aren't meaningfully
      associated with a source file so UNKNOWN_LOCATION may be better).
      
      Note that this patch does not attempt to fix any existing issues with
      these diagnostics (such as wrongly starting with capital letters or
      ending with '.' or '\n'); it just adds the input_location argument.
      
      Bootstrapped with no regressions for x86_64-unknown-linux-gnu (Go
      excluded).
      
      gcc:
      	* diagnostic.c (fatal_error (const char *, ...)): Remove function.
      	* diagnostic-core.h (fatal_error (const char *, ...)): Remove
      	prototype.
      	* toplev.h (init_asm_output): Update comment on use of
      	UNKNOWN_LOCATION with fatal_error.
      	* cgraph.c, collect-utils.c, collect2.c, config/arc/arc.c,
      	config/arc/arc.md, config/avr/avr.c, config/c6x/c6x.h,
      	config/darwin.c, config/host-darwin.c, config/i386/host-cygwin.c,
      	config/i386/intelmic-mkoffload.c, config/nios2/nios2.c,
      	config/nvptx/mkoffload.c, config/nvptx/nvptx.h,
      	config/rs6000/host-darwin.c, config/rs6000/rs6000.c,
      	config/s390/s390.c, gcc.c, gcov-io.h, gcov-tool.c, ggc-common.c,
      	ggc-page.c, graph.c, ipa-inline-analysis.c, ipa-reference.c,
      	lto-cgraph.c, lto-section-in.c, lto-streamer-in.c, lto-streamer.c,
      	lto-wrapper.c, objc/objc-act.c, opts.c, passes.c, plugin.c,
      	tlink.c, toplev.c, tree-streamer-in.c, varpool.c: All callers of
      	fatal_error changed to pass input_location as first argument.
      
      gcc/c-family:
      	* c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
      	to pass input_location as first argument.
      
      gcc/cp:
      	* class.c, except.c, parser.c, pt.c: All callers of fatal_error
      	changed to pass input_location as first argument.
      
      gcc/fortran:
      	* f95-lang.c, gfortranspec.c, trans-const.c, trans-expr.c: All
      	callers of fatal_error changed to pass input_location as first
      	argument.
      
      gcc/java:
      	* class.c, expr.c, jcf-parse.c, jvspec.c: All callers of
      	fatal_error changed to pass input_location as first argument.
      
      gcc/lto:
      	* lto-object.c, lto-symtab.c, lto.c: All callers of fatal_error
      	changed to pass input_location as first argument.
      
      libcc1:
      	* plugin.cc: All callers of fatal_error changed to pass
      	input_location as first argument.
      
      From-SVN: r220293
      40fecdd6
  12. Jan 23, 2015
    • Jakub Jelinek's avatar
      diagnostic-core.h (internal_error_no_backtrace): New prototype. · b55f40c1
      Jakub Jelinek authored
      	* diagnostic-core.h (internal_error_no_backtrace): New prototype.
      	* diagnostic.def (DK_ICE_NOBT): New kind.
      	* diagnostic.c (diagnostic_action_after_output): Handle DK_ICE_NOBT
      	like DK_ICE, but never print backtrace.
      	(diagnostic_report_diagnostic): Handle DK_ICE_NOBT like DK_ICE.
      	(internal_error_no_backtrace): New function.
      	* gcc.c (execute): Use internal_error_no_backtrace instead of
      	internal_error.
      fortran/
      	* gfc-diagnostic.def (DK_ICE_NOBT): New kind.
      
      From-SVN: r220030
      b55f40c1
  13. Jan 05, 2015
  14. Nov 11, 2014
    • Anthony Brandon's avatar
      re PR driver/36312 (should refuse to overwrite input file with output file) · 3d00119c
      Anthony Brandon authored
      
      gcc/testsuite/ChangeLog:
      
      2014-11-11  Anthony Brandon  <anthony.brandon@gmail.com>
      	    Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR driver/36312
      	* gcc.misc-tests/output.exp: New test case for identical input and
      	output files.
      
      include/ChangeLog:
      
      2014-11-11  Anthony Brandon  <anthony.brandon@gmail.com>
      	    Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR driver/36312
      	* filenames.h: Add prototype for canonical_filename_eq.
      
      gcc/ChangeLog:
      
      2014-11-11  Anthony Brandon  <anthony.brandon@gmail.com>
      	    Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR driver/36312
      	* diagnostic-core.h: Add prototype for fatal_error.
      	* diagnostic.c (fatal_error): New function fatal_error.
      	* gcc.c (store_arg): Remove have_o_argbuf_index.
      	(process_command): Check if input and output files are the same.
      	* toplev.c (init_asm_output): Check if input and output files are
      	the same.
      
      libiberty/ChangeLog:
      
      2014-11-11  Anthony Brandon  <anthony.brandon@gmail.com>
      	    Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR driver/36312
      	* filename_cmp.c (canonical_filename_eq): New function to check if
      	file names are the same.
      	* functions.texi: Updated with documentation for new function.
      
      Co-Authored-By: default avatarManuel López-Ibáñez <manu@gcc.gnu.org>
      
      From-SVN: r217391
      3d00119c
  15. Nov 05, 2014
    • Manuel López-Ibáñez's avatar
      Revert revision 217149 because it breaks Ada: · 10a24138
      Manuel López-Ibáñez authored
      gcc/testsuite/ChangeLog:
      
      2014-11-05  Anthony Brandon  <anthony.brandon@gmail.com>
      
              PR driver/36312
              * gcc.misc-tests/output.exp: New test case for identical input and
              output files.
      
      include/ChangeLog:
      
      2014-11-05  Anthony Brandon  <anthony.brandon@gmail.com>
      
              PR driver/36312
              * filenames.h: Add prototype for canonical_filename_eq.
      
      gcc/ChangeLog:
      
      2014-11-05  Anthony Brandon  <anthony.brandon@gmail.com>
      
              PR driver/36312
              * diagnostic-core.h: Add prototype for fatal_error.
              * diagnostic.c (fatal_error): New function fatal_error.
              * gcc.c (store_arg): Remove have_o_argbuf_index.
              (process_command): Check if input and output files are the same.
              * toplev.c (init_asm_output): Check if input and output files are
              the same.
      
      libiberty/ChangeLog:
      
      2014-11-05  Anthony Brandon  <anthony.brandon@gmail.com>
      
              PR driver/36312
              * filename_cmp.c (canonical_filename_eq): New function to check if
              file names are the same.
              * functions.texi: Updated with documentation for new function.
      
      From-SVN: r217159
      10a24138
    • Anthony Brandon's avatar
      re PR driver/36312 (should refuse to overwrite input file with output file) · 9c7a77fc
      Anthony Brandon authored
      gcc/testsuite/ChangeLog:
      
      2014-11-05  Anthony Brandon  <anthony.brandon@gmail.com>
      
      	PR driver/36312
      	* gcc.misc-tests/output.exp: New test case for identical input and
      	output files.
      
      include/ChangeLog:
      
      2014-11-05  Anthony Brandon  <anthony.brandon@gmail.com>
      
      	PR driver/36312
      	* filenames.h: Add prototype for canonical_filename_eq.
      
      gcc/ChangeLog:
      
      2014-11-05  Anthony Brandon  <anthony.brandon@gmail.com>
      
      	PR driver/36312
      	* diagnostic-core.h: Add prototype for fatal_error.
      	* diagnostic.c (fatal_error): New function fatal_error.
      	* gcc.c (store_arg): Remove have_o_argbuf_index.
      	(process_command): Check if input and output files are the same.
      	* toplev.c (init_asm_output): Check if input and output files are
      	the same.
      
      libiberty/ChangeLog:
      
      2014-11-05  Anthony Brandon  <anthony.brandon@gmail.com>
      
      	PR driver/36312
      	* filename_cmp.c (canonical_filename_eq): New function to check if
      	file names are the same.
      	* functions.texi: Updated with documentation for new function.
      
      From-SVN: r217149
      9c7a77fc
  16. Sep 20, 2014
    • Jan Hubicka's avatar
      diagnostic.c (warning_n): New function. · 26e82579
      Jan Hubicka authored
      	* diagnostic.c (warning_n): New function.
      	* diagnostic-core.h (warning_n): Declare.
      	* ipa-devirt.c (ipa_devirt): Handle singulars correctly;
      	output dynamic counts when available.
      
      From-SVN: r215416
      26e82579
  17. Jan 02, 2014
  18. Apr 12, 2013
    • Jakub Jelinek's avatar
      opts.c: Include diagnostic-color.h. · 4b84d650
      Jakub Jelinek authored
      	* opts.c: Include diagnostic-color.h.
      	(common_handle_option): Handle OPT_fdiagnostics_color_.
      	* Makefile.in (OBJS-libcommon): Add diagnostic-color.o.
      	(diagnostic.o, opts.o, pretty-print.o): Depend on diagnostic-color.h.
      	(diagnostic-color.o): New.
      	* common.opt (fdiagnostics-color, fdiagnostics-color=): New options.
      	(diagnostic_color_rule): New enum.
      	* dwarf2out.c (gen_producer_string): Don't print -fdiagnostics-color*.
      	* langhooks.c (lhd_print_error_function): Add %r "locus" and %R around
      	the location string.
      	* diagnostic.def: Add 3rd argument to DEFINE_DIAGNOSTIC_KIND macros,
      	either NULL, or color kind.
      	* diagnostic-color.c: New file.
      	* diagnostic-color.h: New file.
      	* diagnostic-core.h (DEFINE_DIAGNOSTIC_KIND): Adjust macro for 3
      	arguments.
      	* doc/invoke.texi (-fdiagnostics-color): Document.
      	* pretty-print.h (pp_show_color): Define.
      	(struct pretty_print_info): Add show_color field.
      	* diagnostic.c: Include diagnostic-color.h.
      	(diagnostic_build_prefix): Adjust for 3 argument DEFINE_DIAGNOSTIC_KIND
      	macros.  Colorize error:, warning: etc. strings and also the location
      	string.
      	(diagnostic_show_locus): Colorize the caret line.
      	* pretty-print.c: Include diagnostic-color.h.
      	(pp_base_format): Handle %r and %R format specifiers.  Colorize strings
      	inside of %< %> quotes or quoted through q format modifier.
      c-family/
      	* c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
      	gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
      	specifiers.
      cp/
      	* error.c (cp_print_error_function,
      	print_instantiation_partial_context_line,
      	maybe_print_constexpr_context): Colorize locus strings.
      
      From-SVN: r197841
      4b84d650
  19. Jan 10, 2013
  20. Nov 30, 2010
    • Joseph Myers's avatar
      diagnostic-core.h: Include bversion.h. · 7c475d11
      Joseph Myers authored
      	* diagnostic-core.h: Include bversion.h.
      	* toplev.h: Don't include input.h or bversion.h.
      	(parse_optimize_options): Don't declare here.
      	* alias.c, auto-inc-dec.c, c-aux-info.c, c-convert.c, c-parser.c,
      	caller-save.c, cfg.c, cfganal.c, cfgbuild.c, cfgcleanup.c,
      	combine-stack-adj.c, config/arm/pe.c, config/darwin-c.c,
      	config/host-darwin.c, config/i386/host-cygwin.c,
      	config/i386/host-mingw32.c, config/i386/msformat-c.c,
      	config/i386/netware.c, config/i386/nwld.c,
      	config/i386/winnt-cxx.c, config/i386/winnt-stubs.c,
      	config/ia64/ia64-c.c, config/m32c/m32c-pragma.c,
      	config/mep/mep-pragma.c, config/microblaze/microblaze-c.c,
      	config/rs6000/host-darwin.c, config/rs6000/rs6000-c.c,
      	config/score/score3.c, config/score/score7.c,
      	config/sh/symbian-base.c, config/sh/symbian-c.c,
      	config/sh/symbian-cxx.c, config/sol2-c.c, config/sol2.c,
      	config/v850/v850-c.c, config/vxworks.c, convert.c, cppbuiltin.c,
      	cselib.c, dbgcnt.c, ddg.c, dfp.c, dominance.c, emit-rtl.c,
      	fixed-value.c, fwprop.c, ggc-common.c, gimple.c, gimplify.c,
      	graphite-blocking.c, graphite-clast-to-gimple.c,
      	graphite-dependences.c, graphite-flattening.c,
      	graphite-interchange.c, graphite-poly.c,
      	graphite-scop-detection.c, graphite.c, haifa-sched.c,
      	implicit-zee.c, integrate.c, ipa-pure-const.c, ipa-reference.c,
      	ira-build.c, ira-conflicts.c, ira-costs.c, ira-lives.c, jump.c,
      	lists.c, loop-doloop.c, loop-iv.c, lto-cgraph.c, lto-compress.c,
      	lto-opts.c, lto-section-in.c, lto-section-out.c,
      	lto-streamer-out.c, lto-symtab.c, modulo-sched.c, optabs.c,
      	params.c, postreload-gcse.c, postreload.c, predict.c, profile.c,
      	regcprop.c, reginfo.c, regmove.c, reorg.c, resource.c,
      	sched-deps.c, sched-ebb.c, sched-rgn.c, sdbout.c,
      	sel-sched-dump.c, sel-sched-ir.c, sese.c, stmt.c, targhooks.c,
      	tree-cfgcleanup.c, tree-mudflap.c, tree-nomudflap.c,
      	tree-object-size.c, tree-outof-ssa.c, tree-phinodes.c,
      	tree-profile.c, tree-sra.c, tree-ssa-ccp.c, tree-ssa-coalesce.c,
      	tree-ssa-live.c, tree-ssa-loop-prefetch.c, tree-ssa-loop.c,
      	tree-ssa-operands.c, tree-ssa-structalias.c, tree-ssa-uninit.c,
      	tree-vect-patterns.c, value-prof.c, var-tracking.c, web.c: Don't
      	include toplev.h.
      	* Makefile.in (TOPLEV_H): Remove.  All uses changed to use
      	toplev.h.  Dependencies for above files and c-family files changed
      	to remove $(TOPLEV_H) or toplev.h.
      	(C_TREE_H): Don't include $(TOPLEV_H).
      	(DIAGNOSTIC_CORE_H): Use $(INPUT_H) instead of input.h.  Add
      	bversion.h.
      	* config/arm/t-pe, config/arm/t-wince-pe, config/i386/t-cygming,
      	config/ia64/t-ia64, config/mep/t-mep, config/score/t-score-elf,
      	config/t-darwin, config/t-sol2,
      	config/t-vxworks, config/v850/t-v850, config/v850/t-v850e:
      	Dependencies for above files changed to remove $(TOPLEV_H) or
      	toplev.h.
      
      c-family:
      	* c-common.h (parse_optimize_options): Declare.
      	* c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
      	c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
      
      cp:
      	* cp-gimplify.c, cp-lang.c, cvt.c, cxx-pretty-print.c, error.c,
      	except.c, expr.c, friend.c, init.c, mangle.c, name-lookup.c,
      	optimize.c, parser.c, rtti.c, tree.c, typeck2.c: Don't include
      	toplev.h.
      	* Make-lang.in: Dependencies for above files changed to remove
      	toplev.h.
      
      java:
      	* expr.c, lang.c, mangle.c, mangle_name.c, typeck.c,
      	verify-glue.c: Don't include toplev.h.
      	* Make-lang.in: Dependencies for above files changed to remove
      	toplev.h.
      
      lto:
      	* Make-lang.in (lto/lto-object.o): Depend on toplev.h instead of
      	$(TOPLEV_H).
      
      From-SVN: r167293
      7c475d11
  21. Jun 21, 2010
    • DJ Delorie's avatar
      diagnostic.h (diagnostic_classification_change_t): New. · cd7fe53b
      DJ Delorie authored
      * diagnostic.h (diagnostic_classification_change_t): New.
      (diagnostic_context): Add history and push/pop list.
      (diagnostic_push_diagnostics): Declare.
      (diagnostic_pop_diagnostics): Declare.
      * diagnostic.c (diagnostic_classify_diagnostic): Store changes
      from pragmas in a history chain instead of the global table.
      (diagnostic_push_diagnostics): New.
      (diagnostic_pop_diagnostics): New.
      (diagnostic_report_diagnostic): Scan history chain to find state
      of diagnostics as of the diagnostic location.
      * opts.c (set_option): Pass UNKNOWN_LOCATION to
      diagnostic_classify_diagnostic.
      (enable_warning_as_error): Likewise.
      * diagnostic-core.h (DK_POP): Add after "real" diagnostics, for
      use in the history chain.
      * c-family/c-pragma.c (handle_pragma_diagnostic): Add push/pop,
      allow these pragmas anywhere.
      * doc/extend.texi: Document pragma GCC diagnostic changes.
      
      * gcc.dg/pragma-diag-1.c: New.
      
      From-SVN: r161115
      cd7fe53b
  22. May 27, 2010
    • Joseph Myers's avatar
      diagnostic-core.h: New. · 1da2ed5f
      Joseph Myers authored
      	* diagnostic-core.h: New.  Contents moved from diagnostic.h and
      	toplev.h.
      	* diagnostic.c: Don't include toplev.h.
      	(progname): Define.  Moved from toplev.c.
      	(seen_error): New function.
      	* diagnostic.h: Include diagnostic-core.h.
      	(diagnostic_t, emit_diagnostic): Don't declare here.
      	* toplev.c (progname): Move to toplev.c.
      	(emit_debug_global_declarations, compile_file, finalize,
      	do_compile, toplev_main): Use seen_error.
      	* toplev.h: Include diagnostic-core.h.
      	(trim_filename, GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG,
      	internal_error, warning, warning_at, error, error_n, error_at,
      	fatal_error, pedwarn, permerror, sorry, inform, inform_n,
      	verbatim, fnotice, progname): Move to diagnostic-core.h.
      	* builtins.c: Include diagnostic-core.h instead of diagnostic.h.
      	(expand_builtin_expect): Use seen_error.
      	* c-decl.c: Include diagnostic-core.h instead of diagnostic.h.
      	(c_make_fname_decl, c_write_global_declarations): Use seen_error.
      	* c-format.c: Include diagnostic-core.h instead of diagnostic.h.
      	* c-gimplify.c: Include diagnostic-core.h instead of diagnostic.h.
      	* c-lang.c: Include diagnostic-core.h instead of diagnostic.h.
      	* c-lex.c (c_lex_with_flags, interpret_float): Don't increment
      	errorcount for errors.
      	* c-opts.c (c_common_finish): Use seen_error.
      	* cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
      	* cgraphunit.c (verify_cgraph_node, verify_cgraph,
      	cgraph_output_pending_asms, cgraph_optimize): Use seen_error.
      	* coverage.c: Include diagnostic-core.h instead of diagnostic.h.
      	(get_coverage_counts): Use seen_error.
      	* dwarf2out.c (dwarf2out_finish): Use seen_error.
      	* gimplify.c (gimplify_var_or_parm_decl, gimple_push_cleanup,
      	gimplify_body): Use seen_error.
      	* ipa-inline.c (cgraph_early_inlining): Use seen_error.
      	* ipa-pure-const.c (gate_pure_const): Use seen_error.
      	* ipa-reference.c (gate_reference): Use seen_error.
      	* jump.c: Include diagnostic-core.h instead of diagnostic.h.
      	* lambda-code.c: Include diagnostic-core.h instead of
      	diagnostic.h.
      	* lto-cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
      	* lto-compress.c: Include diagnostic-core.h instead of
      	diagnostic.h.
      	* lto-section-in.c: Include diagnostic-core.h instead of
      	diagnostic.h.
      	* lto-streamer-out.c: Include diagnostic-core.h instead of
      	diagnostic.h.
      	* lto-streamer.c: Include diagnostic-core.h instead of
      	diagnostic.h.
      	(gate_lto_out): Use seen_error.
      	* matrix-reorg.c: Include diagnostic-core.h instead of
      	diagnostic.h.
      	* omega.c: Include diagnostic-core.h instead of diagnostic.h.
      	* omp-low.c: Include diagnostic-core.h instead of diagnostic.h.
      	(gate_expand_omp, lower_omp_1): Use seen_error.
      	* passes.c: Include diagnostic-core.h instead of diagnostic.h.
      	(rest_of_decl_compilation, rest_of_type_compilation,
      	gate_rest_of_compilation, ipa_write_summaries): Use seen_error.
      	* tree-cfg.c (label_to_block_fn): Use seen_error.
      	* tree-inline.c (optimize_inline_calls): Use seen_error.
      	* tree-mudflap.c (mudflap_finish_file): Use
      	seen_error.
      	* tree-optimize.c (gate_all_optimizations,
      	gate_all_early_local_passes, gate_all_early_optimizations): Use
      	seen_error.
      	* tree-ssa-structalias.c (gate_ipa_pta): Use seen_error.
      	* varpool.c: Include diagnostic-core.h instead of diagnostic.h.
      	(varpool_remove_unreferenced_decls,
      	varpool_assemble_pending_decls): Use seen_error.
      	* Makefile.in (DIAGNOSTIC_CORE_H): Define.
      	(TOPLEV_H, DIAGNOSTIC_H): Update.
      	(c-decl.o, c-lang.o, c-format.o, lto-compress.o, lto-cgraph.o,
      	lto-streamer-out.o, lto-section-in.o, lto-streamer.o,
      	c-gimplify.o, omp-low.o, omega.o, diagnostic.o, passes.o,
      	builtins.o, jump.o, cgraph.o, varpool.o, matrix-reorg.o,
      	coverage.o, lambda-code.o): Update dependencies.
      
      cp:
      	* call.c: Include diagnostic-core.h instead of diagnostic.h.
      	* cp-lang.c: Don't include diagnostic.h
      	* name-lookup.c: Include diagnostic-core.h instead of
      	diagnostic.h.
      	(cp_emit_debug_info_for_using): Use seen_error.
      	* optimize.c: Include diagnostic-core.h instead of diagnostic.h.
      	* parser.c: Include diagnostic-core.h instead of diagnostic.h.
      	* pt.c (iterative_hash_template_arg): Use seen_error.
      	* repo.c: Include diagnostic-core.h instead of diagnostic.h.
      	* typeck2.c: Include diagnostic-core.h instead of diagnostic.h.
      	* Make-lang.in (cp/cp-lang.o, cp/typeck2.o, cp/call.o, cp/repo.o,
      	cp/optimize.o, cp/parser.o, cp/name-lookup.o): Update
      	dependencies.
      
      lto:
      	* lto.c: Include diagnostic-core.h instead of diagnostic.h.
      	(read_cgraph_and_symbols, lto_main): Use seen_error.
      	* Make-lang.in (lto/lto.o): Update dependencies.
      
      objc:
      	* objc-act.c: Include diagnostic-core.h instead of diagnostic.h.
      	* Make-lang.in (objc/objc-act.o): Update dependencies.
      
      From-SVN: r159947
      1da2ed5f
Loading