1. 13 Nov, 2018 1 commit
    • Eliminate source_location in favor of location_t · 620e594b
      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
      David Malcolm committed
  2. 31 Oct, 2018 1 commit
    • Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). · 22e05272
      This patch updates GCC to use autoconf 2.69 and automake 1.15.1.
      (That's not the latest automake version, but it's the one used by
      binutils-gdb, with which consistency is desirable, and in any case
      seems a useful incremental update that should make a future update to
      1.16.1 easier.)
      
      The changes are generally similar to the binutils-gdb ones, and are
      copied from there where shared files and directories are involved
      (there are some further changes to such shared directories, however,
      which I'd expect to apply to binutils-gdb once this patch is in GCC).
      Largely, obsolete AC_PREREQ calls are removed, while many
      AC_LANG_SOURCE calls are added to avoid warnings from aclocal and
      autoconf.  Multilib support is no longer included in core automake,
      meaning that multilib.am needs copying from automake's contrib
      directory into the GCC source tree.  Autoconf 2.69 has Go support, so
      local copies of that support are removed.  I hope the D support will
      soon be submitted to upstream autoconf so the local copy of that can
      be removed in a future update.  Changes to how automake generates
      runtest calls mean quotes are removed from RUNTEST definitions in five
      lib*/testsuite/Makefile.am files (libatomic, libgomp, libitm,
      libphobos, libvtv; some others have RUNTEST definitions without
      quotes, which are still OK); libgo and libphobos also get
      -Wno-override added to AM_INIT_AUTOMAKE so those overrides of RUNTEST
      do not generate automake warnings.
      
      Note that the regeneration did not include regeneration of
      fixincludes/config.h.in (attempting such regeneration resulted in all
      the USED_FOR_TARGET conditionals disappearing; and I don't see
      anything in the fixincludes/ directory that would result in such
      conditionals being generated, unlike in the gcc/ directory).  Also
      note that libvtv/testsuite/other-tests/Makefile.in was not
      regenerated; that directory is not listed as a subdirectory for which
      Makefile.in gets regenerated by calling "automake" in libvtv/, so I'm
      not sure how it's meant to be regenerated.
      
      While I mostly fixed warnings should running aclocal / automake /
      autoconf, there were various such warnings from automake in the
      libgfortran, libgo, libgomp, liboffloadmic, libsanitizer, libphobos
      directories that I did not fix, preferring to leave those to the
      relevant subsystem maintainers.  Specifically, most of those warnings
      were of the following form (example from libgfortran):
      
      Makefile.am:48: warning: source file 'caf/single.c' is in a subdirectory,
      Makefile.am:48: but option 'subdir-objects' is disabled
      automake: warning: possible forward-incompatibility.
      automake: At least a source file is in a subdirectory, but the 'subdir-objects'
      automake: automake option hasn't been enabled.  For now, the corresponding output
      automake: object file(s) will be placed in the top-level directory.  However,
      automake: this behaviour will change in future Automake versions: they
      will
      automake: unconditionally cause object files to be placed in the same subdirectory
      automake: of the corresponding sources.
      automake: You are advised to start using 'subdir-objects' option throughout your
      automake: project, to avoid future incompatibilities.
      
      I think it's best for the relevant maintainers to add subdir-objects
      and do any other associated Makefile.am changes needed.  In some cases
      the paths in the warnings involved ../; I don't know if that adds any
      extra complications to the use of subdir-objects.
      
      I've tested this with native, cross and Canadian cross builds.  The
      risk of any OS-specific issues should I hope be rather lower than if a
      libtool upgrade were included (we *should* do such an upgrade at some
      point, but it's more complicated - it involves identifying all our
      local libtool changes to see if any aren't included in the upstream
      version we update to, and reverting an upstream libtool patch that's
      inappropriate for use in GCC); I think it would be better to get this
      update into GCC so that people can test in different configurations
      and we can fix any issues found, rather than to try to get more and
      more testing done before it goes in.
      
      top level:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* multilib.am: New file.  From automake.
      
      	Merge from binutils-gdb:
      	2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
      
      	* libtool.m4: Use AC_LANG_SOURCE.
      	* configure.ac: Remove AC_PREREQ, use AC_LANG_SOURCE.
      	* ar-lib: New file.
      	* test-driver: New file.
      	* configure: Re-generate.
      
      config:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* math.m4, tls.m4: Use AC_LANG_SOURCE.
      
      	Merge from binutils-gdb:
      	2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
      
      	* override.m4 (_GCC_AUTOCONF_VERSION): Bump from 2.64 to 2.69.
      
      fixincludes:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* configure.ac: Remove AC_PREREQ.
      	* aclocal.m4, configure: Regenerate.
      
      gcc:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.  Use single
      	line for second argument of AC_DEFINE_UNQUOTED.
      	* doc/install.texi (Tools/packages necessary for modifying GCC):
      	Update to autoconf 2.69 and automake 1.15.1.
      	* aclocal.m4, config.in, configure: Regenerate.
      
      gnattools:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* configure.ac: Remove AC_PREREQ.
      	* configure: Regenerate.
      
      gotools:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* config/go.m4: Remove file.
      	* Makefile.am (ACLOCAL_AMFLAGS): Do not use -I ./config.
      	* configure.ac:  Remove AC_PREREQ.  Do not include config/go.m4.
      	* Makefile.in, aclocal.m4, configure: Regenerate.
      
      intl:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	Merge from binutils-gdb:
      	2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
      
      	* configure.ac: Add AC_USE_SYSTEM_EXTENSIONS, remove AC_PREREQ.
      	* configure: Re-generate.
      	* config.h.in: Re-generate.
      	* aclocal.m4: Re-generate.
      
      libada:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* configure.ac: Remove AC_PREREQ.
      	* configure: Regenerate.
      
      libatomic:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	* acinclude.m4: Use AC_LANG_SOURCE.
      	* configure.ac: Remove AC_PREREQ.
      	* testsuite/Makefile.am (RUNTEST): Remove quotes.
      	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
      	Regenerate.
      
      libbacktrace:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.
      	* Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
      
      libcc1:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* configure.ac: Remove AC_PREREQ.
      	* Makefile.in, aclocal.m4, configure: Regenerate.
      
      libcpp:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.
      	* aclocal.m4, config.in, configure: Regenerate.
      
      libdecnumber:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	Merge from binutils-gdb:
      	2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
      
      	* configure.ac: Remove AC_PREREQ.
      	* configure: Re-generate.
      	* aclocal.m4.
      
      libffi:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	(AUTOMAKE_OPTIONS): Add info-in-builddir.
      	(CLEANFILES): Remove doc/libffi.info.
      	* configure.ac: Remove AC_PREREQ.
      	* Makefile.in, aclocal.m4, configure, fficonfig.h.in,
      	include/Makefile.in, man/Makefile.in, testsuite/Makefile.in:
      	Regenerate.
      
      libgcc:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.
      	* configure: Regenerate.
      
      libgfortran:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	* configure.ac: Remove AC_PREREQ.
      	* Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
      
      libgo [logically part of this change but omitted from the commit]:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	* config/go.m4: Remove file.
      	* config/libtool.m4: Use AC_LANG_SOURCE.
      	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.  Use
      	-Wno-override in AM_INIT_AUTOMAKE call.
      	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
      	Regenerate.
      
      libgomp:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am
      	(AUTOMAKE_OPTIONS): Add info-in-builddir.
      	(CLEANFILES): Remove libgomp.info.
      	* configure.ac: Remove AC_PREREQ.
      	* testsuite/Makefile.am (RUNTEST): Remove quotes.
      	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
      	Regenerate.
      
      libhsail-rt:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* configure.ac: Remove AC_PREREQ.
      	* Makefile.in, aclocal.m4, configure: Regenerate.
      
      libiberty:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	Merge from binutils-gdb:
      	2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
      
      	* configure.ac: Remove AC_PREREQ.
      	* configure: Re-generate.
      	* config.in: Re-generate.
      
      libitm:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	(AUTOMAKE_OPTIONS): Add info-in-builddir.
      	(CLEANFILES): Remove libitm.info.
      	* configure.ac: Remove AC_PREREQ.
      	* testsuite/Makefile.am (RUNTEST): Remove quotes.
      	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
      	Regenerate.
      
      libobjc:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* configure.ac: Remove AC_PREREQ.
      	* aclocal.m4, config.h.in, configure: Regenerate.
      
      liboffloadmic:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	* configure.ac: Remove AC_PREREQ.
      	* plugin/Makefile.am: Include multilib.am.
      	* plugin/configure.ac: Remove AC_PREREQ.
      	* Makefile.in, aclocal.m4, configure, plugin/Makefile.in,
      	plugin/aclocal.m4, plugin/configure: Regenerate.
      
      libphobos:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	* configure.ac: Remove AC_PREREQ.  Use -Wno-override in
      	AM_INIT_AUTOMAKE call.
      	* m4/autoconf.m4: Add extra argument to AC_LANG_DEFINE call.
      	* m4/druntime/os.m4: Use AC_LANG_SOURCE.
      	* testsuite/Makefile.am (RUNTEST): Remove quotes.
      	* Makefile.in, aclocal.m4, configure, libdruntime/Makefile.in,
      	src/Makefile.in, testsuite/Makefile.in: Regenerate.
      
      libquadmath:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	(AUTOMAKE_OPTIONS): Remove 1.8.  Add info-in-builddir.
      	(all-local): Define outside conditional code.
      	(CLEANFILES): Remove libquadmath.info.
      	* configure.ac: Remove AC_PREREQ.
      	* Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
      
      libsanitizer:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.
      	* Makefile.in, aclocal.m4, asan/Makefile.in, configure,
      	interception/Makefile.in, libbacktrace/Makefile.in,
      	lsan/Makefile.in, sanitizer_common/Makefile.in, tsan/Makefile.in,
      	ubsan/Makefile.in: Regenerate.
      
      libssp:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	(AUTOMAKE_OPTIONS): Remove 1.9.5.
      	* configure.ac: Remove AC_PREREQ.  Quote argument to
      	AC_RUN_IFELSE.
      	* Makefile.in, aclocal.m4, configure: Regenerate.
      
      libstdc++-v3:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	* configure.ac: Remove AC_PREREQ.
      	* Makefile.in, aclocal.m4, configure, doc/Makefile.in,
      	include/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
      	python/Makefile.in, src/Makefile.in, src/c++11/Makefile.in,
      	src/c++17/Makefile.in, src/c++98/Makefile.in,
      	src/filesystem/Makefile.in, testsuite/Makefile.in: Regenerate.
      
      libvtv:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	* configure.ac: Remove AC_PREREQ.
      	* testsuite/Makefile.am (RUNTEST): Remove quotes.
      	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
      	Regenerate.
      
      lto-plugin:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.
      	* Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
      
      zlib:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      
      	Merge from binutils-gdb:
      	2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
      
      	* configure.ac: Modernize AC_INIT call, remove AC_PREREQ.
      	* Makefile.am (AUTOMAKE_OPTIONS): Remove 1.8, cygnus, add foreign.
      	* Makefile.in: Re-generate.
      	* aclocal.m4: Re-generate.
      	* configure: Re-generate.
      
      From-SVN: r265695
      Joseph Myers committed
  3. 23 Apr, 2018 1 commit
    • PR c++/69560 - wrong alignof(double) on x86. · aa2b1055
      	CWG 1879 - Inadequate definition of alignment requirement.
      	* cp-tree.h (ALIGNOF_EXPR_STD_P): New.
      	* typeck.c (cxx_sizeof_or_alignof_type): Add std_alignof parm.
      	(cxx_sizeof_expr, cxx_sizeof_nowarn, cxx_alignas_expr)
      	(cxx_alignof_expr): Pass it.
      	* parser.c (cp_parser_unary_expression): Pass it.
      	* pt.c (tsubst_copy): Copy it.
      	(tsubst_copy_and_build): Pass it.
      	* decl.c (fold_sizeof_expr): Pass it.
      
      From-SVN: r259578
      Jason Merrill committed
  4. 18 Apr, 2018 1 commit
  5. 03 Jan, 2018 1 commit
  6. 26 Nov, 2017 1 commit
    • Plugin support on Windows/MinGW · 8c7dbea9
      config/ChangeLog:
      2017-11-14 Boris Kolpackov  <boris@codesynthesis.com>
      
      	* gcc-plugin.m4: Add support for MinGW.
      
      gcc/ChangeLog:
      2017-11-14 Boris Kolpackov  <boris@codesynthesis.com>
      
      	* plugin.c (add_new_plugin): Use platform-specific library extensions.
      	(try_init_one_plugin): Alternative implementation for MinGW.
      	* Makefile.in (plugin_implib): New.
      	(gengtype-lex.c): Fix broken AIX workaround.
      	* configure: Regenerate.
      	* doc/plugins.texi: Document support for MinGW.
      
      gcc/c/ChangeLog:
      2017-11-14 Boris Kolpackov  <boris@codesynthesis.com>
      
      	* Make-lang.in (c.install-plugin): Install backend import library.
      
      gcc/cp/ChangeLog:
      2017-11-14 Boris Kolpackov  <boris@codesynthesis.com>
      
      	* Make-lang.in (c++.install-plugin): Install backend import library.
      
      libcc1/ChangeLog:
      2017-11-14 Boris Kolpackov  <boris@codesynthesis.com>
      
      	* configure: Regenerate.
      
      From-SVN: r255154
      Boris Kolpackov committed
  7. 16 Nov, 2017 1 commit
  8. 01 Nov, 2017 1 commit
    • [C++ PATCH] overloaded operator fns [6/N] · ce121158
      https://gcc.gnu.org/ml/gcc-patches/2017-11/msg00019.html
      	gcc/cp/
      	* cp-tree.h (assign_op_identifier, call_op_identifier): Use
      	compressed code.
      	(struct lang_decl_fn): Use compressed operator code.
      	(DECL_OVERLOADED_OPERATOR_CODE): Replace with ...
      	(DECL_OVERLOADED_OPERATOR_CODE_RAW): ... this.
      	(DECL_OVERLOADED_OPERATOR_CODE_IS): Use it.
      	* decl.c (duplicate_decls): Use DECL_OVERLOADED_OPERATOR_CODE_RAW.
      	(build_library_fn): Likewise.
      	(grok_op_properties): Likewise.
      	* mangle.c (write_unqualified_name): Likewise.
      	* method.c (implicitly_declare_fn): Likewise.
      	* typeck.c (check_return_expr): Use DECL_OVERLOADED_OPERATOR_IS.
      
      	libcc1/
      	* libcp1plugin.cc (plugin_build_decl): Use
      	DECL_OVERLOADED_OPERATOR_CODE_RAW.
      
      From-SVN: r254314
      Nathan Sidwell committed
  9. 31 Oct, 2017 1 commit
    • [C++ PATCH] overloaded operator fns [2/N] · 88a819be
      https://gcc.gnu.org/ml/gcc-patches/2017-10/msg02326.html
      	gcc/cp/
      	* cp-tree.h (ovl_op_identifier): New.
      	(assign_op_identifier, call_op_identifier): Adjust.
      	(cp_operator_id, cp_assignment_operator_ide): Delete.
      	(SET_OVERLOADED_OPERATOR_CODE): Delete.
      	(OVL_OP_INFO): New.
      	* call.c (op_error): Use OVL_OP_INFO.
      	(build_conditional_expr_1): Use ovl_op_identifier.
      	(build_new_op_1): Use OVL_OP_INFO & ovl_op_identifier.
      	(build_op_delete_call): Likewise.
      	* class.c (type_requires_array_cookie): Use ovl_op_identifier.
      	* decl.c (duplicate_decls): Directly copy operator code.
      	(builtin_function_1): Do not set operator code.
      	(build_library_fn): Directly set operator code.
      	(push_cp_library_fn): Use ovl_op_identifier.
      	(grok_op_properties): Directly set operator code.
      	* decl2.c (maybe_warn_sized_delete): Use ovl_op_identifier.
      	* error.c (dump_expr): Use OVL_OP_INFO.
      	(op_to_string): Add assop arg. Use OVL_OP_INFO.
      	(assop_to_string): Delete.
      	(args_to_string): Adjust.
      	* init.c (build_new_1): Use ovl_op_identifier.
      	* mangle.c (write_unqualified_name): Use OVL_OP_INFO.
      	(write_expression): Likewise.
      	* method.c (synthesized_method_walk): Use ovl_op_identifier.
      	(implicitly_declare_fn): Use assign_op_identifier. Directly set
      	operator code.
      	* name-lookup.c (get_class_binding): Use assign_op_identifier.
      	* parser.c (cp_parser_operator): Use ovl_op_identifier.
      	(cp_parser_omp_clause_reduction): Likewise.
      	* semantics.c (omp_reduction_id): Likewise.
      	* typeck.c (cxx_sizeof_or_alignof_type): Use OVL_OP_INFO.
      
      	libcc1/
      	* libcp1plugin.cc (plugin_build_decl): Use ovl_op_identifier.
      	Directly set operator code.
      	(plugin_build_dependent_expr): Use ovl_op_identifier.
      
      From-SVN: r254267
      Nathan Sidwell committed
  10. 04 Oct, 2017 1 commit
    • [C++ PATCH] Move mangling alias out of :: · b419102c
      https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00199.html
      	gcc/cp/
      	Move mangling aliases out of global namespace.
      	* cp-tree.h (record_mangling): New.
      	(maybe_remove_implicit_alias): Delete.
      	* decl2.c (mangled_decls): New hash map.
      	(generate_mangling_alias): Reimplement using mangled_decls.
      	(record_mangling): New.
      	* mangle.c (decl_implicit_alias_p,
      	maybe_remove_implicit_alias): Delete.
      	(mangle_decl): Use record_mangling.
      	* name-lookup.c (supplement_binding_1): Remove
      	maybe_remove_implicit_alias check.
      
      	* call.c (convert_arg_to_ellipsis): Correct comment about passing
      	by reference.
      
      	gcc/testsuite/
      	* g++.dg/abi/mangle41.C: Adjust diagnostics.
      
      	libcc1/
      	* libcp1plugin.cc (supplement_binding): Don't use
      	maybe_remove_implicit_alias.
      
      From-SVN: r253421
      Nathan Sidwell committed
  11. 21 Jul, 2017 1 commit
    • Remove TYPE_METHODS. · 5aaa8fb4
      	gcc/
      	Remove TYPE_METHODS.
      	* tree.h (TYPE_METHODS): Delete.
      	* dwarf2out.c (gen_member_die): Member fns are on TYPE_FIELDS.
      	* dbxout.c (dbxout_type_fields): Ignore FUNCTION_DECLs.
      	(dbxout_type_methods): Scan TYPE_FIELDS.
      	(dbxout_type): Don't check TYPE_METHODS here.
      	* function.c (use_register_for_decl): Always ignore register for
      	class types when not optimizing.
      	* ipa-devirt.c (odr_types_equivalent_p): Delete TYPE_METHODS scan.
      	* tree.c (free_lang_data_in_type): Stitch out member functions and
      	templates from TYPE_FIELDS.
      	(build_distinct_type_copy, verify_type_variant,
      	verify_type): Member fns are on TYPE_FIELDS.
      	* tree-dump.c (dequeue_and_dump): No TYPE_METHODS.
      	* tree-pretty-print.c (dump_generic_node): Likewise.
      
      	gcc/cp/
      	Remove TYPE_METHODS.
      	* class.c (maybe_warn_about_overly_private_class,
      	finish_struct_methods, one_inheriting_sig, count_fields,
      	add_fields_to_record_type, check_field_decls, check_methods,
      	clone_function_decl, set_method_tm_attributes,
      	finalize_literal_type_property, check_bases_and_members,
      	create_vtable_ptr, determine_key_method,
      	unreverse_member_declarations, finish_struct,
      	add_vcall_offset_vtbl_entries_1): Member fns are on TYPE_FIELDS.
      	* decl.c (fixup_anonymous_aggr): Likewise.
      	* decl2.c (reset_type_linkage_2): Likewise.
      	* method.c (after_nsdmi_defaulted_late_checks,
      	lazily_declare_fn): Likewise.
      	* optimize.c (maybe_thunk_body, maybe_clone_body): Likewise.
      	* pt.c (instantiate_class_template_1, tsubst_expr,
      	do_type_instantiation, instantiate_pending_templates): Likewise.
      	* search.c (lookup_field_1): Likewise.
      	* semantics.c (finish_member_declaration,
      	finish_omp_declare_simd_methods): Likewise.
      
      	gcc/c-family/
      	Remove TYPE_METHODS.
      	* c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
      	dump_ada_template, print_ada_methods,
      	print_ada_declaration): Member fns are on TYPE_FIELDS.
      
      	gcc/objc/
      	Remove TYPE_METHODS.
      	* objc-runtime-shared-support.c (build_ivar_list_initializer):
      	Don't presume first item is a FIELD_DECL.
      
      	gcc/testsuite/
      	* g++.dg/ext/anon-struct6.C: Adjust diag.
      	* g++.old-deja/g++.other/anon4.C: Adjust diag.
      
      	libcc1/
      	Remove TYPE_METHODS.
      	* libcp1plugin.cc (plugin_build_decl): Member fns are on TYPE_FIELDS.
      
      From-SVN: r250413
      Nathan Sidwell committed
  12. 13 Jul, 2017 2 commits
  13. 12 Jul, 2017 1 commit
  14. 05 Jul, 2017 1 commit
  15. 30 Jun, 2017 1 commit
    • config-lang.in (gtfiles): Add cp/lex.c. · 08fb1316
      	* config-lang.in (gtfiles): Add cp/lex.c.
      	* cp-tree.h (mangle_convop_name_for_type): Rename ...
      	(make_conv_op_name): ... here.  Move to lex.
      	* lambda.c (maybe_add_lambda_conv_op): Update.
      	* parser.c (cp_parser_conversion_function_id): Update.
      	* pt.c (tsubst_decl, tsubst_baselink, tsubst_copy,
      	tsubst_copy_and_build): Update.
      	* semantics.c (apply_deduced_return_type): Update.
      	* mangle.c (conv_type_hasher, conv_type_names,
      	mangle_conv_op_name_for_type): Move to ...
      	* lex.c (conv_type_hasher, conv_type_names, make_convop_name):
      	... here.  Rename.
      
      	* libcp1plugin.cc (plugin_build_decl): Use make_conv_op_name.
      	(plugin_build_dependent_expr): Likewise.
      
      From-SVN: r249852
      Nathan Sidwell committed
  16. 26 Jun, 2017 1 commit
    • cp-tree.h (lang_decl_fn): Remove assignment_operator_p field. · d6ef53f2
      	gcc/cp/
      	* cp-tree.h (lang_decl_fn): Remove assignment_operator_p field.
      	(DECL_COMPLETE_CONSTRUCTOR_P): Directly compare
      	identifier.
      	(DECL_BASE_CONSTRUCTOR_P, DECL_COMPLETE_DESTRUCTOR_P)
      	DECL_BASE_DESTRUCTOR_P, DECL_DELETING_DESTRUCTOR_P): Likewise.
      	(DECL_ASSIGNMENT_OPERATOR_P): Use IDENTIFIER_ASSIGN_OP_P.
      	* decl.c (grok_op_properties): Adjust identifier checking.
      	* init.c (expand_default_init): Adjust identifier descision.
      	* method.c (implicitly_declare_fn): Don't use
      	DECL_ASSIGNMENT_OPERATOR_P.
      	* search.c (lookup_fnfields_1): Use IDENTIFIER_CTOR_P,
      	IDENTIFIER_DTOR_P.
      	* call.c (in_charge_arg_for_name): Reimplement.
      	(build_special_member_call): Use IDENTIFIER_CDTOR_P,
      	IDENTIFIER_DTOR_P.
      
      	libcc1/
      	* libcp1plugin.cc (plugin_build_decl): Don't set
      	DECL_ASSIGNMENT_OPERATOR_P.
      (--This line, and those below, will be ignored--
      
      M    gcc/cp/init.c
      M    gcc/cp/decl.c
      M    gcc/cp/method.c
      M    gcc/cp/cp-tree.h
      M    gcc/cp/call.c
      M    gcc/cp/search.c
      M    gcc/cp/ChangeLog
      M    libcc1/ChangeLog
      M    libcc1/libcp1plugin.cc
      
      From-SVN: r249657
      Nathan Sidwell committed
  17. 16 Jun, 2017 1 commit
    • cp-tree.h (build_this_parm, [...]): Add FN parm. · e249fcad
      	gcc/cp/
      	* cp-tree.h (build_this_parm, cp_build_parm_decl)
      	build_artificial_parm): Add FN parm.
      	* decl.c (start_cleanup_fn): Adjust.
      	(build_this_parm): Add FN parm, pass it through.
      	(grokfndecl): Adjust parm building.
      	* decl2.c (cp_build_parm_decl): Add FN parm, set context.
      	(build_artificial_parm): Add FN parm, pass through.
      	(maybe_retrofit_in_chrg): Adjust parm building.
      	(start_static_storage_duration_function): Likwise.
      	* lambda.c (maybe_aadd_lambda_conv_op): Likewise.
      	* method.c (implicitly_declare_fn): Likewise.
      	* parser.c (inject_this_parameter): Likewise.
      
      	libcc1/
      	* libcp1plugin.cc (plugin_build_decl): Adjust parm building.
      (--This line, and those below, will be ignored--
      
      M    gcc/cp/parser.c
      M    gcc/cp/ChangeLog
      M    gcc/cp/decl.c
      M    gcc/cp/lambda.c
      M    gcc/cp/cp-tree.h
      M    gcc/cp/method.c
      M    gcc/cp/decl2.c
      M    libcc1/libcp1plugin.cc
      M    libcc1/ChangeLog
      
      From-SVN: r249268
      Nathan Sidwell committed
  18. 26 May, 2017 2 commits
    • Inline and using namespace representation change. · 3c9feefc
      	gcc/cp/
      	Inline and using namespace representation change.
      	* cp-tree.h (struct lang_decl_ns): Delete ns_using.  Add usings,
      	inlinees as vector.
      	(DECL_NAMESPACE_USING): Adjust.
      	(DECL_NAMESPACE_INLINEES): New.
      	* name-lookup.h (struct cp_binding_level): Change usings
      	representation.
      	* name-lookup.c (name_lookup::do_queue_usings)
      	name_lookup::queue_usings): Adjust.
      	(name_lookup::search_namespace, name_lookup::search_usings)
      	name_lookup::queue_namespace): Adjust.
      	(name_lookup::adl_namespace_only): Adjust.
      	(add_using_namespace, push_namespace): Push onto vector.
      	(pop_namespace): Add timing logic.
      
      	libcc1/
      	* libcp1plugin.cc (plugin_make_namespace_inline): Push onto linees.
      ((--This line, and those below, will be ignored--
      
      M    gcc/cp/ChangeLog
      M    gcc/cp/cp-tree.h
      M    gcc/cp/name-lookup.c
      M    gcc/cp/name-lookup.h
      M    libcc1/libcp1plugin.cc
      M    libcc1/ChangeLog
      
      From-SVN: r248520
      Nathan Sidwell committed
    • call.c (build_operator_new_call): Do namelookup and ADL here. · e1cad930
      	gcc/cp/
      	* call.c (build_operator_new_call): Do namelookup and ADL here.
      	(build_new_op_1): Likewise.
      	* name-lookup.h (lookup_function_nonclass): Delete declaration.
      	(do_using_directive): Likewise.
      	* name-lookup.c (set_namespace_binding, push_local_binding): Don't
      	declare early.
      	(struct scope_binding): Delete.
      	(EMPTY_SCOPE_BINDING): Delete.
      	(set_decl_namespace): Use OVL_P.
      	(finish_local_using_decl): Lose unnecesary checks.
      	(lookup_function_nonclass): Delete.
      	(cp_emit_debug_info_for_using): Use MAYBE_BASELINK_P.
      
      	libcc1/
      	* libcp1plugin.cc (plugin_add_using_namespace): Call
      	finish_namespace_using_directive.
      
      From-SVN: r248518
      Nathan Sidwell committed
  19. 25 May, 2017 1 commit
    • Kill DECL_NAMESPACE_USERS, DECL_NAMESPACE_ASSOCIATIONS. · 44e00a7a
      	gcc/cp/
      	Kill DECL_NAMESPACE_USERS, DECL_NAMESPACE_ASSOCIATIONS.
      	* cp-tree.h (lang_decl_ns): Remove ns_users field.
      	(DECL_NAMESPACE_USERS, DECL_NAMESPACE_ASSOCIATIONS): Delete.
      	(TREE_INDIRECT_USING): Delete.
      	* name-lookup.h (is_associated_namespace): Delete.
      	* name-lookup.c (name_lookup::search_usings
      	name_lookup::do_queue_usings): Usings are always direct.
      	(is_associated_namespace): Delete.
      	(handle_namespace_attrs): Use DECL_NAMESPACE_INLINE_P.
      	(namespace_ancestor_1, namespace_ancestor): Delete.
      	(push_using_directive_1, push_using_directive): Delete.
      	(add_using_namespace_1): Delete.
      	(add_using_namespace): Reimplement.
      	(emit_debug_info_using_namespace): New.
      	(finish_namespace_using_directive, finish_local_using_directive
      	push_namespace): Adjust.
      	* tree.c (cp_free_lang_data): Remove DECL_NAMESPACE_USERS
      	handling.
      
      	libcc1/
      	* libcp1plugin.cc (plugin_make_namespace_inline): Check and set
      	DECL_NAMESPACE_INLINE_P.
      
      	gcc/testsuite/
      	* g++.dg/lookup/using56.C: New.
      	* g++.dg/lookup/using57.C: New.
      	* g++.dg/lookup/using58.C: New.
      	* g++.dg/lookup/using59.C: New.
      
      From-SVN: r248467
      Nathan Sidwell committed
  20. 23 May, 2017 1 commit
    • cp-tree.h (OVL_P): New. · 9d029ddf
      	gcc/cp
      	* cp-tree.h (OVL_P): New.
      	* name-lookup.h (push_local_binding): Delete.
      	(do_toplevel_using_decl, do_local_using_decl): Rename to ...
      	(finish_namespace_using_decl, finish_local_using_decl): ... here
      	* name-lookup.c (add_decl_to_level): Swap args.
      	(pop_bindings_and_leave_scope): Look inside TREE_LIST.
      	(diagnose_name_conflict): Check contexts are same for redecl.
      	(update_local_overload): New.
      	(compparms_for_decl_and_using): Rename to ...
      	(matching_fn_p): ... here.
      	(pushdecl_maybe_friend_1): Adjust add_decl_to_level,
      	push_local_bindings call.
      	(push_local_binding): Make static, replace FLAGS arg with
      	IS_USING.
      	(validate_nonmember_using_decl): Use OVL_FIRST.
      	(do_nonmember_using_decl): Use in/out parameters.  Use
      	lkp_iterator and simplify.
      	(do_toplevel_using_decl, do_local_using_decl): Rename to ...
      	(finish_namespace_using_decl, finish_local_using_decl): ... here.
      	Adjust.
      	(lookup_type_current_level): Delete.
      	* parser.c (cp_parser_using_declaration): Adjust.
      	* pt.c (tsubst_expr): Adjust.
      
      	libcc1/
      	* libcp1plugin.cc (plugin_add_using_decl): Call
      	finish_namespace_using_decl.  Use assert not unreachable.
      
      	gcc/testsuite/
      	* g++.dg/lookup/using13.C: Adjust expected error.
      
      From-SVN: r248364
      Nathan Sidwell committed
  21. 11 May, 2017 2 commits
  22. 10 May, 2017 1 commit
    • cp-tree.h (add_method, [...]): Change last arg to bool. · d5a2f455
      	gcc/cp/
      	* cp-tree.h (add_method, clone_function_decl): Change last arg to
      	bool.
      	* class.c (add_method): Change third arg to bool.  Adjust.
      	(one_inheriting_sig, one_inherited_ctor): Adjust.
      	(clone_function_decl): Change 2nd arg to bool.  Adjust.
      	(clone_constructors_and_destructors): Adjust.
      	* lambda.c (maybe_add_lambda_conv_op): Adjust.
      	* method.c (lazily_declare_fn): Adjust.
      	* pt.c (tsubst_decl, instantiate_template_1): Adjust.
      	* semantics.c (finish_member_declaration): Adjust.
      
      	libcc1/
      	* libcp1plugin.cc (plugin_build_decl): Adjust add_method call.
      
      From-SVN: r247834
      Nathan Sidwell committed
  23. 15 Apr, 2017 1 commit
    • [libcp1] handle anon aggregates linkage-named by typedefs · e072b0c4
      Arrange for the first typedef to an anonymous type in the same context
      to be used as the linkage name for the type.
      
      for  gcc/cp/ChangeLog
      
      	* decl.c (name_unnamed_type): Split out of...
      	(grokdeclarator): ... this.
      	* decl.h (name_unnamed_type): Declare.
      
      for  libcc1/ChangeLog
      
      	* libcp1plugin.cc (plugin_build_decl): Call name_unnamed_type.
      
      From-SVN: r246938
      Alexandre Oliva committed
  24. 31 Jan, 2017 5 commits
    • Introduce C++ support in libcc1 · 8db29d88
      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
      Alexandre Oliva committed
    • libcc1: return absolute filename from make search_dir · 9f92b93b
      for  libcc1/ChangeLog
      
      	* findcomp.cc: Include system.h.
      	(search_dir): Return absolute filename.
      
      From-SVN: r245050
      Jan Kratochvil committed
    • libcc1 base API: bump set_arguments; add set_driver_filename, set_triplet_regexp · 5d1b2443
      for  include/ChangeLog
      
      	* gcc-interface.h (enum gcc_base_api_version): Update comment
      	for GCC_FE_VERSION_1.
      	(struct gcc_base_vtable): Rename set_arguments to
      	set_arguments_v0.  Add set_arguments, set_triplet_regexp and
      	set_driver_filename.
      
      for  libcc1/ChangeLog
      
      	* libcc1.cc (libcc1): Add class compiler with field compilerp,
      	class compiler_triplet_regexp and class
      	compiler_driver_filename.
      	(libcc1::libcc1): Initialize compilerp.
      	(libcc1::~libcc1): Delete compilerp.
      	(libcc1::compiler::find, libcc1::compiler_triplet_regexp::find)
      	(libcc1::compiler_driver_filename::find): New methods.
      	(libcc1_set_arguments): Remove parameter triplet_regexp.
      	(libcc1_set_triplet_regexp, libcc1_set_driver_filename)
      	(libcc1_set_arguments_v0): New functions.
      	(vtable): Use libcc1_set_arguments_v0, add
      	libcc1_set_arguments, libcc1_set_triplet_regexp and
      	libcc1_set_driver_filename.
      
      From-SVN: r245049
      Jan Kratochvil committed
    • libcc1 base API: add set_verbose and new version of compile · 3b5c1072
      for  include/ChangeLog
      
      	* gcc-interface.h (enum gcc_base_api_version): Add comment to
      	GCC_FE_VERSION_1.
      	(struct gcc_base_vtable): Rename compile to compile_v0.
      	Update comment for compile.  New methods set_verbose and
      	compile.
      
      for  libcc1/ChangeLog
      
      	* libcc1.cc: Include intl.h.
      	(struct libcc1): Add field verbose.
      	(libcc1::libcc1): Initialize it.
      	(libcc1_set_verbose): New function.
      	(libcc1_set_arguments): Print messages for VERBOSE.
      	(libcc1_compile): Remove parameter verbose.  Use VERBOSE from
      	SELF.
      	(libcc1_compile_v0): New function.
      	(vtable): Use libcc1_compile_v0 and add libcc1_compile and
      	libcc1_set_verbose.
      
      From-SVN: r245048
      Jan Kratochvil committed
    • libcc1 base API version bump · 023721aa
      for  include/ChangeLog
      
      	* gcc-interface.h (enum gcc_base_api_version): Add
      	GCC_FE_VERSION_1.
      
      for  libcc1/ChangeLog
      
      	* libcc1.cc (vtable): Update to GCC_FE_VERSION_1.
      	(gcc_c_fe_context): Accept also GCC_FE_VERSION_1.
      
      From-SVN: r245047
      Jan Kratochvil committed
  25. 17 Jan, 2017 1 commit
    • re PR other/79046 (g++ -print-file-name=plugin uses full version number in path) · 3c36aa6b
      	PR other/79046
      	* configure: Regenerated.
      config/
      	* acx.m4 (GCC_BASE_VER): New m4 function.
      	(ACX_TOOL_DIRS): Require GCC_BASE_VER, for
      	--with-gcc-major-version-only use just major number from BASE-VER.
      gcc/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get
      	version from BASE-VER file.
      	(CFLAGS-gcc.o): Add -DBASEVER=$(BASEVER_s).
      	(gcc.o): Depend on $(BASEVER).
      	* common.opt (dumpfullversion): New option.
      	* gcc.c (driver_handle_option): Handle OPT_dumpfullversion.
      	* doc/invoke.texi: Document -dumpfullversion.
      	* doc/install.texi: Document --with-gcc-major-version-only.
      	* configure: Regenerated.
      libatomic/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* testsuite/Makefile.in: Regenerated.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      libgomp/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* testsuite/Makefile.in: Regenerated.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      libgcc/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get
      	version from BASE-VER file.
      	* configure: Regenerated.
      libssp/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      liboffloadmic/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* aclocal.m4: Include ../config/acx.m4.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      libquadmath/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      libmpx/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      libada/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get
      	version from BASE-VER file.
      	* configure: Regenerated.
      lto-plugin/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      libitm/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* testsuite/Makefile.in: Regenerated.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      fixincludes/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.in (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* configure: Regenerated.
      libcilkrts/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* aclocal.m4: Include ../config/acx.m4.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      libcc1/
      	* configure.ac: Add GCC_BASE_VER.  For --with-gcc-major-version-only
      	use just major number from BASE-VER.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      libobjc/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.in (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* configure: Regenerated.
      libstdc++-v3/
      	* configure.ac: Add GCC_BASE_VER.
      	* fragment.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* po/Makefile.in: Regenerated.
      	* libsupc++/Makefile.in: Regenerated.
      	* testsuite/Makefile.in: Regenerated.
      	* src/Makefile.in: Regenerated.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      	* include/Makefile.in: Regenerated.
      	* doc/Makefile.in: Regenerated.
      	* python/Makefile.in: Regenerated.
      	* src/c++11/Makefile.in: Regenerated.
      	* src/c++98/Makefile.in: Regenerated.
      	* src/filesystem/Makefile.in: Regenerated.
      libvtv/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* testsuite/Makefile.in: Regenerated.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      libsanitizer/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* libbacktrace/Makefile.in: Regenerated.
      	* interception/Makefile.in: Regenerated.
      	* asan/Makefile.in: Regenerated.
      	* ubsan/Makefile.in: Regenerated.
      	* configure: Regenerated.
      	* sanitizer_common/Makefile.in: Regenerated.
      	* lsan/Makefile.in: Regenerated.
      	* Makefile.in: Regenerated.
      	* tsan/Makefile.in: Regenerated.
      libgfortran/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      
      From-SVN: r244521
      Jakub Jelinek committed
  26. 04 Jan, 2017 1 commit
  27. 18 Nov, 2016 1 commit
    • Add SET_DECL_MODE · 899ca90e
      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: Alan Hayward <alan.hayward@arm.com>
      Co-Authored-By: David Sherwood <david.sherwood@arm.com>
      
      From-SVN: r242585
      Richard Sandiford committed
  28. 07 Jun, 2016 1 commit
    • Update copyright dates · 48eae472
      	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
      Rainer Orth committed
  29. 18 Apr, 2016 1 commit
    • tree.h (TYPE_ALIGN, DECL_ALIGN): Return shifted amount. · fe37c7af
      	* 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
      Michael Matz committed
  30. 11 Apr, 2016 1 commit
    • libcc1: Clean compiler-name.h (PR70173) · fa246aa3
      Since the file is generated from a Makefile fragment, it needs to be
      added to MOSTLYCLEANFILES.  The directory itself is still not deleted
      (just like the gnattools and gotools directories).
      
      
      2016-04-11  Segher Boessenkool  <segher@kernel.crashing.org>
      
      libcc1/
      	PR bootstrap/70173
      	* Makefile.am (MOSTLYCLEANFILES): New, add compiler-name.h .
      	(compiler-name.h): Shorten recipe so that it fits the line.
      	* Makefile.in: Regenerate.
      
      From-SVN: r234874
      Segher Boessenkool committed
  31. 14 Mar, 2016 1 commit
  32. 25 Jun, 2015 2 commits
    • hash-traits.h (free_ptr_hash): New class. · 95fbe13e
      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
      Richard Sandiford committed
    • hash-table.h: Update comments. · 8d67ee55
      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
      Richard Sandiford committed