Skip to content
Snippets Groups Projects
  1. Oct 31, 2018
    • Joseph Myers's avatar
      Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). · 22e05272
      Joseph Myers authored
      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
      22e05272
    • Pat Haugen's avatar
      tree-ssa-loop-ivcanon.c (try_peel_loop): Fix typo and remove dead initialization. · d8b1c3f0
      Pat Haugen authored
      	* tree-ssa-loop-ivcanon.c (try_peel_loop): Fix typo and remove dead
      	initialization.
      
      From-SVN: r265693
      d8b1c3f0
    • Nathan Sidwell's avatar
      [6/6] Preprocessor forced macro location · f3f6029d
      Nathan Sidwell authored
      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
      f3f6029d
    • Michael Ploujnikov's avatar
      Add myself to MAINTAINERS · 82a14443
      Michael Ploujnikov authored
      ChangeLog:
      
      2018-10-31  Michael Ploujnikov  <michael.ploujnikov@oracle.com>
      
      	* MAINTAINERS (Write After Approval): Add myself.
      
      From-SVN: r265691
      82a14443
    • Nathan Sidwell's avatar
      [5/6] Preprocessor include · 705b0c05
      Nathan Sidwell authored
      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
      705b0c05
    • Nathan Sidwell's avatar
      [4/7] Preprocessor location-kind predicates · 87bacc2b
      Nathan Sidwell authored
      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
      87bacc2b
    • Nathan Sidwell's avatar
      [3/7] Preprocessor macro loc · c9fb347e
      Nathan Sidwell authored
      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
      c9fb347e
    • Nathan Sidwell's avatar
      [2/7] Preprocessor node access · 43af5ef1
      Nathan Sidwell authored
      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
      43af5ef1
    • Martin Liska's avatar
      Provide extension hint for aarch64 target (PR driver/83193). · c7887347
      Martin Liska authored
      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
      c7887347
    • Nathan Sidwell's avatar
      [1/7] Preprocessor cleanup · ff65e980
      Nathan Sidwell authored
      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
      ff65e980
    • Jonathan Wakely's avatar
      More testing for std::pair layout change · d5e33619
      Jonathan Wakely authored
      	* testsuite/20_util/pair/87822.cc: Test deeper nesting.
      
      From-SVN: r265680
      d5e33619
    • Nathan Sidwell's avatar
      [C++ PATCH] Simplify overloads · 8e82c473
      Nathan Sidwell authored
      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
      8e82c473
    • Jonathan Wakely's avatar
      PR libstdc++/87822 fix layout change for nested std::pair · 0db78d0a
      Jonathan Wakely authored
      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
      0db78d0a
    • Richard Biener's avatar
      re PR middle-end/70359 (Code size increase for x86/ARM/others compared to gcc-5.3.0) · ef976be1
      Richard Biener authored
      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
      ef976be1
    • Claudiu Zissulescu's avatar
      [ARC] Handle store cacheline hazard. · 635aeaa2
      Claudiu Zissulescu authored
      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
      635aeaa2
    • Claudiu Zissulescu's avatar
      [ARC] Add BI/BIH instruction support. · aac1c11c
      Claudiu Zissulescu authored
      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
      aac1c11c
    • Claudiu Zissulescu's avatar
      [ARC] Cleanup TLS implementation and add a number of tests. · 8efa18d6
      Claudiu Zissulescu authored
      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
      8efa18d6
    • Martin Liska's avatar
      Update LOCAL_PATCHES after libsanitizer merge. · 088371bf
      Martin Liska authored
      2018-10-31  Martin Liska  <mliska@suse.cz>
      
      	* LOCAL_PATCHES: Update to installed revisions.
      
      From-SVN: r265673
      088371bf
    • Claudiu Zissulescu's avatar
      [ARC] Remove non standard funcions calls. · 8180cde0
      Claudiu Zissulescu authored
      Replace all custom "library" calls with compiler known patterns.
      
      gcc/
      xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc.md (mulsi3): Remove call to mulsi_600_lib.
      	(mulsi3_600_lib): Remove pattern.
      	(umulsi3_highpart_600_lib_le): Likewise.
      	(umulsi3_highpart): Remove call to umulsi3_highpart_600_lib_le.
      	(umulsidi3): Remove call to umulsidi3_600_lib.
      	(umulsidi3_600_lib): Remove pattern.
      	(peephole2): Remove peephole using the above deprecated patterns.
      
      testsuite/
      xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* gcc.target/arc/mulsi3_highpart-2.c: Update test.
      
      libgcc/
      xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/lib1funcs.S (_muldi3): New function.
      	* config/arc/t-arc (LIB1ASMFUNCS): Add _muldi3.
      
      From-SVN: r265672
      8180cde0
    • Martin Liska's avatar
      Update test-suite expected output after rewording in libsanitizer. · fad03406
      Martin Liska authored
      2018-10-31  Martin Liska  <mliska@suse.cz>
      
      	* c-c++-common/ubsan/pr63839.c: Update to new sanitizer message.
      	* c-c++-common/ubsan/unreachable-1.c (main): Likewise.
      	* c-c++-common/ubsan/unreachable-2.c: Likewise.
      	* c-c++-common/ubsan/unreachable-4.c (main): Likewise.
      
      From-SVN: r265670
      fad03406
    • Martin Liska's avatar
      New local GCC patch for CAN_SANITIZE_UB ifdef. · c244886c
      Martin Liska authored
      2018-10-31  Martin Liska  <mliska@suse.cz>
      
      	* ubsan/ubsan_platform.h: Add ifndef as we define it with
      	-DCAN_SANITIZE_UB CFLAGS.
      
      From-SVN: r265669
      c244886c
    • Martin Liska's avatar
      Revert https://reviews.llvm.org/D40908 which changes asan offset to 1<<44. · f607b87c
      Martin Liska authored
      2018-10-31  Martin Liska  <mliska@suse.cz>
      
      	* asan/asan_mapping.h: Revert shadow memory offset to 1 << 41.
      
      From-SVN: r265668
      f607b87c
    • Martin Liska's avatar
      Apply LOCAL_PATCHES and remove not used ones. · e63c9677
      Martin Liska authored
      2018-10-31  Martin Liska  <mliska@suse.cz>
      
      	* LOCAL_PATCHES: Update patch list.
      	* asan/asan_globals.cc (CheckODRViolationViaIndicator): Apply
      	patches from GCC's trunk.
      	(CheckODRViolationViaPoisoning): Likewise.
      	(RegisterGlobal): Likewise.
      	* sanitizer_common/sanitizer_mac.cc (defined): Likewise.
      	* sanitizer_common/sanitizer_stacktrace.cc (GetCanonicFrame): Likewise.
      	* ubsan/ubsan_handlers.cc (__ubsan::__ubsan_handle_cfi_bad_icall): Likewise.
      	(__ubsan::__ubsan_handle_cfi_bad_icall_abort): Likewise.
      	* ubsan/ubsan_handlers.h (struct CFIBadIcallData): Likewise.
      	(struct CFICheckFailData): Likewise.
      	(RECOVERABLE): Likewise.
      
      From-SVN: r265667
      e63c9677
    • Martin Liska's avatar
      Update build system: include new files and run autoheader, autoconf, automake · 8468f944
      Martin Liska authored
      2018-10-31  Martin Liska  <mliska@suse.cz>
      
      	* config.h.in: Regenerate.
      	* configure: Likewise.
      	* sanitizer_common/Makefile.am: Include new files, remove old
      	files.
      	* sanitizer_common/Makefile.in: Regenerate.
      	* ubsan/Makefile.am: Include new files, remove old
      	files.
      	* ubsan/Makefile.in: Likewise.
      	* asan/Makefile.am: Include new files.
      	* asan/Makefile.in: Regenerate.
      
      From-SVN: r265666
      8468f944
    • Martin Liska's avatar
      backport: All source files: Merge from upstream 345033. · eac97531
      Martin Liska authored
      Merge from upstream 345033.
      
      2018-10-31  Martin Liska  <mliska@suse.cz>
      
      	* All source files: Merge from upstream 345033.
      
      From-SVN: r265665
      eac97531
    • Martin Liska's avatar
      Update merge script and HOWTO_MERGE documentation. · 95fba530
      Martin Liska authored
      2018-10-31  Martin Liska  <mliska@suse.cz>
      
      	* HOWTO_MERGE: Enhance documentation.
      	* merge.sh: Add support for git as well.
      
      From-SVN: r265664
      95fba530
    • Martin Liska's avatar
      Fix hash-table violation in trans-decl.c. · 2e71b571
      Martin Liska authored
      2018-10-31  Martin Liska  <mliska@suse.cz>
      
      	* trans-decl.c (struct module_hasher): Call htab_hash_string
      	for s->name and not for s.
      
      From-SVN: r265663
      2e71b571
    • Thomas Preud'homme's avatar
      Fix PR87374: ICE with -mslow-flash-data and -mword-relocations · 6dc8ee41
      Thomas Preud'homme authored
      GCC ICEs under -mslow-flash-data and -mword-relocations because there
      is no way to load an address, both literal pools and MOVW/MOVT being
      forbidden. This patch gives an error message when both options are
      specified by the user and adds the according dg-skip-if directives for
      tests that use either of these options. It also explicitely set the
      option when in PIC mode as per documentation rather than always check
      for target_word_relocation together with flag_pic.
      
      2018-10-31  Thomas Preud'homme  <thomas.preudhomme@linaro.org>
      
          gcc/
          PR target/87374
          * config/arm/arm.c (arm_option_check_internal): Disable the combined
          use of -mslow-flash-data and -mword-relocations.
          (arm_option_override): Enable -mword-relocations if -fpic or -fPIC.
          * config/arm/arm.md (SYMBOL_REF MOVT splitter): Stop checking for
          flag_pic.
          * doc/invoke.texi (-mword-relocations): Mention conflict with
          -mslow-flash-data.
          (-mslow-flash-data): Reciprocally.
      
          gcc/testsuite/
          PR target/87374
          * gcc.target/arm/movdi_movt.c: Skip if both -mslow-flash-data and
          -mword-relocations would be passed when compiling the test.
          * gcc.target/arm/movsi_movt.c: Likewise.
          * gcc.target/arm/pr81863.c: Likewise.
          * gcc.target/arm/thumb2-slow-flash-data-1.c: Likewise.
          * gcc.target/arm/thumb2-slow-flash-data-2.c: Likewise.
          * gcc.target/arm/thumb2-slow-flash-data-3.c: Likewise.
          * gcc.target/arm/thumb2-slow-flash-data-4.c: Likewise.
          * gcc.target/arm/thumb2-slow-flash-data-5.c: Likewise.
          * gcc.target/arm/tls-disable-literal-pool.c: Likewise.
      
      From-SVN: r265662
      6dc8ee41
    • Richard Henderson's avatar
      aarch64: Force TImode values into even registers · 563cc649
      Richard Henderson authored
      The LSE CASP instruction requires values to be placed in even
      register pairs.  A solution involving two additional register
      classes was rejected in favor of the much simpler solution of
      simply requiring all TImode values to be aligned.
      
      	* config/aarch64/aarch64.c (aarch64_hard_regno_mode_ok): Force
      	16-byte modes held in GP registers to use an even regno.
      
      From-SVN: r265661
      563cc649
    • Richard Henderson's avatar
      aarch64: Improve atomic-op lse generation · 7803ec5e
      Richard Henderson authored
      Fix constraints; avoid unnecessary split.  Drop the use of the atomic_op
      iterator in favor of the ATOMIC_LDOP iterator; this is simplier and more
      logical for ldclr aka bic.
      
      	* config/aarch64/aarch64.c (aarch64_emit_bic): Remove.
      	(aarch64_atomic_ldop_supported_p): Remove.
      	(aarch64_gen_atomic_ldop): Remove.
      	* config/aarch64/atomic.md (atomic_<atomic_optab><ALLI>):
      	Fully expand LSE operations here.
      	(atomic_fetch_<atomic_optab><ALLI>): Likewise.
      	(atomic_<atomic_optab>_fetch<ALLI>): Likewise.
      	(aarch64_atomic_<ATOMIC_LDOP><ALLI>_lse): Drop atomic_op iterator
      	and use ATOMIC_LDOP instead; use register_operand for the input;
      	drop the split and emit insns directly.
      	(aarch64_atomic_fetch_<ATOMIC_LDOP><ALLI>_lse): Likewise.
      	(aarch64_atomic_<atomic_op>_fetch<ALLI>_lse): Remove.
      	(@aarch64_atomic_load<ATOMIC_LDOP><ALLI>): Remove.
      
      From-SVN: r265660
      7803ec5e
    • Richard Henderson's avatar
      aarch64: Improve swp generation · 8f5603d3
      Richard Henderson authored
      Allow zero as an input; fix constraints; avoid unnecessary split.
      
      	* config/aarch64/aarch64.c (aarch64_emit_atomic_swap): Remove.
      	(aarch64_gen_atomic_ldop): Don't call it.
      	* config/aarch64/atomics.md (atomic_exchange<ALLI>):
      	Use aarch64_reg_or_zero.
      	(aarch64_atomic_exchange<ALLI>): Likewise.
      	(aarch64_atomic_exchange<ALLI>_lse): Remove split; remove & from
      	operand 0; use aarch64_reg_or_zero for input; merge ...
      	(@aarch64_atomic_swp<ALLI>): ... this and remove.
      
      From-SVN: r265659
      8f5603d3
    • Iain Buclaw's avatar
      re PR d/87788 (Support D on x86_64-apple-darwin*) · 260eedb9
      Iain Buclaw authored
      ChangeLog:
      
      2018-10-31  Iain Buclaw  <ibuclaw@gdcproject.org>
      
      	PR bootstrap/87788
      	PR d/87799
      	* configure: Rebuild.
      	* configure.ac: Disable D on systems where it is known not to work.
      
      libphobos/ChangeLog:
      
      2018-10-31  Iain Buclaw  <ibuclaw@gdcproject.org>
      
      	PR bootstrap/87789
      	PR d/87818
      	PR d/87819
      	* configure.tgt: New file.
      
      From-SVN: r265658
      260eedb9
    • Richard Henderson's avatar
      aarch64: Improve cas generation · d400fda3
      Richard Henderson authored
      Do not zero-extend the input to the cas for subword operations;
      instead, use the appropriate zero-extending compare insns.
      Correct the predicates and constraints for immediate expected operand.
      
      	* config/aarch64/aarch64.c (aarch64_gen_compare_reg_maybe_ze): New.
      	(aarch64_split_compare_and_swap): Use it.
      	(aarch64_expand_compare_and_swap): Likewise.  Remove convert_modes;
      	test oldval against the proper predicate.
      	* config/aarch64/atomics.md (@atomic_compare_and_swap<ALLI>):
      	Use nonmemory_operand for expected.
      	(cas_short_expected_pred): New.
      	(@aarch64_compare_and_swap<SHORT>): Use it; use "rn" not "rI" to match.
      	(@aarch64_compare_and_swap<GPI>): Use "rn" not "rI" for expected.
      	* config/aarch64/predicates.md (aarch64_plushi_immediate): New.
      	(aarch64_plushi_operand): New.
      
      From-SVN: r265657
      d400fda3
    • Richard Henderson's avatar
      aarch64: Simplify LSE cas generation · 77f33f44
      Richard Henderson authored
      The cas insn is a single insn, and if expanded properly need not
      be split after reload.  Use the proper inputs for the insn.
      
      	* config/aarch64/aarch64.c (aarch64_expand_compare_and_swap):
      	Force oldval into the rval register for TARGET_LSE; emit the compare
      	during initial expansion so that it may be deleted if unused.
      	(aarch64_gen_atomic_cas): Remove.
      	* config/aarch64/atomics.md (@aarch64_compare_and_swap<SHORT>_lse):
      	Change =&r to +r for operand 0; use match_dup for operand 2;
      	remove is_weak and mod_f operands as unused.  Drop the split
      	and merge with...
      	(@aarch64_atomic_cas<SHORT>): ... this pattern's output; remove.
      	(@aarch64_compare_and_swap<GPI>_lse): Similarly.
      	(@aarch64_atomic_cas<GPI>): Similarly.
      
      From-SVN: r265656
      77f33f44
    • Richard Biener's avatar
      re PR testsuite/87802 (g++.dg/vect/slp-pr87105.cc fails starting with r265522) · 187cea94
      Richard Biener authored
      2018-10-31  Richard Biener  <rguenther@suse.de>
      
      	PR testsuite/87802
      	* g++.dg/vect/slp-pr87105.cc: XFAIL for strict alignment targets.
      
      From-SVN: r265655
      187cea94
    • Richard Biener's avatar
      tree-eh.c (replace_trapping_overflow): Simplify ABS_EXPR case using ABSU_EXPR. · 1a71493d
      Richard Biener authored
      2018-10-31  Richard Biener  <rguenther@suse.de>
      
      	* tree-eh.c (replace_trapping_overflow): Simplify ABS_EXPR case
      	using ABSU_EXPR.
      
      From-SVN: r265654
      1a71493d
    • Sameera Deshpande's avatar
      Add pipeline description for Qualcomm Saphira core. · 2e9d500e
      Sameera Deshpande authored
      From-SVN: r265653
      2e9d500e
    • GCC Administrator's avatar
      Daily bump. · 8f4103c5
      GCC Administrator authored
      From-SVN: r265652
      8f4103c5
  2. Oct 30, 2018
    • Thomas Koenig's avatar
      re PR fortran/85896 (ICE in gfc_convert_constant(): Unexpected type) · 0a8949a3
      Thomas Koenig authored
      2018-10-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/85896
      	* simplify.c (simplify_min_max): Do not convert the type of the
      	return expression.
      
      2018-10-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/85896
      	* gfortran.dg/min_max_type.f90: New test.
      
      From-SVN: r265649
      0a8949a3
    • Martin Sebor's avatar
      PR middle-end/87041 - -Wformat reading through null pointer on unreachable code · 91e3ec29
      Martin Sebor authored
      gcc/ChangeLog:
      
      	PR middle-end/87041
      	* gimple-ssa-sprintf.c (format_directive): Use %G to include
      	inlining context.
      	(sprintf_dom_walker::compute_format_length):
      	Avoid setting POSUNDER4K here.
      	(get_destination_size): Handle null argument values.
      	(get_user_idx_format): New function.
      	(sprintf_dom_walker::handle_gimple_call): Handle all printf-like
      	functions, including user-defined with attribute format printf.
      	Use %G to include inlining context.
      	Set POSUNDER4K here.
      
      gcc/c-family/ChangeLog:
      
      	PR middle-end/87041
      	* c-format.c (check_format_types): Avoid diagnosing null pointer
      	arguments to printf-family of functions.
      
      gcc/testsuite/ChangeLog:
      
      	PR middle-end/87041
      	* gcc.c-torture/execute/fprintf-2.c: New test.
      	* gcc.c-torture/execute/printf-2.c: Same.
      	* gcc.c-torture/execute/user-printf.c: Same.
      	* gcc.dg/tree-ssa/builtin-fprintf-warn-1.c: Same.
      	* gcc.dg/tree-ssa/builtin-printf-2.c: Same.
      	* gcc.dg/tree-ssa/builtin-printf-warn-1.c: Same.
      	* gcc.dg/tree-ssa/user-printf-warn-1.c: Same.
      
      From-SVN: r265648
      91e3ec29
Loading