and though bugs are the bane of my existence, rest assured the wretched thing will get the best of care here

This project is mirrored from git://gcc.gnu.org/git/gcc.git. Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
Last successful update .
  1. 02 May, 2017 4 commits
  2. 01 May, 2017 2 commits
  3. 30 Apr, 2017 3 commits
  4. 29 Apr, 2017 1 commit
  5. 28 Apr, 2017 2 commits
  6. 27 Apr, 2017 6 commits
    • Jakub Jelinek's avatar
      re PR bootstrap/80531 (RC1 bootstrap comparison failure) · 4c41782b
      Jakub Jelinek authored
      	PR bootstrap/80531
      	* configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
      	bootstrap compare failures.
      
      From-SVN: r247351
      4c41782b
    • Richard Earnshaw's avatar
      [AArch64] Fix for gcc-7 regression PR 80530 · c2f36c35
      Richard Earnshaw authored
      
      This patch fixes the regression caused by the changes to add square root
      estimation when compiling for xgene-1 or exynos-m1 targets.
      
      The issue is that the expand path for the reciprocal estimate square
      root pattern assumes that pattern cannot fail once it has been decided
      that this expansion path is available, but because the logic deep inside
      aarch64_emit_approx_sqrt() differs from use_rsqrt_p() the two disagree
      as to what is safe.
      
      This patch refactors the logic to ensure that we cannot unknowingly make
      different choices here.
      
      	PR target/80530
      	* config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Ensure
      	that the logic for permitting reciprocal estimates matches that
      	in use_rsqrt_p.
      
      From-SVN: r247341
      c2f36c35
    • Jakub Jelinek's avatar
      re PR c++/80534 (7.1 RC - internal compiler error: in... · a240da2d
      Jakub Jelinek authored
      re PR c++/80534 (7.1 RC - internal compiler error: in finish_member_declaration, at cp/semantics.c:2963)
      
      	PR c++/80534
      	* tree.c (type_cache_hasher::equal): Only compare
      	TYPE_TYPELESS_STORAGE flag on non-aggregate element types.
      	(build_array_type_1): Only hash TYPE_TYPELESS_STORAGE flag on
      	non-aggregate element types.
      	* tree.h (TYPE_TYPELESS_STORAGE): Fix comment typo, add more details
      	about the flag on ARRAY_TYPEs in the comment, formatting fix.
      c-family/
      	* c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
      	flag on non-aggregate element types.
      testsuite/
      	* g++.dg/other/pr80534-1.C: New test.
      	* g++.dg/other/pr80534-2.C: New test.
      
      From-SVN: r247337
      a240da2d
    • Jakub Jelinek's avatar
      re PR target/79430 (action of statement incorrectly optimised away) · e469603e
      Jakub Jelinek authored
      	PR target/79430
      	* reg-stack.c (emit_swap_insn): If i1src mentions the stack pointer,
      	punt if tmp contains autoinc of stack pointer.
      
      From-SVN: r247308
      e469603e
    • Jakub Jelinek's avatar
      re PR target/77728 (Miscompilation multiple vector iteration on ARM) · a22d9279
      Jakub Jelinek authored
      	PR target/77728
      	* config/aarch64/aarch64.c (struct aarch64_fn_arg_alignment): Remove.
      	(aarch64_function_arg_alignment): Return unsigned int again, but still
      	ignore TYPE_FIELDS chain decls other than FIELD_DECLs.
      	(aarch64_layout_arg): Adjust aarch64_function_arg_alignment caller.
      	Don't emit -Wpsabi note.
      	(aarch64_function_arg_boundary): Likewise.
      	(aarch64_gimplify_va_arg_expr): Adjust aarch64_function_arg_alignment
      	caller.
      testsuite/
      	* g++.dg/abi/pr77728-2.C: Don't expect -Wpsabi notes.
      
      From-SVN: r247293
      a22d9279
    • GCC Administrator's avatar
      Daily bump. · 2879a377
      GCC Administrator authored
      From-SVN: r247290
      2879a377
  7. 26 Apr, 2017 1 commit
  8. 25 Apr, 2017 13 commits
    • Martin Sebor's avatar
      PR tree-optimization/80497 - ICE at -O1 and above on valid code on x86_64-linux-gnu in tree_to_uhwi · 8550e48a
      Martin Sebor authored
      gcc/ChangeLog:
      
      	PR tree-optimization/80497
      	* gimple-ssa-sprintf.c (get_int_range): Avoid assuming all integer
      	constants are representable in HOST_WIDE_INT.
      	(parse_directive): Ditto.
      
      gcc/testsuite/ChangeLog:
      
      	PR tree-optimization/80497
      	* gcc.dg/tree-ssa/builtin-sprintf-warn-17.c: New test.
      
      From-SVN: r247264
      8550e48a
    • Marek Polacek's avatar
      re PR sanitizer/80349 (UBSAN: compile time crash with "type mismatch in binary expression" message) · 8ef2085d
      Marek Polacek authored
      	PR sanitizer/80349
      	* fold-const.c (fold_binary_loc) <case BIT_IOR_EXPR>: Convert arg0's
      	first argument to type.
      
      	* g++.dg/ubsan/pr80349-2.C: New test.
      
      From-SVN: r247260
      8ef2085d
    • Ramana Radhakrishnan's avatar
      re PR target/77728 (Miscompilation multiple vector iteration on ARM) · 6bcf239e
      Ramana Radhakrishnan authored
      	PR target/77728
      	* config/arm/arm.c: Include gimple.h.
      	(aapcs_layout_arg): Emit -Wpsabi note if arm_needs_doubleword_align
      	returns negative, increment ncrn only if it returned positive.
      	(arm_needs_doubleword_align): Return int instead of bool,
      	ignore DECL_ALIGN of non-FIELD_DECL TYPE_FIELDS chain
      	members, but if there is any such non-FIELD_DECL
      	> PARM_BOUNDARY aligned decl, return -1 instead of false.
      	(arm_function_arg): Emit -Wpsabi note if arm_needs_doubleword_align
      	returns negative, increment nregs only if it returned positive.
      	(arm_setup_incoming_varargs): Likewise.
      	(arm_function_arg_boundary): Emit -Wpsabi note if
      	arm_needs_doubleword_align returns negative, return
      	DOUBLEWORD_ALIGNMENT only if it returned positive.
      testsuite/
      	* g++.dg/abi/pr77728-1.C: New test.
      Co-Authored-By: default avatarJakub Jelinek <jakub@redhat.com>
      
      From-SVN: r247259
      6bcf239e
    • Bill Seurer's avatar
      [PATCH, rs6000] pr80482 Relax vector builtin parameter checks · d3de3474
      Bill Seurer authored
      PR target/80482
      Backport from mainline
      
      This patch changes the parameter testing for powerpc vector builtins to relax
      the existing requirement that the parameters be identical to instead that they
      be compatible.  This allows for mixing parameters with differing qualified
      (const, volatile, etc.) types.
      
      See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80482 for more information.
      
      Bootstrapped and tested on powerpc64le-unknown-linux-gnu and
      powerpc64be-unknown-linux-gnu with no regressions.  Is this ok for trunk?
      
      [gcc]
      
      2017-04-25  Bill Seurer  <seurer@linux.vnet.ibm.com>
      
      	Backport from mainline
      	PR target/80482
      	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Change
      	type checks to test for compatibility instead of equality.
      
      [gcc/testsuite]
      
      2017-04-25  Bill Seurer  <seurer@linux.vnet.ibm.com>
      
      	Backport from mainline
      	PR target/80482
      	* gcc.target/powerpc/vec-constvolatile.c: New test.
      
      From-SVN: r247256
      d3de3474
    • Ramana Radhakrishnan's avatar
      re PR target/77728 (Miscompilation multiple vector iteration on ARM) · fd8de490
      Ramana Radhakrishnan authored
      	PR target/77728
      	* config/aarch64/aarch64.c (struct aarch64_fn_arg_alignment): New
      	type.
      	(aarch64_function_arg_alignment): Return aarch64_fn_arg_alignment
      	struct.  Ignore DECL_ALIGN of decls other than FIELD_DECL for
      	the alignment computation, but return their maximum in warn_alignment.
      	(aarch64_layout_arg): Adjust aarch64_function_arg_alignment caller.
      	Emit a -Wpsabi note if warn_alignment is 16 bytes, but alignment
      	is smaller.
      	(aarch64_function_arg_boundary): Likewise.  Simplify using MIN/MAX.
      	(aarch64_gimplify_va_arg_expr): Adjust aarch64_function_arg_alignment
      	caller.
      testsuite/
      	* g++.dg/abi/pr77728-2.C: New test.
      Co-Authored-By: default avatarJakub Jelinek <jakub@redhat.com>
      
      From-SVN: r247241
      fd8de490
    • Andreas Krebbel's avatar
      S/390: PR80464: Split MEM->GPR vector moves · 1ab303de
      Andreas Krebbel authored
      We do this already for TImode values but it was missing for vector
      modes.
      
      gcc/ChangeLog:
      
      2017-04-25  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
      
      	Backport from mainline
      	2017-04-25  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
      
      	PR target/80464
      	* config/s390/vector.md: Split MEM->GPR vector moves for
      	non-s_operand addresses.
      
      gcc/testsuite/ChangeLog:
      
      2017-04-25  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
      
      	Backport from mainline
      	2017-04-25  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
      
      	PR target/80464
      	* gfortran.fortran-torture/compile/pr80464.f90: New test.
      
      From-SVN: r247191
      1ab303de
    • Andreas Krebbel's avatar
      S/390: PR79895: Fix TImode constant handling · e898f963
      Andreas Krebbel authored
      The P constraint letter is supposed to match every constant which is
      acceptable during reload.  However, constraints do not appear to be
      able to handle const_wide_int yet.  It works with predicates so the
      alternative is modelled with a new predicate now.
      
      gcc/ChangeLog:
      
      2017-04-25  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
      
      	Backport from mainline
      	2017-04-25  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
      
      	PR target/79895
      	* config/s390/predicates.md (reload_const_wide_int_operand): New
      	predicate.
      	* config/s390/s390.md ("movti"): Remove d/P alternative.
      	("movti_bigconst"): New pattern definition.
      
      gcc/testsuite/ChangeLog:
      
      2017-04-25  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
      
      	Backport from mainline
      	2017-04-25  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
      
      	PR target/79895
      	* gcc.target/s390/pr79895.c: New test.
      
      From-SVN: r247190
      e898f963
    • Dominik Vogt's avatar
      S/390: PR80080: Optimize atomic patterns. · d2780ff2
      Dominik Vogt authored
      The attached patch optimizes the atomic_exchange and atomic_compare
      patterns on s390 and s390x (mostly limited to SImode and DImode).
      Among general optimizaation, the changes fix most of the problems
      reported in PR 80080:
      https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80080
      
      gcc/ChangeLog:
      
      2017-04-25  Dominik Vogt  <vogt@linux.vnet.ibm.com>
      
      	Backport from mainline
      	2017-04-25  Dominik Vogt  <vogt@linux.vnet.ibm.com>
      
      	PR target/80080
      	* s390-protos.h (s390_expand_cs_hqi): Removed.
      	(s390_expand_cs, s390_expand_atomic_exchange_tdsi): New prototypes.
      	* config/s390/s390.c (s390_emit_compare_and_swap): Handle all integer
      	modes as well as CCZ1mode and CCZmode.
      	(s390_expand_atomic_exchange_tdsi, s390_expand_atomic): Adapt to new
      	signature of s390_emit_compare_and_swap.
      	(s390_expand_cs_hqi): Likewise, make static.
      	(s390_expand_cs_tdsi): Generate an explicit compare before trying
      	compare-and-swap, in some cases.
      	(s390_expand_cs): Wrapper function.
      	(s390_expand_atomic_exchange_tdsi): New backend specific expander for
      	atomic_exchange.
      	(s390_match_ccmode_set): Allow CCZmode <-> CCZ1 mode.
      	* config/s390/s390.md ("atomic_compare_and_swap<mode>"): Merge the
      	patterns for small and large integers.  Forbid symref memory operands.
      	Move expander to s390.c.  Require cc register.
      	("atomic_compare_and_swap<DGPR:mode><CCZZ1:mode>_internal")
      	("*atomic_compare_and_swap<TDI:mode><CCZZ1:mode>_1")
      	("*atomic_compare_and_swapdi<CCZZ1:mode>_2")
      	("*atomic_compare_and_swapsi<CCZZ1:mode>_3"): Use s_operand to forbid
      	symref memory operands.  Remove CC mode and call s390_match_ccmode
      	instead.
      	("atomic_exchange<mode>"): Allow and implement all integer modes.
      
      gcc/testsuite/ChangeLog:
      
      2017-04-25  Dominik Vogt  <vogt@linux.vnet.ibm.com>
      
      	Backport from mainline
      	2017-04-25  Dominik Vogt  <vogt@linux.vnet.ibm.com>
      
      	PR target/80080
      	* gcc.target/s390/md/atomic_compare_exchange-1.c: New test.
      	* gcc.target/s390/md/atomic_compare_exchange-1.inc: New test.
      	* gcc.target/s390/md/atomic_exchange-1.inc: New test.
      
      From-SVN: r247189
      d2780ff2
    • Dominik Vogt's avatar
      S/390: Load and test peephole. · 009c1459
      Dominik Vogt authored
      gcc/ChangeLog:
      
      2017-04-25  Dominik Vogt  <vogt@linux.vnet.ibm.com>
      
      	Backport from mainline
      	2017-04-25  Dominik Vogt  <vogt@linux.vnet.ibm.com>
      
              * config/s390/s390.md (define_peephole2): New peephole to help
              combining the load-and-test pattern with volatile memory.
      
      From-SVN: r247188
      009c1459
    • Dominik Vogt's avatar
      S/390: Load and test peephole. · 16fce46b
      Dominik Vogt authored
      gcc/ChangeLog:
      
      2017-04-25  Dominik Vogt  <vogt@linux.vnet.ibm.com>
      
      	Backport from mainline
      	2017-04-25  Dominik Vogt  <vogt@linux.vnet.ibm.com>
      
              * config/s390/s390.md (define_peephole2): New peephole to help
              combining the load-and-test pattern with volatile memory.
      
      From-SVN: r247187
      16fce46b
    • Jakub Jelinek's avatar
      re PR rtl-optimization/80501 (Wrong code w/ a signed char, a shift, and a conversion to int) · 31a66be1
      Jakub Jelinek authored
      	PR rtl-optimization/80501
      	* combine.c (make_compound_operation_int): Set subreg_code to SET
      	even for AND with mask of the sign bit of mode.
      
      	* gcc.c-torture/execute/pr80501.c: New test.
      
      From-SVN: r247129
      31a66be1
    • Jakub Jelinek's avatar
      re PR rtl-optimization/80500 (ICE: internal consistency failure (error:... · 75092192
      Jakub Jelinek authored
      re PR rtl-optimization/80500 (ICE: internal consistency failure (error: invalid rtl sharing found in the insn))
      
      	PR rtl-optimization/80500
      	* loop-unroll.c (combine_var_copies_in_loop_exit): Call copy_rtx on
      	sum's initial value.
      
      	* gcc.dg/pr80500.c: New test.
      
      From-SVN: r247127
      75092192
    • GCC Administrator's avatar
      Daily bump. · a1f01860
      GCC Administrator authored
      From-SVN: r247120
      a1f01860
  9. 24 Apr, 2017 3 commits
    • Joseph Myers's avatar
      Regenerate .pot files. · c77308d6
      Joseph Myers authored
      gcc/po:
      	* gcc.pot: Regenerate.
      
      libcpp/po:
      	* cpplib.pot: Regenerate.
      
      From-SVN: r247114
      c77308d6
    • Martin Liska's avatar
      Subject: Backport r247097 · 84341de8
      Martin Liska authored
      2017-04-24  Martin Liska  <mliska@suse.cz>
      
      	Backport from mainline
      	2017-04-24  Jan Hubicka  <hubicka@ucw.cz>
      
      	PR middle-end/79931
      	* ipa-devirt.c (dump_possible_polymorphic_call_targets): Fix ICE.
      2017-04-24  Martin Liska  <mliska@suse.cz>
      
      	Backport from mainline
      	2017-04-24  Martin Liska  <mliska@suse.cz>
      
      	PR middle-end/79931
      	* g++.dg/ipa/pr79931.C: New test.
      
      From-SVN: r247102
      84341de8
    • GCC Administrator's avatar
      Daily bump. · 5871268a
      GCC Administrator authored
      From-SVN: r247087
      5871268a
  10. 23 Apr, 2017 1 commit
  11. 22 Apr, 2017 1 commit
  12. 21 Apr, 2017 3 commits