1. 01 Nov, 2018 16 commits
  2. 31 Oct, 2018 24 commits
    • Add visibility to libfunc constructors · a3ace685
      	* optabs-libfuncs.c (build_libfunc_function_visibility):
      	New, split out from...
      	(build_libfunc_function): ... here.
      	(init_one_libfunc_visibility): New, split out from ...
      	(init_one_libfunc): ... here.
      
      From-SVN: r265704
      Richard Henderson committed
    • aarch64: Remove early clobber from ATOMIC_LDOP scratch · 53de1ea8
      	* config/aarch64/atomics.md (aarch64_atomic_<ATOMIC_LDOP><ALLI>_lse):
      	The scratch register need not be early-clobber.  Document the reason
      	why we cannot use ST<OP>.
      
      From-SVN: r265703
      Richard Henderson committed
    • Fix profiledbootstrap when D is enabled · 4911c15c
      gcc/d/ChangeLog:
      
      2018-10-31  Iain Buclaw  <ibuclaw@gdcproject.org>
      
      	PR d/87825
      	* Make-lang.in (d/idgen) Link with BUILD_LINKERFLAGS.
      	(d/impcvgen): Likewise.
      
      From-SVN: r265702
      Iain Buclaw committed
    • re PR bootstrap/82856 (--enable-maintainter-mode broken by incompatiblity of… · 73b6d7a9
      re PR bootstrap/82856 (--enable-maintainter-mode broken by incompatiblity of gcc's required automake and modern Perl)
      
      	PR bootstrap/82856
      
          libgo: update to autoconf 2.69 and automake 1.15.1
          
          Initial patch from Joseph Myers.
          
          Reviewed-on: https://go-review.googlesource.com/c/146417
      
      From-SVN: r265701
      Ian Lance Taylor committed
    • re PR fortran/20520 (allocatable arrays used uninitialized without a warning) · cdf0919d
      2018-10-31  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/20520
      	* gfortran.dg/allocatable_uninitialized_1.f90: New test.
      
      From-SVN: r265698
      Thomas Koenig committed
    • [C++ PATCH] missed testcase · d459595b
      https://gcc.gnu.org/ml/gcc-patches/2018-10/msg02065.html
      	* g++.dg/lookup/friend21.C: New.
      
      From-SVN: r265697
      Nathan Sidwell committed
    • [PATCH] command line macros · ab5324fb
      https://gcc.gnu.org/ml/gcc-patches/2018-10/msg02062.html
      	* c-opts.c (c_finish_options): Force command line macro
      	location.  Refactor to avoid repeating main debug hook.
      	(push_command_line_include): Clarify comment.
      
      From-SVN: r265696
      Nathan Sidwell committed
    • 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
    • tree-ssa-loop-ivcanon.c (try_peel_loop): Fix typo and remove dead initialization. · d8b1c3f0
      	* tree-ssa-loop-ivcanon.c (try_peel_loop): Fix typo and remove dead
      	initialization.
      
      From-SVN: r265693
      Pat Haugen committed
    • [6/6] Preprocessor forced macro location · f3f6029d
      https://gcc.gnu.org/ml/gcc-patches/2018-10/msg02044.html
      	libcpp/
      	* internal.h (struct cpp_reader): Rename forced_token_location_p
      	to forced_token_location and drop its pointerness.
      	* include/cpplib.h (cpp_force_token_locations): Take location, not
      	pointer to one.
      	* init.c (cpp_create_reader): Adjust.
      	* lex.c (cpp_read_main_file): 
      
      	gcc/c-family/
      	* c-opts.c (c_finish_options): Adjust cpp_force_token_locations call.
      
      	gcc/fortran/
      	* cpp.c (gfc_cpp_init): Adjust cpp_force_token_locations call.
      
      From-SVN: r265692
      Nathan Sidwell committed
    • Add myself to MAINTAINERS · 82a14443
      ChangeLog:
      
      2018-10-31  Michael Ploujnikov  <michael.ploujnikov@oracle.com>
      
      	* MAINTAINERS (Write After Approval): Add myself.
      
      From-SVN: r265691
      Michael Ploujnikov committed
    • [5/6] Preprocessor include · 705b0c05
      https://gcc.gnu.org/ml/gcc-patches/2018-10/msg02041.html
      	* directives.c (do_include_common): Commonize cleanup path.
      	(_cpp_pop_buffer): Fix leak.
      
      From-SVN: r265690
      Nathan Sidwell committed
    • [4/7] Preprocessor location-kind predicates · 87bacc2b
      https://gcc.gnu.org/ml/gcc-patches/2018-10/msg02040.html
      	* include/line-map.h (IS_ORDINARY_LOC, IS_MACRO_LOC): New
      	predicates.
      	(IS_ADHOC_LOC): Move earlier.
      	(MAP_ORDINARY_P): Use IS_ORDINARY_LOC.
      	* line-map.c (linemap_location_from_macro_expansion_p): Use
      	IS_MACRO_LOC.
      
      From-SVN: r265689
      Nathan Sidwell committed
    • [3/7] Preprocessor macro loc · c9fb347e
      https://gcc.gnu.org/ml/gcc-patches/2018-10/msg02039.html
      	* include/cpplib.h (cpp_macro_definition_location): Make inline.
      	* macro.c (warn_of_redefinition): Fix comments, examine macro
      	type, use C++ for.
      	(cpp_macro_definition_location): Don't define here.
      
      From-SVN: r265688
      Nathan Sidwell committed
    • [2/7] Preprocessor node access · 43af5ef1
      https://gcc.gnu.org/ml/gcc-patches/2018-10/msg02038.html
      	* include/cpplib.h (HT_NODE): Don't cast NODE.
      	(NODE_LEN, NODE_NAME): Use HT_NODE.
      
      From-SVN: r265687
      Nathan Sidwell committed
    • Provide extension hint for aarch64 target (PR driver/83193). · c7887347
      2018-10-31  Martin Liska  <mliska@suse.cz>
      
      	PR driver/83193
      	* common/config/aarch64/aarch64-common.c (aarch64_parse_extension):
      	Add new argument invalid_extension.
      	(aarch64_get_all_extension_candidates): New function.
      	(aarch64_rewrite_selected_cpu): Add NULL to function call.
      	* config/aarch64/aarch64-protos.h (aarch64_parse_extension): Add
      	new argument.
      	(aarch64_get_all_extension_candidates): New function.
      	* config/aarch64/aarch64.c (aarch64_parse_arch): Add new
      	argument invalid_extension.
      	(aarch64_parse_cpu): Likewise.
      	(aarch64_print_hint_for_extensions): New function.
      	(aarch64_validate_mcpu): Provide hint about invalid extension.
      	(aarch64_validate_march): Likewise.
      	(aarch64_handle_attr_arch): Pass new argument.
      	(aarch64_handle_attr_cpu): Provide hint about invalid extension.
      	(aarch64_handle_attr_isa_flags): Likewise.
      2018-10-31  Martin Liska  <mliska@suse.cz>
      
      	PR driver/83193
      	* gcc.target/aarch64/spellcheck_7.c: New test.
      	* gcc.target/aarch64/spellcheck_8.c: New test.
      	* gcc.target/aarch64/spellcheck_9.c: New test.
      
      From-SVN: r265686
      Martin Liska committed
    • [1/7] Preprocessor cleanup · ff65e980
      https://gcc.gnu.org/ml/gcc-patches/2018-10/msg02037.html
      	* directives.c (DIRECTIVE_TABLE): Drop historical frequency
      	comments.
      	* files.c (_cpp_stack_file): Fix indentation.
      
      From-SVN: r265685
      Nathan Sidwell committed
    • More testing for std::pair layout change · d5e33619
      	* testsuite/20_util/pair/87822.cc: Test deeper nesting.
      
      From-SVN: r265680
      Jonathan Wakely committed
    • [C++ PATCH] Simplify overloads · 8e82c473
      https://gcc.gnu.org/ml/gcc-patches/2018-10/msg02026.html
      	gcc/cp/
      	* cp-tree.h (OVL_DEDUP_P): New.
      	* name-lookup.c (name_lookup::add_overload): Check OVL_DEDUP_P.
      	(get_class_binding_direct): Likwise.
      	* tree.c (ovl_make): Propagate OVL_DEDUP_P.
      	(ovl_copy): Copy it.
      	(ovl_insert): Do not keep using-decls ordered.
      	(lookup_maybe_add): Adjust comment.
      
      	gcc/testsuite/
      	* g++.dg/lookup/using60.C: New.
      
      From-SVN: r265679
      Nathan Sidwell committed
    • PR libstdc++/87822 fix layout change for nested std::pair · 0db78d0a
      The introduction of the empty __pair_base base class for PR 86751
      changed the layout of std::pair<std::pair<...>, ...>. The outer pair and
      its first member both have a base class of the same type, which cannot
      exist at the same address. This causes the first member to be at a
      non-zero offset.
      
      The solution is to make the base class depend on the template
      parameters, so that each pair type has a different base class type,
      which allows the base classes of the outer pair and its first member to
      have the same address.
      
      	PR libstdc++/87822
      	* include/bits/stl_pair.h (__pair_base): Change to class template.
      	(pair): Make base class type depend on template parameters.
      	* testsuite/20_util/pair/87822.cc: New test.
      
      From-SVN: r265678
      Jonathan Wakely committed
    • re PR middle-end/70359 (Code size increase for x86/ARM/others compared to gcc-5.3.0) · ef976be1
      2018-10-31  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/70359
      	PR middle-end/86270
      	* tree-outof-ssa.c (insert_backedge_copies): Restrict
      	copy generation to useful cases.  Place the copy before
      	the definition of the backedge value when possible.
      
      	* gcc.target/i386/pr70359.c: New testcase.
      	* gcc.target/i386/pr86270.c: Likewise.
      
      From-SVN: r265677
      Richard Biener committed
    • [ARC] Handle store cacheline hazard. · 635aeaa2
      Handle store cacheline hazard for A700 cpus by inserting two NOP_S
      between ST ST LD or their logical equivalent (like ST ST NOP_S NOP_S
      J_L.D LD)
      
      gcc/
      xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>
      
              * config/arc/arc-arch.h (ARC_TUNE_ARC7XX): New tune value.
              * config/arc/arc.c (arc_active_insn): New function.
              (check_store_cacheline_hazard): Likewise.
              (workaround_arc_anomaly): Use check_store_cacheline_hazard.
              (arc_override_options): Disable delay slot scheduler for older
              A7.
              (arc_store_addr_hazard_p): New implementation, old one renamed to
              ...
              (arc_store_addr_hazard_internal_p): Renamed.
              (arc_reorg): Don't combine into brcc instructions which are part
              of hardware hazard solution.
              * config/arc/arc.md (attr tune): Consider new arc7xx tune value.
              (tune_arc700): Likewise.
              * config/arc/arc.opt (arc7xx): New tune value.
              * config/arc/arc700.md: Improve A7 scheduler.
      
      From-SVN: r265676
      Claudiu Zissulescu committed
    • [ARC] Add BI/BIH instruction support. · aac1c11c
      Use BI/BIH instruction to implement casesi pattern. Only ARC V2.
      
      gcc/
      xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>
      
              * config/arc/arc.c (arc_override_options): Remove
              TARGET_COMPACT_CASESI.
              * config/arc/arc.h (ASM_OUTPUT_ADDR_DIFF_ELT): Update.
              (CASE_VECTOR_MODE): Likewise.
              (CASE_VECTOR_PC_RELATIVE): Likewise.
              (CASE_VECTOR_SHORTEN_MODE): Likewise.
              (CASE_VECTOR_SHORTEN_MODE1): Delete.
              (ADDR_VEC_ALIGN): Update.
              (ASM_OUTPUT_CASE_LABEL): Undefine.
              (ASM_OUTPUT_BEFORE_CASE_LABEL): Undefine.
              (TARGET_BI_BIH): Define.
              (DEFAULT_BRANCH_INDEX): Likewise.
              * config/arc/arc.md (casesi): Rework to accept BI/BIH
              instructions, remove compact_casesi use case.
              (casesi_compact_jump): Remove.
              (casesi_dispatch): New pattern.
              * config/arc/arc.opt: Add mbranch-index option. Deprecate
              compact_casesi option.
              * doc/invoke.texi: Document mbranch-index option.
      
      gcc/testsuite
      xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>
      
              * gcc.target/arc/jumptable.c: New test.
      
      From-SVN: r265675
      Claudiu Zissulescu committed
    • [ARC] Cleanup TLS implementation and add a number of tests. · 8efa18d6
      gcc/
      xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc.c (arc_get_tp): Remove function.
      	(arc_emit_call_tls_get_addr): Likewise.
      	(arc_call_tls_get_addr): New function.
      	(arc_legitimize_tls_address): Make use of arc_call_tls_get_addr.
      	* config/arc/arc.md (tls_load_tp_soft): Remove.
      	(tls_gd_get_addr): Likewise.
      
      testsuite/
      xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* gcc.target/arc/tls-gd.c: New file.
      	* gcc.target/arc/tls-ie.c: Likewise.
      	* gcc.target/arc/tls-ld.c: Likewise.
      	* gcc.target/arc/tls-le.c: Likewise.
      	* gcc.target/arc/tls-1.c: Update test.
      
      From-SVN: r265674
      Claudiu Zissulescu committed