Skip to content
Snippets Groups Projects
  1. Mar 16, 2024
  2. Feb 29, 2024
    • Tom Tromey's avatar
      Fix PR libcc1/113977 · bc0e18a9
      Tom Tromey authored
      PR libcc1/113977 points out a case where a simple expression is
      rejected with a compiler error message.  The bug here is that gdb does
      not inform the plugin of the correct alignment -- in fact, there is no
      way to do that.
      
      This patch adds a new method to allow the alignment to be set, and
      bumps the C front end protocol version.
      
      It also includes some updates to various comments in 'include', done
      here to simplify the merge to binutils-gdb.
      
      include
      
      	* gcc-cp-interface.h (gcc_cp_fe_context_function): Update
      	comment.
      	* gcc-c-interface.h (enum gcc_c_api_version) <GCC_C_FE_VERSION_2>:
      	New constant.
      	(gcc_c_fe_context_function): Update comment.
      	* gcc-c-fe.def (finish_record_with_alignment): New method.
      	Update documentation.
      
      libcc1
      
      	PR libcc1/113977
      	* libcc1plugin.cc (plugin_finish_record_or_union): New function.
      	(plugin_finish_record_or_union): Rewrite.
      	(plugin_init): Use GCC_C_FE_VERSION_2.
      	* libcc1.cc (c_vtable): Use GCC_C_FE_VERSION_2.
      	(gcc_c_fe_context): Check for GCC_C_FE_VERSION_2.
      
      
      bc0e18a9
    • Tom Tromey's avatar
      Change 'v1' float and int code to fall back to v0 · fd846abc
      Tom Tromey authored
      While working on another patch, I discovered that the libcc1 plugin
      code never did version negotiation correctly.  So, the patches to
      introduce v1 never did anything -- the new code, as far as I know, has
      never been run.
      
      Making version negotiation work shows that the existing code causes
      crashes.  For example, safe_lookup_builtin_type might return
      error_mark_node in some cases, which the callers aren't prepared to
      accept.
      
      Looking into it some more, I couldn't find any justification for this
      v1 code for the C compiler plugin.  Since it's not run at all, it's
      also clear that removing it doesn't cause any regressions in gdb.
      
      However, rather than remove it, this patch changes it to handle
      ERROR_MARK better, and then to fall back to the v0 code if the new
      code fails to find the type it's looking for.
      
      libcc1
      
      	* libcc1plugin.cc (safe_lookup_builtin_type): Handle ERROR_MARK.
      	(plugin_int_type): Fall back to plugin_int_type_v0.
      	(plugin_float_type): Fall back to plugin_float_type_v0.
      
      
      fd846abc
  3. Jan 03, 2024
  4. Nov 16, 2023
    • Tom Tromey's avatar
      Fix crash in libcc1 · 6d16e460
      Tom Tromey authored
      The gdb tests of the libcc1 plugin have been failing lately.  I
      tracked this down to a crash trying to access an enum's underlying
      type.  This patch fixes the crash by setting this type.
      
      
      	* libcc1plugin.cc (plugin_build_enum_type): Set
      	ENUM_UNDERLYING_TYPE.
      6d16e460
  5. May 18, 2023
    • Bernhard Reutner-Fischer's avatar
      c: use _P() defines from tree.h · 9157b213
      Bernhard Reutner-Fischer authored
      gcc/c-family/ChangeLog:
      
      	* c-ada-spec.cc (has_static_fields): Use _P() defines from tree.h.
      	(dump_ada_declaration): Ditto.
      	(dump_ada_structure): Ditto.
      	* c-common.cc (unsafe_conversion_p): Ditto.
      	(shorten_compare): Ditto.
      	(pointer_int_sum): Ditto.
      	(c_common_truthvalue_conversion): Ditto.
      	(scalar_to_vector): Ditto.
      	* c-common.h (gnu_vector_type_p): Ditto.
      	* c-omp.cc (c_omp_depend_t_p): Ditto.
      	(c_omp_split_clauses): Ditto.
      	* c-ubsan.cc (ubsan_instrument_division): Ditto.
      	* c-warn.cc (conversion_warning): Ditto.
      	(warnings_for_convert_and_check): Ditto.
      
      gcc/c/ChangeLog:
      
      	* c-convert.cc (c_convert): Ditto.
      	* c-decl.cc (merge_decls): Ditto.
      	* c-parser.cc (c_parser_omp_clause_reduction): Ditto.
      	(c_parser_omp_declare_reduction): Ditto.
      	* c-typeck.cc (build_component_ref): Ditto.
      	(convert_argument): Ditto.
      	(pointer_diff): Ditto.
      	(build_unary_op): Ditto.
      	(build_c_cast): Ditto.
      	(build_modify_expr): Ditto.
      	(store_init_value): Ditto.
      	(constexpr_init_fits_real_type): Ditto.
      	(check_constexpr_init): Ditto.
      	(c_finish_return): Ditto.
      	(handle_omp_array_sections_1): Ditto.
      	(c_finish_omp_clauses): Ditto.
      	* gimple-parser.cc (c_finish_gimple_return): Ditto.
      
      libcc1/ChangeLog:
      
      	* libcc1plugin.cc (plugin_float_type): Ditto.
      	* libcp1plugin.cc (plugin_reactivate_decl): Ditto.
      	(plugin_get_float_type): Ditto.
      9157b213
  6. Jan 16, 2023
  7. Jun 27, 2022
    • Sergei Trofimovich's avatar
      c++: avoid <memory> poisoning on musl [PR106102] · 3b21c21f
      Sergei Trofimovich authored
      On musl <pthread.h> uses calloc() (via <sched.h>). <memory> includes
      it indirectly and exposes use of poisoned calloc() when module code
      is built:
      
          /build/build/./prev-gcc/xg++ ... ../../gcc-13-20220626/gcc/cp/mapper-resolver.cc
              In file included from /<<NIX>>/musl-1.2.3-dev/include/pthread.h:30,
                       from /build/build/prev-x86_64-unknown-linux-musl/libstdc++-v3/include/x86_64-unknown-linux-musl/bits/gthr-default.h:35,
                       ....
                       from /build/build/prev-x86_64-unknown-linux-musl/libstdc++-v3/include/memory:77,
                       from ../../gcc-13-20220626/gcc/../libcody/cody.hh:24,
                       from ../../gcc-13-20220626/gcc/cp/../../c++tools/resolver.h:25,
                       from ../../gcc-13-20220626/gcc/cp/../../c++tools/resolver.cc:23,
                       from ../../gcc-13-20220626/gcc/cp/mapper-resolver.cc:32:
          /<<NIX>>/musl-1.2.3-dev/include/sched.h:84:7: error: attempt to use poisoned "calloc"
             84 | void *calloc(size_t, size_t);
                |       ^
          /<<NIX>>/musl-1.2.3-dev/include/sched.h:124:36: error: attempt to use poisoned "calloc"
            124 | #define CPU_ALLOC(n) ((cpu_set_t *)calloc(1,CPU_ALLOC_SIZE(n)))
                |                                    ^
      
      gcc/cp/
      
      	PR c++/106102
      	* mapper-client.cc: Include <memory> via "system.h".
      	* mapper-resolver.cc: Ditto.
      	* module.cc: Ditto.
      
      libcc1/
      
      	PR c++/106102
      	* libcc1plugin.cc: Include <memory> via "system.h".
      	* libcp1plugin.cc: Ditto.
      3b21c21f
  8. Jan 03, 2022
  9. May 05, 2021
    • Tom Tromey's avatar
      libcc1: use variadic templates for callbacks · 8fdffa48
      Tom Tromey authored
      This patch completes the transition of libcc1 from the use of separate
      template functions for different arities to the use of variadic
      functions.  This is how I had wanted it to work from the very
      beginning, and is possible now with C++11.
      
      I had thought that variadic callbacks required C++17, but it turns out
      that the approach taken here is basically equivalent to std::apply --
      just a bit wordier.
      
      libcc1
      
      	* rpc.hh (argument_wrapper) <get>: Replace cast operator.
      	(argument_wrapper<T *>) <get>: Likewise.
      	(unmarshall): Add std::tuple overloads.
      	(callback): Remove.
      	(class invoker): New.
      	* libcp1plugin.cc (plugin_init): Update.
      	* libcp1.cc (libcp1::add_callbacks): Update.
      	* libcc1plugin.cc (plugin_init): Update.
      	* libcc1.cc (libcc1::add_callbacks): Update.
      	* connection.cc (cc1_plugin::connection::do_wait): Update.
      
      
      8fdffa48
    • Tom Tromey's avatar
      libcc1: share basic context code · 06248232
      Tom Tromey authored
      Both plugins in libcc1 share a fair amount of boilerplate.  They both
      share error-emission code, context management code, and tree GC code.
      This patch unifies these two bodies of code, avoiding needless
      duplication.
      
      libcc1
      
      	* libcc1plugin.cc: Move code to context.cc.
      	* libcp1plugin.cc: Move code to context.cc.
      	* context.hh: New file.
      	* context.cc: New file.
      	* Makefile.in: Rebuild.
      	* Makefile.am (AM_CPPFLAGS): Add more gcc flags.
      	(CPPFLAGS_FOR_C, CPPFLAGS_FOR_CXX): Update.
      	(libcc1plugin_la_SOURCES): Add context.hh, context.cc.
      	(libcp1plugin_la_SOURCES): Likewise.
      
      
      06248232
    • Tom Tromey's avatar
      libcc1: use foreach · 7c4e5d5e
      Tom Tromey authored
      This changes libcc1 to ues foreach in a couple of spots.
      
      libcc1
      
      	* libcp1plugin.cc (plugin_context::mark): Use foreach.
      	* libcc1plugin.cc (plugin_context::mark): Use foreach.
      
      
      7c4e5d5e
    • Tom Tromey's avatar
      libcc1: use std::vector when building function types · e702c60e
      Tom Tromey authored
      This changes libcc1 to use std::vector in the code that builds
      function types.  This avoids some explicit memory management.
      
      libcc1
      
      	* libcp1plugin.cc (plugin_build_function_type): Use std::vector.
      	* libcc1plugin.cc (plugin_build_function_type): Use std::vector.
      
      
      e702c60e
    • Tom Tromey's avatar
      libcc1: use templates to unmarshall enums · 25d1a6ec
      Tom Tromey authored
      Now that C++11 can be used in GCC, libcc1 can be changed to use
      templates and type traits to handle unmarshalling all kinds of enums.
      
      libcc1
      
      	* marshall.hh (cc1_plugin::unmarshall): Use type traits.
      	* marshall-cp.hh (cc1_plugin::unmarshall): Remove overloads.
      	* marshall-c.hh: Remove.
      	* libcc1plugin.cc: Update includes.
      	* libcc1.cc: Update includes.
      
      
      25d1a6ec
  10. Jan 04, 2021
  11. Nov 06, 2020
    • Nathan Sidwell's avatar
      core: Rename DECL_IS_BUILTIN -> DECL_IS_UNDECLARED_BUILTIN · ba649812
      Nathan Sidwell authored
      In cleaning up C++'s handling of hidden decls, I renamed its
      DECL_BUILTIN_P, which checks for loc == BUILTINS_LOCATION to
      DECL_UNDECLARED_BUILTIN_P, because the location gets updated, if user
      source declares the builtin, and the predicate no longer holds.  The
      original name was confusing me.  (The builtin may still retain builtin
      properties in the redeclaration, and other predicates can still detect
      that.)
      
      I discovered that tree.h had its own variant 'DECL_IS_BUILTIN', which
      behaves in (almost) the same manner.  And therefore has the same
      mutating behaviour.
      
      This patch deletes the C++ one, and renames tree.h's to
      DECL_IS_UNDECLARED_BUILTIN, to emphasize its non-constantness.  I
      guess _IS_ wins over _P
      
      	gcc/
      	* tree.h (DECL_IS_BUILTIN): Rename to ...
      	(DECL_IS_UNDECLARED_BUILTIN): ... here.  No need to use SOURCE_LOCUS.
      	* calls.c (maybe_warn_alloc_args_overflow): Adjust for rename.
      	* cfgexpand.c (pass_expand::execute): Likewise.
      	* dwarf2out.c (base_type_die, is_naming_typedef_decl): Likewise.
      	* godump.c (go_decl, go_type_decl): Likewise.
      	* print-tree.c (print_decl_identifier): Likewise.
      	* tree-pretty-print.c (dump_generic_node): Likewise.
      	* tree-ssa-ccp.c (pass_post_ipa_warn::execute): Likewise.
      	* xcoffout.c (xcoff_assign_fundamental_type_number): Likewise.
      	gcc/c-family/
      	* c-ada-spec.c (collect_ada_nodes): Rename
      	DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
      	(collect_ada_node): Likewise.
      	(dump_forward_type): Likewise.
      	* c-common.c (set_underlying_type): Rename
      	DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
      	(user_facing_original_type, c_common_finalize_early_debug): Likewise.
      	gcc/c/
      	* c-decl.c (diagnose_mismatched_decls): Rename
      	DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
      	(warn_if_shadowing, implicitly_declare, names_builtin_p)
      	(collect_source_refs): Likewise.
      	* c-typeck.c (inform_declaration, inform_for_arg)
      	(convert_for_assignment): Likewise.
      	gcc/cp/
      	* cp-tree.h (DECL_UNDECLARED_BUILTIN_P): Delete.
      	* cp-objcp-common.c (names_bultin_p): Rename
      	DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
      	* decl.c (decls_match): Likewise.  Replace
      	DECL_UNDECLARED_BUILTIN_P with DECL_IS_UNDECLARED_BUILTIN.
      	(duplicate_decls): Likewise.
      	* decl2.c (collect_source_refs): Likewise.
      	* name-lookup.c (anticipated_builtin_p, print_binding_level)
      	(do_nonmember_using_decl): Likewise.
      	* pt.c (builtin_pack_fn_p): Likewise.
      	* typeck.c (error_args_num): Likewise.
      	gcc/lto/
      	* lto-symtab.c (lto_symtab_merge_decls_1): Rename
      	DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
      	gcc/go/
      	* go-gcc.cc (Gcc_backend::call_expression): Rename
      	DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
      	libcc1/
      	* libcc1plugin.cc (address_rewriter): Rename
      	DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
      	* libcp1plugin.cc (supplement_binding): Likewise.
      ba649812
  12. Jan 01, 2020
  13. Jan 01, 2019
  14. Nov 13, 2018
    • David Malcolm's avatar
      Eliminate source_location in favor of location_t · 620e594b
      David Malcolm authored
      Historically GCC used location_t, while libcpp used source_location.
      
      This inconsistency has been annoying me for a while, so this patch
      removes source_location in favor of location_t throughout
      (as the latter is shorter).
      
      gcc/ChangeLog:
      	* builtins.c: Replace "source_location" with "location_t".
      	* diagnostic-show-locus.c: Likewise.
      	* diagnostic.c: Likewise.
      	* dumpfile.c: Likewise.
      	* gcc-rich-location.h: Likewise.
      	* genmatch.c: Likewise.
      	* gimple.h: Likewise.
      	* gimplify.c: Likewise.
      	* input.c: Likewise.
      	* input.h: Likewise.  Eliminate the typedef.
      	* omp-expand.c: Likewise.
      	* selftest.h: Likewise.
      	* substring-locations.h (get_source_location_for_substring):
      	Rename to..
      	(get_location_within_string): ...this.
      	* tree-cfg.c: Replace "source_location" with "location_t".
      	* tree-cfgcleanup.c: Likewise.
      	* tree-diagnostic.c: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-outof-ssa.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-phinodes.c: Likewise.
      	* tree-phinodes.h: Likewise.
      	* tree-ssa-loop-ivopts.c: Likewise.
      	* tree-ssa-loop-manip.c: Likewise.
      	* tree-ssa-phiopt.c: Likewise.
      	* tree-ssa-phiprop.c: Likewise.
      	* tree-ssa-threadupdate.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* tree-ssa.h: Likewise.
      	* tree-vect-loop-manip.c: Likewise.
      
      gcc/c-family/ChangeLog:
      	* c-common.c (c_get_substring_location): Update for renaming of
      	get_source_location_for_substring to get_location_within_string.
      	* c-lex.c: Replace "source_location" with "location_t".
      	* c-opts.c: Likewise.
      	* c-ppoutput.c: Likewise.
      
      gcc/c/ChangeLog:
      	* c-decl.c: Replace "source_location" with "location_t".
      	* c-tree.h: Likewise.
      	* c-typeck.c: Likewise.
      	* gimple-parser.c: Likewise.
      
      gcc/cp/ChangeLog:
      	* call.c: Replace "source_location" with "location_t".
      	* cp-tree.h: Likewise.
      	* cvt.c: Likewise.
      	* name-lookup.c: Likewise.
      	* parser.c: Likewise.
      	* typeck.c: Likewise.
      
      gcc/fortran/ChangeLog:
      	* cpp.c: Replace "source_location" with "location_t".
      	* gfortran.h: Likewise.
      
      gcc/go/ChangeLog:
      	* go-gcc-diagnostics.cc: Replace "source_location" with "location_t".
      	* go-gcc.cc: Likewise.
      	* go-linemap.cc: Likewise.
      	* go-location.h: Likewise.
      	* gofrontend/README: Likewise.
      
      gcc/jit/ChangeLog:
      	* jit-playback.c: Replace "source_location" with "location_t".
      
      gcc/testsuite/ChangeLog:
      	* g++.dg/plugin/comment_plugin.c: Replace "source_location" with
      	"location_t".
      	* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c: Likewise.
      
      libcc1/ChangeLog:
      	* libcc1plugin.cc: Replace "source_location" with "location_t".
      	(plugin_context::get_source_location): Rename to...
      	(plugin_context::get_location_t): ...this.
      	* libcp1plugin.cc: Likewise.
      
      libcpp/ChangeLog:
      	* charset.c: Replace "source_location" with "location_t".
      	* directives-only.c: Likewise.
      	* directives.c: Likewise.
      	* errors.c: Likewise.
      	* expr.c: Likewise.
      	* files.c: Likewise.
      	* include/cpplib.h: Likewise.  Rename MAX_SOURCE_LOCATION to
      	MAX_LOCATION_T.
      	* include/line-map.h: Likewise.
      	* init.c: Likewise.
      	* internal.h: Likewise.
      	* lex.c: Likewise.
      	* line-map.c: Likewise.
      	* location-example.txt: Likewise.
      	* macro.c: Likewise.
      	* pch.c: Likewise.
      	* traditional.c: Likewise.
      
      From-SVN: r266085
      620e594b
  15. Jan 03, 2018
  16. Jan 31, 2017
    • Alexandre Oliva's avatar
      Introduce C++ support in libcc1 · 8db29d88
      Alexandre Oliva authored
      Extend libcc1's with an API for C++ support.
      
      Extend libcc1's C API to distinguish between integral types with the
      same width, as in C++.  Likewise for float types.
      
      Export small bits of functionality from the C++ front-end for use in
      libcc1.  Add support for the C++ front-end to look up names and
      addresses using a libcc1-registered binding oracle.  Add support for
      global friends.
      
      
      for  gcc/cp/ChangeLog
      
      	Introduce C++ support in libcc1.
      	* cp-tree.h (struct lang_identifier): Add oracle_looked_up.
      	(ansi_opname): Rename to...
      	(cp_operator_id): ... this.  Adjust all callers.
      	(ansi_assopname): Rename to...
      	(cp_assignment_operator_id): ... this.  Adjust all callers.
      	(cp_literal_operator_id): Declare.
      	(set_global_friend): Declare.
      	(is_global_friend): Declare.
      	(enum cp_oracle_request): New type.
      	(cp_binding_oracle_function): New type.
      	(cp_binding_oracle): Declare.
      	(cp_finish_injected_record_type): Declare.
      	* friend.c (global_friend): New var.
      	(set_global_friend): New fn.
      	(is_global_friend): New fn.
      	(is_friend): Call is_global_friend.
      	* name-lookup.c (cp_binding_oracle): New var.
      	(query_oracle): New fn.
      	(qualified_lookup_using_namespace): Call query_oracle.
      	(lookup_name_real_1): Likewise.
      	* parser.c (cp_literal_operator_id): Drop static.
      	* search.c (friend_accessible_p): Call is_global_friend.
      	* semantics.c (is_this_parameter): Accept a variable if the
      	binding oracle is enabled.
      
      for  include/ChangeLog
      
      	Introduce C++ support in libcc1.
      	* gcc-c-fe.def (int_type_v0): Rename from...
      	(int_type): ... this.  Introduce new version.
      	(float_type_v0): Rename from...
      	(float_type): ... this.  Introduce new version.
      	(char_type): New.
      	* gcc-c-interface.h (gcc_c_api_version): Add GCC_C_FE_VERSION_1.
      	(gcc_type_array): Move...
      	* gcc-interface.h: ... here.
      	* gcc-cp-fe.def: New.
      	* gcc-cp-interface.h: New.
      
      for  libcc1/ChangeLog
      
      	Introduce C++ support.
      	* Makefile.am (AM_CPPFLAGS): Move some -I flags to...
      	(CPPFLAGS_FOR_C_FAMILY, CPPFLAGS_FOR_C, CPPFLAGS_FOR_CXX): ...
      	new macros.
      	(plugin_LTLIBRARIES): Add libcp1plugin.la.
      	(BUILT_SOURCES, MOSTLYCLEANFILES): Add...
      	(cp-compiler-name.h): ... this.  New.
      	(c-compiler-name.h): Rename all over from...
      	(compiler-name.h): ... this.  Create it atomically.
      	(marshall_c_source, marshall_cxx_source): New macros.
      	(libcc1plugin_la_SOURCES): Rename plugin.cc to libcc1plugin.cc.
      	Add marshall_c_source expansion.
      	(libcc1plugin.lo_CPPFLAGS): New macro.
      	(libcp1plugin_la_LDFLAGS): Likewise.
      	(libcp1plugin_la_SOURCES): Likewise.
      	(libcp1plugin.lo_CPPFLAGS): Likewise.
      	(libcp1plugin_la_LIBADD): Likewise.
      	(libcp1plugin_la_DEPENDENCIES): Likewise.
      	(libcp1plugin_la_LINK): Likewise.
      	(libcc1_la_SOURCES): Added marshall_c_source and
      	marshall_cxx_source expansions.
      	* Makefile.in: Rebuild.
      	* compiler-name.h: Rename all over to...
      	* c-compiler-name.h: ... this.  Define C_COMPILER_NAME instead
      	of COMPILER_NAME.
      	* plugin.cc: Rename all over to...
      	* libcc1plugin.cc: ... this.  Include marshall-c.hh.
      	(address_rewriter): Drop cleaning up of VLA sizes.
      	(plugin_build_decl): Mark decls as external.
      	(plugin_tagbind): Propagate name to all variants.
      	(build_anonymous_node): New.
      	(plugin_build_record_type): Use it instead of make_node.
      	(plugin_build_union_type): Likewise.
      	(plugin_build_enum_type): Likewise.
      	(plugin_finish_record_or_union): Update all type variants.
      	(safe_lookup_builtin_type): New.
      	(plugin_int_check): Factor out of, and add checks to, ...
      	(plugin_int_type): ... this.  Rename to...
      	(plugin_int_type_v0): ... this.
      	(plugin_int_type): New interface, new implementation.
      	(plugin_char_type): New.
      	(plugin_float_type_v0): Rename from...
      	(plugin_float_type): ... this.  New interface, new implementation.
      	(plugin_init): Bump handshake version.
      	* libcc1.cc: Include marshall-c.hh.  Drop gcc-interface.h.
      	(call_binding_oracle): Rename to...
      	(c_call_binding_oracle): ... this, into anonymous namespace.
      	(call_symbol_address): Rename to...
      	(c_call_symbol_address): ... this, likewise.
      	(GCC_METHOD#): Move methods into cc1plugin::c:: namespace.
      	(libcc1::compiler::find): Refer to C_COMPILER_NAME.
      	(fork_exec): Bump to GCC_C_FE_VERSION_1.
      	(libcc1_compile): Prefix callbacks with c_.
      	(gcc_c_fe_context): Accept GCC_C_FE_VERSION_1.
      	* libcc1.sym: Export gcc_cp_fe_context.
      	* libcp1.cc: New, mostly copied and adjusted from libcc1.cc.
      	* libcp1plugin.cc: New, initially copied from libcc1plugin.cc.
      	* libcp1plugin.sym: New.
      	* marshall-c.hh: New.  Move C-specific types from...
      	* marshall.cc: ... this.
      	(cc1_plugin::marshall_array_start): New.
      	(cc1_plugin::marshall_array_elmts): New.
      	(cc1_plugin::marshall for gcc_type_array): Use the above.
      	(cc1_plugin::unmarshall_array_start): New.
      	(cc1_plugin::unmarshall_array_elmts): New.
      	(cc1_plugin::unmarshall for gcc_type_array): Use the above.
      	* marshall.hh: Declare the new array building blocks.
      	Drop C-specific unmarshall declarations.
      	* marshall-cp.hh: New.
      	* names.cc (GCC_METHOD#): Add LANG:: to method names.
      	(LANG): Define while including gcc-c-fe.def and gcc-cp-fe.def.
      	* names.hh: Include gcc-c-fe.def and gcc-cp-fe.def in the
      	corresponding namespaces.
      	* rpc.hh: Don't include marshall.hh.
      	[GCC_CP_INTERFACE_H] (argument_wrapper): Specialize for
      	gcc_vbase_array, gcc_cp_template_args, gcc_cp_function_args.
      
      From-SVN: r245051
      8db29d88
  17. Jan 04, 2017
  18. Nov 18, 2016
    • Richard Sandiford's avatar
      Add SET_DECL_MODE · 899ca90e
      Richard Sandiford authored
      
      This may no longer be necessary with the current version
      of the SVE patches, but it does at least make things consistent
      with the TYPE_MODE/SET_TYPE_MODE split.
      
      gcc/ada/
      2016-11-16  Richard Sandiford  <richard.sandiford@arm.com>
       	    Alan Hayward  <alan.hayward@arm.com>
       	    David Sherwood  <david.sherwood@arm.com>
      
      	* gcc-interface/utils.c (create_label_decl): Use SET_DECL_MODE.
      
      gcc/c/
      2016-11-16  Richard Sandiford  <richard.sandiford@arm.com>
       	    Alan Hayward  <alan.hayward@arm.com>
       	    David Sherwood  <david.sherwood@arm.com>
      
      	* c-decl.c (merge_decls): Use SET_DECL_MODE.
      	(make_label, finish_struct): Likewise.
      
      gcc/cp/
      2016-11-16  Richard Sandiford  <richard.sandiford@arm.com>
       	    Alan Hayward  <alan.hayward@arm.com>
       	    David Sherwood  <david.sherwood@arm.com>
      
      	* class.c (finish_struct_bits): Use SET_DECL_MODE.
      	(build_base_field_1, layout_class_type, finish_struct_1): Likewise.
      	* decl.c (make_label_decl): Likewise.
      	* pt.c (tsubst_decl): Likewise.
      
      gcc/fortran/
      2016-11-16  Richard Sandiford  <richard.sandiford@arm.com>
       	    Alan Hayward  <alan.hayward@arm.com>
       	    David Sherwood  <david.sherwood@arm.com>
      
      	* trans-common.c (build_common_decl): Use SET_DECL_MODE.
      	* trans-decl.c (gfc_build_label_decl): Likewise.
      	* trans-types.c (gfc_get_array_descr_info): Likewise.
      
      gcc/lto/
      2016-11-16  Richard Sandiford  <richard.sandiford@arm.com>
       	    Alan Hayward  <alan.hayward@arm.com>
       	    David Sherwood  <david.sherwood@arm.com>
      
      	* lto.c (offload_handle_link_vars): Use SET_DECL_MODE.
      
      gcc/
      2016-11-16  Richard Sandiford  <richard.sandiford@arm.com>
       	    Alan Hayward  <alan.hayward@arm.com>
       	    David Sherwood  <david.sherwood@arm.com>
      
      	* tree.h (SET_DECL_MODE): New macro.
      	* cfgexpand.c (avoid_deep_ter_for_debug): Use SET_DECL_MODE.
      	(expand_gimple_basic_block): Likewise.
      	* function.c (split_complex_args): Likeise.
      	* ipa-prop.c (ipa_modify_call_arguments): Likewise.
      	* omp-simd-clone.c (ipa_simd_modify_stmt_ops): Likewise.
      	* stor-layout.c (layout_decl, relayout_decl): Likewise.
      	(finish_bitfield_representative): Likewise.
      	* tree.c (make_node_stat): Likewise.
      	* tree-inline.c (remap_ssa_name): Likewise.
      	(tree_function_versioning): Likewise.
      	* tree-into-ssa.c (rewrite_debug_stmt_uses): Likewise.
      	* tree-sra.c (sra_ipa_reset_debug_stmts): Likewise.
      	* tree-ssa-ccp.c (optimize_atomic_bit_test_and): Likewise.
      	* tree-ssa-loop-ivopts.c (remove_unused_ivs): Likewise.
      	* tree-ssa.c (insert_debug_temp_for_var_def): Likewise.
      	* tree-streamer-in.c (unpack_ts_decl_common_value_fields): Likewise.
      	* varasm.c (make_debug_expr_from_rtl): Likewise.
      
      libcc1/
      2016-11-16  Richard Sandiford  <richard.sandiford@arm.com>
       	    Alan Hayward  <alan.hayward@arm.com>
       	    David Sherwood  <david.sherwood@arm.com>
      
      	* plugin.cc (plugin_build_add_field): Use SET_DECL_MODE.
      
      Co-Authored-By: default avatarAlan Hayward <alan.hayward@arm.com>
      Co-Authored-By: default avatarDavid Sherwood <david.sherwood@arm.com>
      
      From-SVN: r242585
      899ca90e
  19. Jun 07, 2016
    • Rainer Orth's avatar
      Update copyright dates · 48eae472
      Rainer Orth authored
      	libcc1:
      	Update copyrights.
      
      	gotools:
      	Update copyrights.
      
      	contrib:
      	* update-copyright.py (LibMudflapFilter): Remove.
      	(GCCCmdLine.__init__): Add gotools, libcc1.
      	Remove libmudflap.
      	List unhandled intl, libcilkrts, libgo, liboffloadmic,
      	maintainer-scripts.
      
      From-SVN: r237169
      48eae472
  20. Apr 18, 2016
    • Michael Matz's avatar
      tree.h (TYPE_ALIGN, DECL_ALIGN): Return shifted amount. · fe37c7af
      Michael Matz authored
      	* tree.h (TYPE_ALIGN, DECL_ALIGN): Return shifted amount.
      	(SET_TYPE_ALIGN, SET_DECL_ALIGN): New.
      	* tree-core.h (tree_type_common.align): Use bit-field.
      	(tree_type_common.spare): New.
      	(tree_decl_common.off_align): Make smaller.
      	(tree_decl_common.align): Use bit-field.
      
      	* expr.c (expand_expr_addr_expr_1): Use SET_TYPE_ALIGN.
      	* omp-low.c (install_var_field): Use SET_DECL_ALIGN.
      	(scan_sharing_clauses): Ditto.
      	(finish_taskreg_scan): Use SET_DECL_ALIGN and SET_TYPE_ALIGN.
      	(omp_finish_file): Ditto.
      	* stor-layout.c (do_type_align): Use SET_DECL_ALIGN.
      	(layout_decl): Ditto.
      	(relayout_decl): Ditto.
      	(finalize_record_size): Use SET_TYPE_ALIGN.
      	(finalize_type_size): Ditto.
      	(finish_builtin_struct): Ditto.
      	(layout_type): Ditto.
      	(initialize_sizetypes): Ditto.
      	* targhooks.c (std_gimplify_va_arg_expr): Use SET_TYPE_ALIGN.
      	* tree-nested.c (insert_field_into_struct): Use SET_TYPE_ALIGN.
      	(lookup_field_for_decl): Use SET_DECL_ALIGN.
      	(get_chain_field): Ditto.
      	(get_trampoline_type): Ditto.
      	(get_nl_goto_field): Ditto.
      	* tree-streamer-in.c (unpack_ts_decl_common_value_fields): Use
      	SET_DECL_ALIGN.
      	(unpack_ts_type_common_value_fields): Use SET_TYPE_ALIGN.
      	* gimple-expr.c (copy_var_decl): Use SET_DECL_ALIGN.
      	* tree.c (make_node_stat): Use SET_DECL_ALIGN and SET_TYPE_ALIGN.
      	(build_qualified_type): Use SET_TYPE_ALIGN.
      	(build_aligned_type, build_range_type_1): Ditto.
      	(build_atomic_base): Ditto.
      	(build_common_tree_nodes): Ditto.
      	* cfgexpand.c (align_local_variable): Use SET_DECL_ALIGN.
      	(expand_one_stack_var_at): Ditto.
      	* coverage.c (build_var): Use SET_DECL_ALIGN.
      	* except.c (init_eh): Ditto.
      	* function.c (assign_parm_setup_block): Ditto.
      	* symtab.c (increase_alignment_1): Ditto.
      	* tree-ssa-ccp.c (fold_builtin_alloca_with_align): Ditto.
      	* tree-vect-stmts.c (ensure_base_align): Ditto.
      	* varasm.c (align_variable): Ditto.
      	(assemble_variable): Ditto.
      	(build_constant_desc): Ditto.
      	(output_constant_def_contents): Ditto.
      
      	* config/arm/arm.c (arm_relayout_function): Use SET_DECL_ALIGN.
      	* config/avr/avr.c (avr_adjust_type_node): Use SET_TYPE_ALIGN.
      	* config/mips/mips.c (mips_std_gimplify_va_arg_expr): Ditto.
      	* config/msp430/msp430.c (msp430_gimplify_va_arg_expr): Ditto.
      	* config/spu/spu.c (spu_build_builtin_va_list): Use SET_DECL_ALIGN.
      
      ada/
      	* gcc-interface/decl.c (gnat_to_gnu_entity): Use SET_TYPE_ALIGN.
      	(gnat_to_gnu_field): Ditto.
      	(components_to_record): Ditto.
      	(create_variant_part_from): Ditto.
      	(copy_and_substitute_in_size): Ditto.
      	(substitute_in_type): Ditto.
      	* gcc-interface/utils.c (make_aligning_type): Use SET_TYPE_ALIGN.
      	(make_packable_type): Ditto.
      	(maybe_pad_type): Ditto.
      	(finish_fat_pointer_type): Ditto.
      	(finish_record_type): Ditto and use SET_DECL_ALIGN.
      	(rest_of_record_type_compilation): Use SET_TYPE_ALIGN.
      	(create_field_decl): Use SET_DECL_ALIGN.
      
      c-family/
      	* c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
      	and SET_DECL_ALIGN.
      
      c/
      	* c-decl.c (merge_decls): Use SET_DECL_ALIGN and SET_TYPE_ALIGN.
      	(grokdeclarator, parser_xref_tag, finish_enum): Use SET_TYPE_ALIGN.
      
      cp/
      	* class.c (build_vtable): Use SET_DECL_ALIGN and SET_TYPE_ALIGN.
      	(layout_class_type): Ditto.
      	(build_base_field): Use SET_DECL_ALIGN.
      	(fixup_attribute_variants): Use SET_TYPE_ALIGN.
      	* decl.c (duplicate_decls): Use SET_DECL_ALIGN.
      	(record_unknown_type): Use SET_TYPE_ALIGN.
      	(cxx_init_decl_processing): Ditto.
      	(copy_type_enum): Ditto.
      	(grokfndecl): Use SET_DECL_ALIGN.
      	(copy_type_enum): Use SET_TYPE_ALIGN.
      	* pt.c (instantiate_class_template_1): Use SET_TYPE_ALIGN.
      	(tsubst): Ditto.
      	* tree.c (cp_build_qualified_type_real): Use SET_TYPE_ALIGN.
      	* lambda.c (maybe_add_lambda_conv_op): Use SET_DECL_ALIGN.
      	* method.c (implicitly_declare_fn): Use SET_DECL_ALIGN.
      	* rtti.c (emit_tinfo_decl): Ditto.
      
      fortran/
      	* trans-io.c (gfc_build_io_library_fndecls): Use SET_TYPE_ALIGN.
      	* trans-common.c (build_common_decl): Use SET_DECL_ALIGN.
      	* trans-types.c (gfc_add_field_to_struct): Use SET_DECL_ALIGN.
      
      go/
      	* go-gcc.cc (Gcc_backend::implicit_variable): Use SET_DECL_ALIGN.
      
      java/
      	* class.c (add_method_1): Use SET_DECL_ALIGN.
      	(make_class_data): Ditto.
      	(emit_register_classes_in_jcr_section): Ditto.
      	* typeck.c (build_java_array_type): Ditto.
      
      objc/
      	* objc-act.c (objc_build_struct): Use SET_DECL_ALIGN.
      
      libcc1/
      	* plugin.cc (plugin_finish_record_or_union): Use SET_TYPE_ALIGN.
      
      From-SVN: r235172
      fe37c7af
  21. Jun 25, 2015
    • Richard Sandiford's avatar
      hash-traits.h (free_ptr_hash): New class. · 95fbe13e
      Richard Sandiford authored
      gcc/
      	* hash-traits.h (free_ptr_hash): New class.
      	* dwarf2out.c (decl_table_entry_hasher): Inherit from free_ptr_hash
      	rather than typed_free_remove.  Remove redudant typedefs.
      	(external_ref_hasher): Likewise.
      	* except.c (action_record_hasher, ttypes_filter_hasher): Likewise.
      	(ehspec_hasher): Likewise.
      	* ggc-common.c (saving_hasher): Likewise.
      	* gimplify.c (gimplify_hasher): Likewise.
      	* haifa-sched.c (delay_i2_hasher): Likewise.
      	* loop-invariant.c (invariant_expr_hasher): Likewise.
      	* loop-iv.c (biv_entry_hasher): Likewise.
      	* loop-unroll.c (iv_split_hasher, var_expand_hasher): Likewise.
      	* trans-mem.c (tm_mem_map_hasher, tm_memop_hasher): Likewise.
      	* tree-cfg.c (locus_discrim_hasher): Likewise.
      	* tree-eh.c (finally_tree_hasher): Likewise.
      	* tree-into-ssa.c (var_info_hasher): Likewise.
      	* tree-parloops.c (reduction_hasher, name_to_copy_hasher): Likewise.
      	* tree-ssa-loop-ivopts.c (iv_inv_expr_hasher): Likewise.
      	* tree-ssa-phiopt.c (ssa_names_hasher): Likewise.
      	* tree-ssa-pre.c (expr_pred_trans_d): Likewise.
      	* tree-ssa-sccvn.c (vn_constant_hasher): Likewise.
      	* tree-ssa-structalias.c (equiv_class_hasher): Likewise.
      	(shared_bitmap_hasher): Likewise.
      	* tree-ssa-threadupdate.c (redirection_data): Likewise.
      	* tree-vectorizer.h (peel_info_hasher): Likewise.
      	* tree-vectorizer.c (simduid_to_vf, simd_array_to_simduid): Likewise.
      	* config/mips/mips.c (mips_lo_sum_offset_hasher): Likewise.
      
      libcc1/
      	* plugin.cc (decl_addr_hasher): Inherit from free_ptr_hash
      	rather than typed_free_remove.  Remove redudant typedefs.
      
      From-SVN: r224958
      95fbe13e
    • Richard Sandiford's avatar
      hash-table.h: Update comments. · 8d67ee55
      Richard Sandiford authored
      gcc/
      	* hash-table.h: Update comments.
      	* hash-traits.h (pointer_hash): Don't inherit from typed_noop_remove.
      	(nofree_ptr_hash): New class.
      	* asan.c (asan_mem_ref_hasher): Inherit from nofree_ptr_hash rather
      	than typed_noop_remove.  Remove redudant typedefs.
      	* attribs.c (attribute_hasher): Likewise.
      	* cfg.c (bb_copy_hasher): Likewise.
      	* cselib.c (cselib_hasher): Likewise.
      	* dse.c (invariant_group_base_hasher): Likewise.
      	* dwarf2cfi.c (trace_info_hasher): Likewise.
      	* dwarf2out.c (macinfo_entry_hasher): Likewise.
      	(comdat_type_hasher, loc_list_hasher): Likewise.
      	* gcse.c (pre_ldst_expr_hasher): Likewise.
      	* genmatch.c (id_base): Likewise.
      	* genrecog.c (test_pattern_hasher): Likewise.
      	* gimple-ssa-strength-reduction.c (cand_chain_hasher): Likewise.
      	* haifa-sched.c (delay_i1_hasher): Likewise.
      	* hard-reg-set.h (simplifiable_subregs_hasher): Likewise.
      	* ipa-icf.h (congruence_class_group_hash): Likewise.
      	* ipa-profile.c (histogram_hash): Likewise.
      	* ira-color.c (allocno_hard_regs_hasher): Likewise.
      	* lto-streamer.h (string_slot_hasher): Likewise.
      	* lto-streamer.c (tree_entry_hasher): Likewise.
      	* plugin.c (event_hasher): Likewise.
      	* postreload-gcse.c (expr_hasher): Likewise.
      	* store-motion.c (st_expr_hasher): Likewise.
      	* tree-sra.c (uid_decl_hasher): Likewise.
      	* tree-ssa-coalesce.c (coalesce_pair_hasher): Likewise.
      	(ssa_name_var_hash): Likewise.
      	* tree-ssa-live.c (tree_int_map_hasher): Likewise.
      	* tree-ssa-loop-im.c (mem_ref_hasher): Likewise.
      	* tree-ssa-pre.c (pre_expr_d): Likewise.
      	* tree-ssa-sccvn.c (vn_nary_op_hasher): Likewise.
      	* vtable-verify.h (registration_hasher): Likewise.
      	* vtable-verify.c (vtbl_map_hasher): Likewise.
      	* config/arm/arm.c (libcall_hasher): Likewise.
      	* config/i386/winnt.c (wrapped_symbol_hasher): Likewise.
      	* config/ia64/ia64.c (bundle_state_hasher): Likewise.
      	* config/sol2.c (comdat_entry_hasher): Likewise.
      	* fold-const.c (fold): Use nofree_ptr_hash instead of pointer_hash.
      	(print_fold_checksum, fold_checksum_tree): Likewise.
      	(debug_fold_checksum, fold_build1_stat_loc): Likewise.
      	(fold_build2_stat_loc, fold_build3_stat_loc): Likewise.
      	(fold_build_call_array_loc): Likewise.
      	* tree-ssa-ccp.c (gimple_htab): Likewise.
      	* tree-browser.c (tree_upper_hasher): Inherit from nofree_ptr_hash
      	rather than pointer_type.
      
      gcc/c/
      	* c-decl.c (detect_field_duplicates_hash): Use nofree_ptr_hash
      	instead of pointer_hash.
      	(detect_field_duplicates): Likewise.
      
      gcc/cp/
      	* class.c (fixed_type_or_null_ref_ht): Inherit from nofree_ptr_hash
      	rather than pointer_hash.
      	(fixed_type_or_null): Use nofree_ptr_hash instead of pointer_hash.
      	* semantics.c (nrv_data): Likewise.
      	* tree.c (verify_stmt_tree_r, verify_stmt_tree): Likewise.
      
      gcc/java/
      	* jcf-io.c (charstar_hash): Inherit from nofree_ptr_hash rather
      	than typed_noop_remove.  Remove redudant typedefs.
      
      gcc/lto/
      	* lto.c (tree_scc_hasher): Inherit from nofree_ptr_hash rather
      	than typed_noop_remove.  Remove redudant typedefs.
      
      gcc/objc/
      	* objc-act.c (decl_name_hash): Inherit from nofree_ptr_hash rather
      	than typed_noop_remove.  Remove redudant typedefs.
      
      libcc1/
      	* plugin.cc (string_hasher): Inherit from nofree_ptr_hash rather
      	than typed_noop_remove.  Remove redudant typedefs.
      	(plugin_context): Use nofree_ptr_hash rather than pointer_hash.
      	(plugin_context::mark): Likewise.
      
      From-SVN: r224957
      8d67ee55
  22. Apr 18, 2015
    • Trevor Saunders's avatar
      remove need for store_values_directly · 67f58944
      Trevor Saunders authored
      This switches all hash_table users to use the layout that stores
      elements of type value_type in the hash table instead of the one storing
      value_type *.  Since it becomes unused support for the value_type *
      layout is removed.
      
      gcc/
      
      	* hash-table.h: Remove version of hash_table that stored value_type *.
      	* asan.c, attribs.c, bitmap.c, cfg.c, cgraph.h, config/arm/arm.c,
      	config/i386/winnt.c, config/ia64/ia64.c, config/mips/mips.c,
      	config/sol2.c, coverage.c, cselib.c, dse.c, dwarf2cfi.c,
      	dwarf2out.c, except.c, gcse.c, genmatch.c, ggc-common.c,
      	gimple-ssa-strength-reduction.c, gimplify.c, haifa-sched.c,
      	hard-reg-set.h, hash-map.h, hash-set.h, ipa-devirt.c, ipa-icf.h,
      	ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c,
      	loop-iv.c, loop-unroll.c, lto-streamer.h, plugin.c, postreload-gcse.c,
      	reginfo.c, statistics.c, store-motion.c, trans-mem.c, tree-cfg.c,
      	tree-eh.c, tree-hasher.h, tree-into-ssa.c, tree-parloops.c,
      	tree-sra.c, tree-ssa-coalesce.c, tree-ssa-dom.c, tree-ssa-live.c,
      	tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c,
      	tree-ssa-pre.c, tree-ssa-reassoc.c, tree-ssa-sccvn.c,
      	tree-ssa-structalias.c, tree-ssa-tail-merge.c,
      	tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h,
      	valtrack.h, var-tracking.c, vtable-verify.c, vtable-verify.h: Adjust.
      
      libcc1/
      
      	* plugin.cc: Adjust for hash_table changes.
      
      gcc/java/
      
      	* jcf-io.c: Adjust for hash_table changes.
      
      gcc/lto/
      
      	* lto.c: Adjust for hash_table changes.
      
      gcc/objc/
      
      	* objc-act.c: Adjust for hash_table changes.
      
      From-SVN: r222213
      67f58944
  23. 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
  24. Jan 09, 2015
    • Michael Collison's avatar
      genattrtab.c (write_header): Include hash-set.h... · 40e23961
      Michael Collison authored
      2015-01-09  Michael Collison  <michael.collison@linaro.org>
      	
      	* genattrtab.c (write_header): Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h when generating
      	insn-attrtab.c.
      	* genautomata.c (main) : Include hash-set.h, macInclude hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h when generating
      	insn-automata.c.
      	* genemit.c (main): Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h when generating
      	insn-emit.c.
      	* gengtype.c (open_base_files): Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h when generating
      	gtype-desc.c.
      	* genopinit.c (main): Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h when generating
      	insn-opinit.c.
      	* genoutput.c (output_prologue): Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h when generating
      	insn-output.c.
      	* genpeep.c (main): Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h when generating
      	insn-peep.c.
      	* genpreds.c (write_insn_preds_c): Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h when generating
      	insn-preds.c.
      	* optc-save-gen-awk: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h when generating
      	options-save.c.
      	* opth-gen.awk: Change include guard from GCC_C_COMMON_H to GCC_C_COMMON_C
      	when generating options.h.
      	* ada/gcc-interface/cuintp.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h,
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* ada/gcc-interface/decl.c: ditto.
      	* ada/gcc-interface/misc.c: ditto.
      	* ada/gcc-interface/targtyps.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h,
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* ada/gcc-interface/trans.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, real.h,
      	fold-const.h, wide-int.h, inchash.h due to
      	flattening of tree.h.
      	* ada/gcc-interface/utils.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h,
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* ada/gcc-interface/utils2.c: ditto.
      	* alias.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* asan.c: ditto.
      	* attribs.c: ditto.
      	* auto-inc-dec.c: ditto.
      	* auto-profile.c: ditto
      	* bb-reorder.c: ditto.
      	* bt-load.c: Include symtab.h due to flattening of tree.h.
      	* builtins.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* c/c-array-notation.c: ditto.
      	* c/c-aux-info.c: ditto.
      	* c/c-convert.c: ditto.
      	* c/c-decl.c: ditto.
      	* c/c-errors.c: ditto.
      	* c/c-lang.c: dittoxs.
      	* c/c-objc-common.c: ditto.
      	* c/c-parser.c: ditto.
      	* c/c-typeck.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, inchash.h, real.h and
      	fixed-value.h due to flattening of tree.h.
      	* calls.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* ccmp.c: ditto.
      	* c-family/array-notation-common.c: ditto.
      	* c-family/c-ada-spec.c: ditto.
      	* c-family/c-cilkplus.c: ditto.
      	* c-family/c-common.c: Include input.h due to flattening of tree.h.
      	Define macro GCC_C_COMMON_C.
      	* c-family/c-common.h: Flatten tree.h header files into c-common.h.
      	Remove include of tree-core.h.
      	* c-family/c-cppbuiltin.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* c-family/c-dump.c: ditto.
      	* c-family/c-format.c: Flatten tree.h header files into c-common.h.
      	* c-family/c-cppbuiltin.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* c-family/c-dump.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* c-family/c-format.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, inchash.h and real.h due to
      	flattening of tree.h.
      	* c-family/c-gimplify.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* c-family/cilk.c: ditto.
      	* c-family/c-lex.c: ditto.
      	* c-family/c-omp.c: ditto.
      	* c-family/c-opts.c: ditto.
      	* c-family/c-pch.c: ditto.
      	* c-family/c-ppoutput.c: ditto.
      	* c-family/c-pragma.c: ditto.
      	* c-family/c-pretty-print.c: ditto.
      	* c-family/c-semantics.c: ditto.
      	* c-family/c-ubsan.c: ditto.
      	* c-family/stub-objc.c: ditto.
      	* cfgbuild.c: ditto.
      	* cfg.c: ditto.
      	* cfgcleanup.c: ditto.
      	* cfgexpand.c: ditto.
      	* cfghooks.c: ditto.
      	* cfgloop.c: Include symtab.h, fold-const.h, and
      	inchash.h due to flattening of tree.h.
      	* cfgloopmanip.c: ditto.
      	* cfgrtl.c:  Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* cgraphbuild.c: ditto.
      	* cgraph.c: ditto.
      	* cgraphclones.c: ditto.
      	* cgraphunit.c: ditto.
      	* cilk-common.c: ditto.
      	* combine.c: ditto.
      	* combine-stack-adj.c: Include symbol.h due to flattening of tree.h.
      	* config/aarch64/aarch64-builtins.c:  Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* config/aarch64/aarch64.c: ditto.
      	* config/alpha/alpha.c: ditto.
      	* config/arc/arc.c: ditto.
      	* config/arm/aarch-common.c: ditto.
      	* config/arm/arm-builtins.c: ditto.
      	* config/arm/arm.c: ditto.
      	* config/arm/arm-c.c: ditto.
      	* config/avr/avr.c: ditto.
      	* config/avr/avr-c.c: ditto.
      	* config/avr/avr-log.c: ditto.
      	* config/bfin/bfin.c: ditto.
      	* config/c6x/c6x.c: ditto.
      	* config/cr16/cr16.c: ditto.
      	* config/cris/cris.c: ditto.
      	* config/darwin.c: ditto.
      	* config/darwin-c.c: ditto.
      	* config/default-c.c: ditto.
      	* config/epiphany/epiphany.c: ditto.
      	* config/fr30/fr30.c: ditto.
      	* config/frv/frv.c: ditto.
      	* config/glibc-c.c: ditto.
      	* config/h8300/h8300.c: ditto.
      	* config/i386/i386.c: ditto.
      	* config/i386/i386-c.c: ditto.
      	* config/i386/msformat.c: ditto.
      	* config/i386/winnt.c: ditto.
      	* config/i386/winnt-cxx.c: ditto.
      	* config/i386/winnt-stubs.c: ditto.
      	* config/ia64/ia64.c: ditto.
      	* config/ia64/ia64-c.c: ditto.
      	* config/iq2000/iq2000.c: ditto.
      	* config/lm32/lm32.c: Include symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* config/m32c/m32c.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* config/m32c/m32c-pragma.c: ditto.
      	* config/m32c/m32cr.c: ditto.
      	* config/m68/m68k.c: ditto.
      	* config/mcore/mcore.c: ditto.
      	* config/mep/mep.c: ditto.
      	* config/mep/mep-pragma.c: ditto.
      	* config/microblaze/microblaze.c: ditto.
      	* config/microblaze/microblaze-c.c: ditto.
      	* config/mips/mips.c: ditto.
      	* config/mmix/mmix.c: Include symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* config/mn10300/mn10300.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* config/moxie/moxie.c: ditto.
      	* config/msp430/msp430.c: ditto.
      	* config/msp430/msp430-c.c: ditto.
      	* config/nds32/nds32.c: ditto.
      	* config/nds32/nds32-cost.c: ditto.
      	* config/nds32/nds32-fp-as-gp.c: ditto.
      	* config/nds32/nds32-intrinsic.c: ditto.
      	* config/nds32/nds32-isr.c: ditto.
      	* config/nds32/nds32-md-auxillary.c: ditto.
      	* config/nds32/nds32-memory-manipulationx.c: ditto.
      	* config/nds32/nds32-pipelines-auxillary.c: ditto.
      	* config/nds32/nds32-predicates.c: ditto.
      	* config/nios2/nios2.c: ditto.
      	* config/nvptx/nvptx.c: ditto.
      	* config/pa/pa.c: ditto.
      	* config/pdp11/pdp11x.c: Include symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* config/rl78/rl78.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* config/rl78/rl78-cx.c: ditto.
      	* config/rs6000/rs6000.c: ditto.
      	* config/rs6000/rs6000-c.c: ditto.
      	* config/rx/rx.c: ditto.
      	* config/s390/s390.c: ditto.
      	* config/sh/sh.c: ditto.
      	* config/sh/sc.c: ditto.
      	* config/sh/sh-mem.cc: ditto.
      	* config/sh/sh_treg_combine.cc: Include symtab.h, inchash.h and tree.h
      	due to flattening of tree.h.
      	Remove include of tree-core.h.
      	* config/sol2.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* config/sol2-c.c: ditto.
      	* config/sol2-cxx.c: ditto.
      	* config/sol2-stubs.c: ditto.
      	* config/sparc/sparc.c: ditto.
      	* config/sparc/sparc-cx.c: ditto.
      	* config/spu/spu.c: ditto.
      	* config/spu/spu-c.c: ditto
      	* config/storym16/stormy16.c: ditto.
      	* config/tilegx/tilegx.c: Include symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* config/tilepro/gen-mul-tables.cc: Include symtab.h in generated file.
      	* config/tilegx/tilegx-c.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* config/tilepro/tilepro.c: Include symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* config/tilepro/tilepro-c.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* config/v850/v850.c: ditto.
      	* config/v850/v850-c.c: ditto.
      	* config/vax/vax.c: ditto.
      	* config/vms/vms.c: ditto.
      	* config/vms/vms-c.c: ditto.
      	* config/vxworks.c: ditto.
      	* config/winnt-c.c: ditto.
      	* config/xtensa/xtensa.c: Include symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* convert.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* coverage.c: ditto.
      	* cp/call.c: ditto.
      	* cp/class.c: ditto.
      	* cp/constexpr.c: ditto.
      	* cp/cp-array-notation.c: ditto.
      	* cp/cp-gimplify.c: ditto.
      	* cp/cp-lang.c: ditto.
      	* cp/cp-objcp-common.c: ditto.
      	* cp/cvt.c: ditto.
      	* cp/decl2.c: ditto.
      	* cp/decl.c: ditto.
      	* cp/dump.c: ditto.
      	* cp/error.c: ditto.
      	* cp/except.c: ditto.
      	* cp/expr.c: ditto.
      	* cp/friend.c: ditto.
      	* cp/init.c: ditto.
      	* cp/lambda.c: ditto.
      	* cp/lex.c: ditto.
      	* cp/mangle.c: ditto.
      	* cp/name-lookup.c: ditto.
      	* cp/optimize.c: ditto.
      	* cp/parser.c: ditto.
      	* cp/pt.c: ditto.
      	* cp/ptree.c: ditto.
      	* cp/repo.c: ditto.
      	* cp/rtti.c: ditto.
      	* cp/search.c: ditto.
      	* cp/semantics.c: ditto.
      	* cp/tree.c: ditto.
      	* cp/typeck2.c: ditto.
      	* cp/typeck.c: ditto.
      	* cppbuiltin.c: ditto.
      	* cprop.c: ditto.
      	* cse.c: Add include of symtab.h due to flattening of tree.h.
      	* cselib.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* data-streamer.c: ditto.
      	* data-streamer-in.c: ditto.
      	* data-streamer-out.c: ditto.
      	* dbxout.c: ditto.
      	* dce.c: ditto.
      	* ddg.c: Add include of symtab.h due to flattening of tree.h.
      	* debug.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* dfp.c: ditto.
      	* df-scan.c: ditto.
      	* dojump.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, inchash.h and real.h due to flattening of tree.h.
      	* double-int.c: ditto.
      	* dse.c: ditto.
      	* dumpfile.c: ditto.
      	* dwarf2asm.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, inchash.h and real.h due to flattening of tree.h.
      	* dwarf2cfi.c: ditto.
      	* dwarf2out.c: ditto.
      	* emit-rtl.c: ditto.
      	* except.c: ditto.
      	* explow.c: ditto.
      	* expmed.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* expr.c: ditto.
      	* final.c: ditto.
      	* fixed-value.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, inchash.h and fixed-value.h due to flattening of tree.h.
      	* fold-const.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	Relocate inline function convert_to_ptrofftype_loc from tree.h.
      	Relocate inline function fold_build_pointer_plus_loc from tree.h.
      	Relocate inline function fold_build_pointer_plus_hwi_loc from tree.h.
      	* fold-const.h: Relocate macro convert_to_ptrofftype from tree.h.
      	Relocate macro fold_build_pointer_plus to relocate from tree.h.h.
      	Relocate macro fold_build_pointer_plus_hwi from tree.h.
      	Add prototype for convert_to_ptrofftype_loc relocated from tree.h.
      	Add prototype for fold_build_pointer_plus_loc relocated from tree.h.
      	Add prototype for fold_build_pointer_plus_hwi_loc relocated from tree.h.
      	* fortran/convert.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* fortran/cpp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* fortran/decl.c: ditto.
      	* fortran/f95.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* fortran/iresolve.c: ditto.
      	* fortran/match.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* fortran/module.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* fortran/options.c: ditto.
      	* fortran/target-memory.c: Include hash-set.h, vec.h,
      	double-int.h, input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* fortran/trans-array.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* fortran/trans.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* fortran/trans-common.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* fortran/trans-const.c: ditto.
      	* fortran/trans-decl.c: ditto.
      	* fortran/trans-expr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* fortran/trans-intrinsic.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, inchash.h and real.h due to flattening of tree.h.
      	* fortran/trans-io.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* fortran/trans-openmp.c: ditto.
      	* fortran/trans-stmt.c: ditto.
      	* fortran/trans-types.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, inchash.h and real.h due to flattening of tree.h.
      	* function.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* gcc-plugin.h: Include statistics.h, double-int.h, real.h, fixed-value.h,
      	alias.h, flags.h, and symtab.h due to flattening of tree.h
      	* gcse.c: ditto.
      	* generic-match-head.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* ggc-page.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* gimple-builder.c: ditto.
      	* gimple.c: ditto.
      	* gimple-expr.c: ditto.
      	* gimple-fold.c: ditto.
      	* gimple-iterator.c: ditto.
      	* gimple-low.c: ditto.
      	* gimple-match-head.c: ditto.
      	* gimple-pretty-print.c: ditto.
      	* generic-ssa-isolate-paths.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* gimple-ssa-strength-reduction.c: ditto.
      	* gimple-streamer-in.c: ditto.
      	* gimple-streamer-out.c: ditto.
      	* gimple-walk.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* gimplify.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* gimplify-me.c: ditto.
      	* go/go-gcc.cc: ditto.
      	* go/go-lang.c: ditto.
      	* go/gdump.c: ditto.
      	* graphite-blocking.c: ditto.
      	* graphite.c: ditto.
      	* graphite-dependencies.c: ditto.
      	* graphite-interchange.c: ditto.
      	* graphite-isl-ast-to-gimple.c: ditto.
      	* graphite-optimize-isl.c: ditto.
      	* graphite-poly.c: ditto.
      	* graphite-scop-detection.c: ditto.
      	* graphite-sese-to-poly.c: ditto.
      	* hw-doloop.c: Include symtab.h due to flattening of tree.h.
      	* ifcvt.c: ditto.
      	* init-regs.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* internal-fc.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h,options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* ipa.c: ditto.
      	* ipa-chkp.c: ditto.
      	* ipa-comdats.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* ipa-cp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h,options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* ipa-devirt.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* ipa-icf.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h,options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* ipa-icf-gimple.c: ditto.
      	* ipa-inline-analysis.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* ipa-inline.c: ditto.
      	* ipa-inline-transform.c: ditto.
      	* ipa-polymorhpic-call.c: ditto.
      	* ipa-profile.c: ditto.
      	* ipa-prop.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* ipa-pure-const.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* ipa-ref.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* ipa-reference.c: ditto.
      	* ipa-split.c: ditto.
      	* ipa-utils.c: ditto.
      	* ipa-visbility.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* ira.c: ditto.
      	* ira-color.c: Include hash-set.h due to flattening of tree.h.
      	* ira-costs.c: ditto.
      	* ira-emit.c: ditto.
      	* java/boehm.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* java/builtins.c: ditto.
      	* java/class.c: ditto.
      	* java/constants.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* java/decl.c: ditto.
      	* java/except.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* java/expr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h,inchash.h and real.h due to flattening of tree.h.
      	* java/gimplify.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* java/jcf-dump.c: ditto.
      	* java/jcf-io.c: ditto.
      	* java/jcf-parse.c: ditto.
      	* java/jvgenmain.c: ditto.
      	* java/lang.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* java/mangle.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* java/mangle_name.c: ditto.
      	* java/resource.c: ditto.
      	* java/typeck.c: ditto.
      	* java/verify-glue.c: ditto.
      	* java/verify-impl.c: ditto.
      	* jump.c: Include symtab.h due to flattening of tree.h.
      	* langhooks.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* loop-doloop.c: Include symtab.h due to flattening of tree.h.
      	* loop-init.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* loop-invariant.c: Include symtab.h due to flattening of tree.h.
      	* loop-iv.c: ditto.
      	* loop-unroll.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* lower-subreg.c: ditto.
      	* lra-assigns.c: Include symtab.h due to flattening of tree.h.
      	* lra.c: Include symtab.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* lra-coalesce.c: Include symtab.h due to flattening of tree.h.
      	* lra-constraints.c: ditto.
      	* lra-eliminations.c: ditto.
      	* lra-livesc: ditto.
      	* lra-remat.c: ditto.
      	* lra-spills.c: ditto.
      	* lto/lto.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* lto/lto-lang.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* lto/lto-object.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* lto/lto-partition.c: ditto.
      	* lto/lto-symtab.c: ditto.
      	* lto-cgraph.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* lto-compress.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* lto-opts.c: ditto.
      	* lto-section-in.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* lto-section-out.c: ditto.
      	* lto-streamer.c: ditto.
      	* lto-streamer-in.c: ditto.
      	* lto-streamer-out.c: ditto.
      	* modulo-sched.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* objc/objc-act.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* objc/objc-encoding.c: ditto.
      	* objc/objc-gnu-runtime-abi-01.c: ditto.
      	* objc/objc-lang.c: ditto.
      	* objc/objc-map.c: ditto.
      	* objc/objc-next-runtime-abi-01.c: ditto.
      	* objc/objc-next-runtime-abi-02.c: ditto.
      	* objc/objc-runtime-shared-support.c: ditto.
      	* objcp/objcp-decl.c: ditto.
      	* objcp/objcp-lang.c: ditto.
      	* omega.c: ditto.
      	* omega-low.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* optabs.c: ditto.
      	* opts-global.c: ditto.
      	* passes.c: ditto.
      	* plugin.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* postreload.c: Include symtab.h due to flattening of tree.h.
      	* postreload-gcse.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* predict.c: ditto.
      	* print-rtl.c: ditto.
      	* print-tree.c: ditto.
      	* profile.c: Include symtab.h, fold-const.h
      	and inchash.h due to flattening of tree.h.
      	* real.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* realmpfr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* recog.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* ree.c: ditto.
      	* reginfo.c: ditto.
      	* reg-stack.c: ditto.
      	* reload1.c: Include symtab.h, fold-const.h, wide-int.h
      	and inchash.h due to flattening of tree.h.
      	* reload.c: Include symtab.h due to flattening of tree.h.
      	* reorg.c: ditto.
      	* rtlanal.c: Include symtab.h, fold-const.h, wide-int.h
      	and inchash.h due to flattening of tree.h.
      	* rtl-chkp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* rtlhooks.c: Include symtab.h due to flattening of tree.h.
      	* sanopt.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* sched-deps.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* sched-vis.c: ditto.
      	* sdbout.c: ditto.
      	* sel-sched.c: Include symtab.h, fold-const.h, wide-int.h
      	and inchash.h due to flattening of tree.h.
      	* sel-sched-ir.c: ditto.
      	* sese.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* shrink-wrap.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* simplify-rtx.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* stack-ptr-mod.c: ditto.
      	* stmt.c: ditto.
      	* store-motion.c: ditto.
      	* store-layout.c: ditto.
      	* stringpool.c: ditto.
      	* symtab.c: ditto.
      	* target-globals.c: ditto.
      	* targhooks.c: ditto.
      	* toplev.c: ditto.
      	* tracer.c: ditto.
      	* trans-mem.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* tree-affine.c: ditto.
      	* tree-browser.c: ditto.
      	* tree.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* tree-call-cdce.c: Include symtab.h, alias.h, double-int.h,
      	fold-const.h, wide-int.h, inchash.h and real.h due to
      	flattening of tree.h.
      	* tree-cfg.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* tree-cfgcleanup.c: ditto.
      	* tree-chkp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* tree-chkp-opt.c: ditto.
      	* tree-chrec.c: ditto.
      	* tree-chkp-opt.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
      	real.h due to flattening of tree.h.
      	* tree-core.h: Flatten header file by removing all #include statements.
      	* tree-data-ref.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* tree-dfa.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
      	real.h due to flattening of tree.h.
      	* tree-diagnostic.c: ditto.
      	* tree-dump.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h, real.h and
      	fixed-value.h due to flattening of tree.h.
      	* tree-dfa.c: ditto.
      	* tree-eh.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
      	real.h due to flattening of tree.h.
      	* tree-emutls.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* tree.h: Flatten header files by removing all includes except tree-core.h.
      	Remove inline function convert_to_ptrofftype_loc to relocate to fold-const.c.
      	Remove macro convert_to_ptrofftype to relocate to fold-const.h.
      	Remove inline function fold_build_pointer_plus_loc to relocate to fold-const.c.
      	Remove macro fold_build_pointer_plus to relocate to fold-const.h.
      	Remove inline function fold_build_pointer_plus_hwi_loc to relocate to fold-const.c.
      	Remove macro fold_build_pointer_plus_hwi to relocate to fold-const.h.
      	* tree-if-conv.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h, real.h and
      	fixed-value.h due to flattening of tree.h.
      	* tree-inline.c: ditto.
      	* tree-into-ssa.c: ditto.
      	* tree-iterator.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* tree-loop-distribution.c: ditto.
      	* tree-nested.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* tree-nrv.c: ditto.
      	* tree-object-size.c: ditto.
      	* tree-outof-ssa.c: ditto.
      	* tree-parloops.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* tree-phinodes.c: ditto.
      	* tree-predcom.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* tree-pretty-print.c: ditto.
      	* tree-profile.c: double-int.h, input.h, alias.h, symtab.h,
      	fold-const.h, wide-int.h and inchash.h due to flattening of tree.h.
      	* tree-scalar-evolution.c: Include hash-set.h, machmode.h, vec.h,
      	double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h and inchash.h due to flattening of tree.h.
      	* tree-sra.c: Include  vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* tree-ssa-alias.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* tree-ssa.c: ditto.
      	* tree-ssa-ccp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h
      	and real.h due to flattening of tree.h.
      	* tree-ssa-coalesce.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* tree-ssa-copy.c: ditto.
      	* tree-ssa-copyrename.c: ditto.
      	* tree-ssa-dce.c: ditto.
      	* tree-ssa-dom.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h
      	and real.h due to flattening of tree.h.
      	* tree-ssa-dse.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* tree-ssa-forwprop.c: ditto.
      	* tree-ssa-ifcombine.c: ditto.
      	* tree-ssa-live.c: ditto.
      	* tree-ssa-loop.c: ditto.
      	* tree-ssa-loop-ch.c: ditto.
      	* tree-ssa-loop-im.c: ditto.
      	* tree-ssa-loop-ivcanon.c: ditto.
      	* tree-ssa-loop-ivopts.c: ditto.
      	* tree-ssa-loop-manip.c: ditto.
      	* tree-ssa-loop-niter.c: ditto.
      	* tree-ssa-loop-prefetch.c: ditto.
      	* tree-ssa-loop-unswitch.c: ditto.
      	* tree-ssa-loop-math-opts.c: ditto.
      	* tree-ssanames.c: ditto.
      	* tree-ssa-operands.c: ditto.
      	* tree-ssa-phiopt.c: ditto.
      	* tree-ssa-phiprop.c: ditto.
      	* tree-ssa-pre.c: ditto.
      	* tree-ssa-propagate.c: ditto.
      	* tree-ssa-reassoc.c: ditto.
      	* tree-ssa-sccvn.c: ditto.
      	* tree-ssa-sink.c: ditto.
      	* tree-ssa-strlen.c: Include hash-set.h, machmode.h, vec.h,
      	double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h and inchash.h due to flattening of tree.h.
      	* tree-ssa-structalias.c: double-int.h, input.h, alias.h, symtab.h,
      	fold-const.h, wide-int.h and inchash.h due to flattening of tree.h.
      	* tree-ssa-tail-merge.c: Include hash-set.h, machmode.h, vec.h,
      	double-int.h, input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h and inchash.h due to flattening of tree.h.
      	* tree-ssa-ter.c: ditto.
      	* tree-ssa-threadedge.c: ditto.
      	* tree-ssa-threadupdate.c: Include hash-set.h, machmode.h, vec.h,
      	double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h and inchash.h due to flattening of tree.h.
      	* tree-ssa-uncprop.c: Include hash-set.h, machmode.h, vec.h,
      	double-int.h, input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h and inchash.h due to flattening of tree.h.
      	* tree-ssa-uninit.c: ditto.
      	* tree-stdarg.c: Include vec.h, double-int.h, input.h, alias.h,
      	symtab.h, fold-const.h, wide-int.h and inchash.h due to flattening
      	of tree.h.
      	* tree-streamer.c: Include vec.h, double-int.h, input.h, alias.h,
      	symtab.h, options.h, fold-const.h, wide-int.h and
      	inchash.h due to flattening of tree.h.
      	* tree-streamer-in.c: Include hash-set.h, machmode.h, vec.h,
      	double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, inchash.h, real.h and fixed-value.h due to flattening
      	of tree.h.
      	* tree-streamer-out.c: dittoo.
      	* tree-switch-conversion.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* tree-tailcall.c: ditto.
      	* tree-vect-data-refs.c: ditto.
      	* tree-vect-generic.c: Include hash-set.h, machmode.h, vec.h, double-int.h, input.h,
      	alias.h, symtab.h, options.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* tree-vect-loop.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* tree-vect-loop-manip.c: ditto.
      	* tree-vectorizer.c: ditto.
      	* tree-vect-patterns.c: ditto.
      	* tree-vect-slp.c: ditto.
      	* tree-vect-stmts.c: ditto.
      	* tree-vrp.c: ditto.
      	* tsan.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* ubsan.c: ditto.
      	* value-prof.c.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* varasm.c: ditto.
      	* varpool.c: ditto.
      	* var-tracking.c: ditto.
      	* vmsdbgout.c: ditto.
      	* vtable-verify.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* wide-int.cc: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* xcoffout.c: ditto.
      	* libcc1/plugin.cc: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      
      From-SVN: r219402
      40e23961
  25. Nov 11, 2014
  26. Oct 27, 2014
    • Phil Muldoon's avatar
      Let GDB reuse GCC's parser. · ddc8de03
      Phil Muldoon authored
      2014-10-27  Phil Muldoon  <pmuldoon@redhat.com>
      	    Jan Kratochvil  <jan.kratochvil@redhat.com>
      	    Tom Tromey  <tromey@redhat.com>
      
      	* aclocal.m4: New file.
      	* callbacks.cc: New file.
      	* callbacks.hh: New file.
      	* cc1plugin-config.h.in: New file.
      	* configure: New file.
      	* configure.ac: New file.
      	* connection.cc: New file.
      	* connection.hh: New file.
      	* findcomp.cc: New file.
      	* findcomp.hh: New file.
      	* libcc1.cc: New file.
      	* libcc1plugin.sym: New file.
      	* libcc1.sym: New file.
      	* Makefile.am: New file.
      	* Makefile.in: New file.
      	* marshall.cc: New file.
      	* marshall.hh: New file.
      	* names.cc: New file.
      	* names.hh: New file.
      	* plugin.cc: New file.
      	* rpc.hh: New file.
      	* status.hh: New file.
      
      2014-10-27  Phil Muldoon  <pmuldoon@redhat.com>
      	    Jan Kratochvil  <jan.kratochvil@redhat.com>
      	    Tom Tromey  <tromey@redhat.com>
      
      	* gcc-c-fe.def: New file.
      	* gcc-c-interface.h: New file.
      	* gcc-interface.h: New file.
      
      2014-10-27  Phil Muldoon  <pmuldoon@redhat.com>
      	    Tom Tromey  <tromey@redhat.com>
      
      	* c-tree.h (enum c_oracle_request): New.
      	(c_binding_oracle_function): New typedef.
      	(c_binding_oracle, c_pushtag, c_bind): Declare.
      	* c-decl.c (c_binding_oracle): New global.
      	(I_SYMBOL_CHECKED): New macro.
      	(i_symbol_binding): New function.
      	(I_SYMBOL_BINDING, I_SYMBOL_DECL): Redefine.
      	(I_TAG_CHECKED): New macro.
      	(i_tag_binding): New function.
      	(I_TAG_BINDING, I_TAG_DECL): Redefine.
      	(I_LABEL_CHECKED): New macro.
      	(i_label_binding): New function.
      	(I_LABEL_BINDING, I_LABEL_DECL): Redefine.
      	(c_print_identifier): Save and restore c_binding_oracle.
      	(c_pushtag, c_bind): New functions.
      
      2014-10-27  Phil Muldoon  <pmuldoon@redhat.com>
      	    Tom Tromey  <tromey@redhat.com>
      
      	* aclocal.m4, configure: Rebuild.
      	* Makefile.in (aclocal_deps): Add gcc-plugin.m4.
      	* configure.ac: Use GCC_ENABLE_PLUGINS.
      	* stor-layout.c (finish_bitfield_layout): Now public.  Change
      	argument type to 'tree'.
      	(finish_record_layout): Update.
      	* stor-layout.h (finish_bitfield_layout): Declare.
      
      2014-10-27  Tom Tromey  <tromey@redhat.com>
      
      	* gcc-plugin.m4: New file.
      
      2014-10-27  Phil Muldoon  <pmuldoon@redhat.com>
      	    Tom Tromey  <tromey@redhat.com>
      
      	* Makefile.def: Add libcc1 to host_modules.
      	* configure.ac (host_tools): Add libcc1.
      	* Makefile.in, configure: Rebuild.
      
      From-SVN: r216748
      ddc8de03
Loading