1. 15 Oct, 2018 5 commits
    • re PR tree-optimization/87022 (miscompilation with -ftree-loop-distribution) · 0df7c778
      	PR tree-optimization/87022
      	* tree-loop-distribution.c (pg_add_dependence_edges): Check all
      	bits in dist vector rather than the first one.
      	
      	gcc/testsuite
      	PR tree-optimization/87022
      	* gcc.dg/tree-ssa/pr87022.c: New test.
      
      From-SVN: r265161
      Bin Cheng committed
    • re PR middle-end/87610 (wrong-code with restrict) · 61e189a8
      2018-10-15  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/87610
      	* tree-ssa-structalias.c (struct vls_data): Add escaped_p member.
      	(visit_loadstore): When a used restrict tag escaped verify that
      	the points-to solution of "other" pointers do not include
      	escaped.
      	(compute_dependence_clique): If a used restrict tag escaped
      	communicated that down to visit_loadstore.
      
      	* gcc.dg/torture/restrict-6.c: New testcase.
      
      From-SVN: r265160
      Richard Biener committed
    • S/390: Fix problem with vec_init expander · cab5fe16
      gcc/ChangeLog:
      
      2018-10-15  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* config/s390/s390.c (s390_expand_vec_init): Force vector element
      	into reg if it isn't a general operand.
      
      gcc/testsuite/ChangeLog:
      
      2018-10-15  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* g++.dg/vec-init-1.C: New test.
      
      From-SVN: r265158
      Andreas Krebbel committed
    • vector (vector<>::cbegin()): Use C++11 direct initialization. · 4b186707
      2018-10-15  François Dumont  <fdumont@gcc.gnu.org>
      
      	* include/debug/vector (vector<>::cbegin()): Use C++11 direct
      	initialization.
      	(vector<>::cend()): Likewise.
      	(vector<>::emplace(const_iterator, _Args&&...)): Likewise and use
      	consistent iterator comparison.
      	(vector<>::insert(const_iterator, size_type, const _Tp&)): Likewise.
      	(vector<>::insert(const_iterator, _InputIterator, _InputIterator)):
      	Likewise.
      	(vector<>::erase(const_iterator)): Likewise.
      	(vector<>::erase(const_iterator, const_iterator)): Likewise.
      
      From-SVN: r265156
      François Dumont committed
    • Daily bump. · 524af591
      From-SVN: r265155
      GCC Administrator committed
  2. 14 Oct, 2018 6 commits
  3. 13 Oct, 2018 3 commits
  4. 12 Oct, 2018 19 commits
    • tighten the toplevel guard on ibm-ldouble.c · 87f918e3
      2018-10-12  Olivier Hainque  <hainque@adacore.com>
      
              * config/rs6000/ibm-ldouble.c: Augment the toplevel guard with
              defined (__FLOAT128_TYPE__) || defined (__LONG_DOUBLE_128__).
      
      From-SVN: r265135
      Olivier Hainque committed
    • pdp11.md (doloop_end): New expander. · fe65151b
      	    * config/pdp11/pdp11.md (doloop_end): New expander.
      	    (doloop_end_insn): renamed from "doloop_end".
      	    (addqi3): New pattern.
      	    (subqi3): New pattern.
      	    * config/pdp11/predicates.md (incdec_operand): New predicate.
      
      From-SVN: r265132
      Paul Koning committed
    • Add pattern to remove useless float casts in comparisons. · e41ec71b
      	PR middle-end/81376
      
      	gcc/
      	* real.c (format_helper::can_represent_integral_type_p): New function
      	* real.h (format_helper::can_represent_integral_type_p): Ditto.
      	* match.pd: New pattern.
      
      	gcc/testsuite/
      	* c-c++-common/pr81376.c: New test.
      	* gcc.target/i386/387-ficom-2.c: Update test.
      	* gcc.target/i386/387-ficom-2.c: Ditto.
      
      From-SVN: r265131
      Yury Gribov committed
    • introduce --enable-large-address-aware · 67aeaded
      Add a configure knob for mingw32 and 64 toolchains to default passing
      --large-address-aware to the linker, when creating 32-bit binaries.
      -Wl,--disable-large-address-aware can still reverse its effects.
      
      for  gcc/ChangeLog
      
      	* configure.ac: Introduce --enable-large-address-aware
      	to define MINGW_DEFAULT_LARGE_ADDR_AWARE.
      	* doc/install.texi: Document it.
      	* configure, config.in: Rebuilt.
      	* config/i386/mingw32.h (LINK_SPEC_LARGE_ADDR_AWARE): Define,
      	based on MINGW_DEFAULT_LARGE_ADDR_AWARE.
      	(LINK_SPEC): Insert it.
      	* config/i386/mingw-264.h: Likewise.
      
      From-SVN: r265130
      Alexandre Oliva committed
    • define HAVE_GAS_ALIGNED_COMM · 9e41e975
      HAVE_GAS_ALIGNED_COMM is referenced in an initializer in cygming.opt,
      but it's not guaranteed to be defined by configure, so define it to
      zero in a cygming-specific header if it's not defined.
      
      for  gcc/ChangeLog
      
      	* cygming.h (HAVE_GAS_ALIGNED_COMM): Fallback-define.
      
      From-SVN: r265129
      Alexandre Oliva committed
    • [C++ PATCH] more TU parsing refactoring · 7fa072de
      https://gcc.gnu.org/ml/gcc-patches/2018-10/msg00788.html
      	* parser.h (struct cp_parser): Drop implicit_extern_c.
      	* parser.c (cp_debug_parser): Drop implicit_extern_c.
      	(cp_parser_new): Likewise.
      	(cp_parser_translation_unit): Handle implicit extern c here.  Call
      	cp_parser_toplevel_declaration.
      	(cp_parser_toplevel_declaration): New, broken out of ...
      	(cp_parser_declaration_seq_opt): ... here.  Call it.  Drop
      	implicit extern C handling.
      
      From-SVN: r265127
      Nathan Sidwell committed
    • Fix off-by-one issue with inline matmul · 47b92d22
              PR fortran/87597
              * expr.c (gfc_simplify_expr): Avoid simplifying
              the 'array' argument to lbound/ubound/lcobound/
              ucobound.
      
              PR fortran/87597
              * gfortran.dg/inline_matmul_24.f90: New.
      
      From-SVN: r265126
      Tobias Burnus committed
    • Fix error-recovery ICE in check_proc_interface · b4439561
              PR fortran/58787
              * decl.c (get_proc_name): Return with error before
              creating sym_tree.
      
              PR fortran/58787
              * gfortran.dg/goacc/pr77765.f90: Modify dg-error.
              * gfortran.dg/interface_42.f90: Ditto.
              * gfortran.dg/internal_references_1.f90: Ditto.
              * gfortran.dg/invalid_procedure_name.f90: Ditto.
              * gfortran.dg/pr65453.f90: Ditto.
              * gfortran.dg/pr77414.f90: Ditto.
              * gfortran.dg/pr78741.f90: Ditto.
              * gfortran.dg/same_name_2.f90: Ditto.
      
      From-SVN: r265125
      Tobias Burnus committed
    • re PR rtl-optimization/87600 (Fix for PRs 86939 and 87479 causes build issues for several targets) · d8d3cc09
      	PR rtl-optimization/87600
      	* ira-lives (non_conflicting_reg_copy_p): Disable for non LRA targets.
      
      From-SVN: r265113
      Peter Bergner committed
    • md.texi (doloop_end): Document that the pattern code may need to check operand mode. · a01abe9d
      	* doc/md.texi (doloop_end): Document that the pattern code may
      	need to check operand mode.
      
      From-SVN: r265102
      Paul Koning committed
    • Initial commit of Networking TS implementation · e5989e71
      	* include/Makefile.am: Add new headers.
      	* include/Makefile.in: Regenerate.
      	* include/experimental/bits/net.h: New header for common
      	implementation details of Networking TS.
      	* include/experimental/buffer: New header.
      	* include/experimental/executor: New header.
      	* include/experimental/internet: New header.
      	* include/experimental/io_context: New header.
      	* include/experimental/net: New header.
      	* include/experimental/netfwd: New header.
      	* include/experimental/socket: New header.
      	* include/experimental/timer: New header.
      	* testsuite/experimental/net/buffer/arithmetic.cc: New test.
      	* testsuite/experimental/net/buffer/const.cc: New test.
      	* testsuite/experimental/net/buffer/creation.cc: New test.
      	* testsuite/experimental/net/buffer/mutable.cc: New test.
      	* testsuite/experimental/net/buffer/size.cc: New test.
      	* testsuite/experimental/net/buffer/traits.cc: New test.
      	* testsuite/experimental/net/execution_context/use_service.cc: New
      	test.
      	* testsuite/experimental/net/headers.cc: New test.
      	* testsuite/experimental/net/internet/address/v4/comparisons.cc: New
      	test.
      	* testsuite/experimental/net/internet/address/v4/cons.cc: New test.
      	* testsuite/experimental/net/internet/address/v4/creation.cc: New
      	test.
      	* testsuite/experimental/net/internet/address/v4/members.cc: New
      	test.
      	* testsuite/experimental/net/internet/resolver/base.cc: New test.
      	* testsuite/experimental/net/internet/resolver/ops/lookup.cc: New
      	test.
      	* testsuite/experimental/net/internet/resolver/ops/reverse.cc: New
      	test.
      	* testsuite/experimental/net/timer/waitable/cons.cc: New test.
      	* testsuite/experimental/net/timer/waitable/dest.cc: New test.
      	* testsuite/experimental/net/timer/waitable/ops.cc: New test.
      
      From-SVN: r265080
      Jonathan Wakely committed
    • [AArch64] Support zero-extended move to FP register · 0cfc095c
      The popcount expansion uses SIMD instructions acting on 64-bit values.
      As a result a popcount of a 32-bit integer requires zero-extension before 
      moving the zero-extended value into an FP register.  This patch adds
      support for zero-extended int->FP moves to avoid the redundant uxtw.
      Similarly, add support for 32-bit zero-extending load->FP register
      and 32-bit zero-extending FP->FP and FP->int moves.
      Add a missing 'fp' arch attribute to the related 8/16-bit pattern and
      fix an incorrect type attribute.
      
      To complete zero-extended load support, add a new alternative to 
      load_pair_zero_extendsidi2_aarch64 to support LDP into FP registers too.
      
      int f (int a)
      {
        return __builtin_popcount (a);
      }
      
      Before:
      	uxtw	x0, w0
      	fmov	d0, x0
      	cnt	v0.8b, v0.8b
      	addv	b0, v0.8b
      	fmov	w0, s0
      	ret
      
      After:
      	fmov	s0, w0
      	cnt	v0.8b, v0.8b
      	addv	b0, v0.8b
      	fmov	w0, s0
      	ret
      
      Passes regress & bootstrap on AArch64.
      
          gcc/
      	* config/aarch64/aarch64.md (zero_extendsidi2_aarch64): Add alternatives
      	to zero-extend between int and floating-point registers.
      	(load_pair_zero_extendsidi2_aarch64): Add alternative for zero-extended
      	ldp into floating-point registers.  Add type and arch attributes.
      	(zero_extend<SHORT:mode><GPI:mode>2_aarch64): Add arch attribute.
      	Use f_loads for type attribute.
      
          testsuite/
      	* gcc.target/aarch64/popcnt.c: Test zero-extended popcount.
      	* gcc.target/aarch64/vec_zeroextend.c: Test zero-extended vectors.
      
      From-SVN: r265079
      Wilco Dijkstra committed
    • Fix typo in previous commit. · 4dc003ff
      2018-10-12  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	PR c++/87364
      	* c-pretty-print.c (c_pretty_printer::constant): Fix typo.
      
      From-SVN: r265078
      Christophe Lyon committed
    • re PR c++/87364 (Pretty print of enumerator never prints the id, always falls… · 79371671
      re PR c++/87364 (Pretty print of enumerator never prints the id, always falls back to C-style cast output)
      
      	PR c++/87364
      	* c-pretty-print.h (pp_c_type_cast): Prototype.
      	(pp_c_integer_constant): Likewise.
      	* c-pretty-print.c (pp_c_type_cast): No longer static.
      	(pp_c_integer_constant): Likewise.
      	(pp_c_enumeration_constant): Fix loop termination when finding
      	name of constant.  No longer returns a value.  Call
      	pp_c_integer_constant.
      	(c_pretty_printer::constant): Update for changes to
      	pp_c_enumeration_constant.
      
      	PR c++/87364
      	* cxx-pretty-print.c (pp_cxx_enumeration_constant): New function.
      	(cxx_pretty_printer::constant): Use it.
      
      From-SVN: r265077
      Will Wray committed
    • extend.texi (attribute packed): Correct typos. · 0b8c3649
      
      gcc/ChangeLog:
      
      	* doc/extend.texi (attribute packed): Correct typos.
      
      From-SVN: r265076
      Martin Sebor committed
    • extend.texi (attribute flatten): Mention interaction with noinline. · 02f83058
      
      gcc/ChangeLog:
      
      	* doc/extend.texi (attribute flatten): Mention interaction with
      	noinline.
      
      From-SVN: r265075
      Martin Sebor committed
    • re PR target/87156 (ICE building libstdc++ for mips64) · 97ae2126
      	PR target/87156
      	* cgraphclones.c (cgraph_node::create_version_clone_with_body):
      	Set new_decl virtual flag to zero.
      
      From-SVN: r265074
      Jan Hubicka committed
    • PR middle-end/87593 - conflicting format_arg attributes on a declaration accepted · bf142d15
      gcc/ChangeLog:
      
      	* doc/extend.texi (attribute format_arg): Discuss using multiple
      	attributes on a single function.
      
      From-SVN: r265073
      Martin Sebor committed
    • Daily bump. · ccd20ab6
      From-SVN: r265072
      GCC Administrator committed
  5. 11 Oct, 2018 7 commits
    • PR libstdc++/77691 increase allocation size to at least alignment · 49cb790a
      It's not safe to assume that malloc(n) returns memory aligned to more
      than n, so when relying on the guaranteed alignment of malloc ensure
      that the number of bytes allocated is at least as large as the
      alignment.
      
      	PR libstdc++/77691
      	* include/experimental/memory_resource (__resource_adaptor_imp): Do
      	not allocate sizes smaller than alignment when relying on guaranteed
      	alignment.
      	* testsuite/experimental/memory_resource/new_delete_resource.cc:
      	Adjust expected number of bytes allocated for alignof(max_align_t).
      
      From-SVN: r265068
      Jonathan Wakely committed
    • fold-vec-insert-char-p8.c: New. · 47d31f1a
      [testsuite]
      
      2018-10-10  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
      	* gcc.target/powerpc/fold-vec-insert-char-p8.c: New.
      	* gcc.target/powerpc/fold-vec-insert-char-p9.c: New.
      	* gcc.target/powerpc/fold-vec-insert-double.c: New.
      	* gcc.target/powerpc/fold-vec-insert-float-p8.c: New.
      	* gcc.target/powerpc/fold-vec-insert-float-p9.c: New.
      	* gcc.target/powerpc/fold-vec-insert-int-p8.c: New.
      	* gcc.target/powerpc/fold-vec-insert-int-p9.c: New.
      	* gcc.target/powerpc/fold-vec-insert-longlong.c: New.
      	* gcc.target/powerpc/fold-vec-insert-short-p8.c: New.
      	* gcc.target/powerpc/fold-vec-insert-short-p9.c: New.
      
      From-SVN: r265067
      Will Schmidt committed
    • fold-vec-extract-char.p7.c: New. · 3c329177
      [testsuite]
      	* gcc.target/powerpc/fold-vec-extract-char.p7.c: New.
      	* gcc.target/powerpc/fold-vec-extract-char.p8.c: New.
      	* gcc.target/powerpc/fold-vec-extract-char.p9.c: New.
      	* gcc.target/powerpc/fold-vec-extract-double.p7.c: New.
      	* gcc.target/powerpc/fold-vec-extract-double.p8.c: New.
      	* gcc.target/powerpc/fold-vec-extract-double.p9.c: New.
      	* gcc.target/powerpc/fold-vec-extract-float.p7.c: New.
      	* gcc.target/powerpc/fold-vec-extract-float.p8.c: New.
      	* gcc.target/powerpc/fold-vec-extract-float.p9.c: New.
      	* gcc.target/powerpc/fold-vec-extract-int.p7.c: New.
      	* gcc.target/powerpc/fold-vec-extract-int.p8.c: New.
      	* gcc.target/powerpc/fold-vec-extract-int.p9.c: New.
      	* gcc.target/powerpc/fold-vec-extract-longlong.p7.c: New.
      	* gcc.target/powerpc/fold-vec-extract-longlong.p8.c: New.
      	* gcc.target/powerpc/fold-vec-extract-longlong.p9.c: New.
      	* gcc.target/powerpc/fold-vec-extract-short.p7.c: New.
      	* gcc.target/powerpc/fold-vec-extract-short.p8.c: New.
      	* gcc.target/powerpc/fold-vec-extract-short.p9.c: New.
      
      From-SVN: r265066
      Will Schmidt committed
    • fold-vec-select-char.c: New. · d9519daf
      [testsuite]
      
      2018-10-11  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
      	* gcc.target/powerpc/fold-vec-select-char.c: New.
      	* gcc.target/powerpc/fold-vec-select-double.c: New.
      	* gcc.target/powerpc/fold-vec-select-float.c: New.
      	* gcc.target/powerpc/fold-vec-select-int.c: New.
      	* gcc.target/powerpc/fold-vec-select-longlong.c: New.
      	* gcc.target/powerpc/fold-vec-select-short.c: New.
      
      From-SVN: r265065
      Will Schmidt committed
    • re PR tree-optimization/86829 (Missing sin(atan(x)) and cos(atan(x)) optimizations) · 121ef08b
      	PR tree-optimization/86829
      	* match.pd (sin (atan (x))): New simplification rules.
      	(cos (atan (x))): Likewise.
      	* real.c (build_sinatan_real): New function.
      	* real.h (build_sinatan_real): Prototype.
      
      	PR tree-optimization/86829
      	* gcc.dg/sinatan-1.c: New test.
      	* gcc.dg/sinatan-2.c: New test.
      	* gcc.dg/sinatan-3.c: New test.
      
      From-SVN: r265064
      Giuliano Belinassi committed
    • rs6000.c (map_to_integral_tree_type): New helper function. · ea010af6
      [gcc]
      
      2018-10-09  Will Schmidt <will_schmidt@vnet.ibm.com>
      
      	* config/rs6000/rs6000.c (map_to_integral_tree_type): New helper
      	function.
      	(fold_mergeeo_helper): New helper function.
      	(rs6000_gimple_fold_builtin): Add hooks for vec_mergee and vec_mergeo
      	intrinsics.  Correct some whitespace indentation issues.
      
      From-SVN: r265063
      Will Schmidt committed
    • fold-vec-mergeeo-floatdouble.c: New. · 5746195c
      [testsuite]
      
      2018-10-09  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
      	* gcc.target/powerpc/fold-vec-mergeeo-floatdouble.c: New.
      	* gcc.target/powerpc/fold-vec-mergeeo-int.c: New.
      	* gcc.target/powerpc/fold-vec-mergeeo-longlong.c: New.
      
      From-SVN: r265062
      Will Schmidt committed