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. 12 Mar, 2020 2 commits
  2. 11 Mar, 2020 2 commits
    • Eric Botcazou's avatar
      Fix internal error on locally-defined subpools · c9858be2
      Eric Botcazou authored
      If the type is derived in the current compilation unit, and Allocate
      is not overridden on derivation (as is typically the case with
      Root_Storage_Pool_With_Subpools), the entity for Allocate of the
      derived type is an alias for System.Storage_Pools.Subpools.Allocate.
      
      The main assertion in gnat_to_gnu_entity fails in this case, since
      this is not a definition and Is_Public is false (since the entity
      is nested in the same compilation unit).
      
      2020-03-11  Richard Wai  <richard@annexi-strayline.com>
      
      	* gcc-interface/decl.c (gnat_to_gnu_entity): Also test Is_Public on
      	the Alias of the entitiy, if is present, in the main assertion.
      c9858be2
    • GCC Administrator's avatar
      Daily bump. · 3b0babc3
      GCC Administrator authored
      3b0babc3
  3. 10 Mar, 2020 2 commits
    • Xionghu Luo's avatar
      Backport to gcc-9: PR92398: Fix testcase failure of pr72804.c · 85c08558
      Xionghu Luo authored
      Backport the patch to fix failures on P9 and P8BE, P7LE for PR94036.
      Tested pass on P9/P8/P7.
      (gcc-8 is not needed as the test doesn't exists.)
      
      P9LE generated instruction is not worse than P8LE.
      mtvsrdd;xxlnot;stxv vs. not;not;std;std.
      It can have longer latency, but latency via memory is not so critical,
      and this does save decode and other resources.  It's hard to choose
      which is best.  Update the test case to fix failures.
      
      gcc/testsuite/ChangeLog:
      
      	2020-03-10  Luo Xiong Hu  <luoxhu@linux.ibm.com>
      
      	backport from master.
      	PR testsuite/94036
      
      	2019-12-02  Luo Xiong Hu  <luoxhu@linux.ibm.com>
      
      	PR testsuite/92398
      	* gcc.target/powerpc/pr72804.c: Split the store function to...
      	* gcc.target/powerpc/pr92398.h: ... this one.  New.
      	* gcc.target/powerpc/pr92398.p9+.c: New.
      	* gcc.target/powerpc/pr92398.p9-.c: New.
      	* lib/target-supports.exp (check_effective_target_p8): New.
      	(check_effective_target_p9+): New.
      85c08558
    • GCC Administrator's avatar
      Daily bump. · 5b1a849e
      GCC Administrator authored
      5b1a849e
  4. 09 Mar, 2020 1 commit
  5. 07 Mar, 2020 1 commit
  6. 06 Mar, 2020 2 commits
    • Jonathan Wakely's avatar
      libstdc++: Fix call to __glibcxx_rwlock_init (PR 94069) · 39bdebf3
      Jonathan Wakely authored
      When the target doesn't define PTHREAD_RWLOCK_INITIALIZER we use a
      wrapper around pthread_wrlock_init, but the wrapper only takes one
      argument and we try to call it with two.
      
      This went unnnoticed on most targets because they do define the
      PTHREAD_RWLOCK_INITIALIZER macro, but it causes a bootstrap failure on
      darwin8.
      
      Backport from mainline
      2020-03-06  Jonathan Wakely  <jwakely@redhat.com>
      
      	PR libstdc++/94069
      	* include/std/shared_mutex [!PTHREAD_RWLOCK_INITIALIZER]
      	(__shared_mutex_pthread::__shared_mutex_pthread()): Remove incorrect
      	second argument to __glibcxx_rwlock_init.
      	* testsuite/30_threads/shared_timed_mutex/94069.cc: New test.
      39bdebf3
    • GCC Administrator's avatar
      Daily bump. · c5edde44
      GCC Administrator authored
      c5edde44
  7. 05 Mar, 2020 17 commits
    • Jason Merrill's avatar
      c++: Avoid ICE on infinite recursion with concepts. · e50627ff
      Jason Merrill authored
      This was simple enough to backport even though it's concepts.
      
      gcc/cp/ChangeLog
      2020-03-05  Jason Merrill  <jason@redhat.com>
      
      	PR c++/88395
      	PR c++/93551
      	* constraint.cc (constraints_satisfied_p): Use push_tinst_level.
      e50627ff
    • Jakub Jelinek's avatar
      i386: Fix some -O0 avx2intrin.h and xopintrin.h intrinsic macros [PR94046] · 07d52e63
      Jakub Jelinek authored
      As the testcases show, the macros we have for -O0 for intrinsics that require
      constant argument(s) should first cast the argument to the type the -O1+
      inline uses and afterwards to whatever type e.g. a builtin needs.
      The PR reported one which violated this, and I've grepped for all double-casts
      and grepped out from that meaningful casts where the __m{128,256,512}{,d,i}
      first cast is cast to same sized __v* type and has the same kind of element
      type (float, double, integral).  These 7 macros were using different casts,
      and I've double checked them against the inline function types.
      
      2020-03-05  Jakub Jelinek  <jakub@redhat.com>
      
      	PR target/94046
      	* config/i386/avx2intrin.h (_mm_mask_i32gather_ps): Fix first cast of
      	SRC and MASK arguments to __m128 from __m128d.
      	(_mm256_mask_i32gather_ps): Fix first cast of MASK argument to __m256
      	from __m256d.
      	(_mm_mask_i64gather_ps): Fix first cast of MASK argument to __m128
      	from __m128d.
      	* config/i386/xopintrin.h (_mm_permute2_pd): Fix first cast of C
      	argument to __m128i from __m128d.
      	(_mm256_permute2_pd): Fix first cast of C argument to __m256i from
      	__m256d.
      	(_mm_permute2_ps): Fix first cast of C argument to __m128i from __m128.
      	(_mm256_permute2_ps): Fix first cast of C argument to __m256i from
      	__m256.
      
      	* g++.target/i386/pr94046-1.C: New test.
      	* g++.target/i386/pr94046-2.C: New test.
      07d52e63
    • Jonathan Wakely's avatar
      libstdc++: Fix some warnings in filesystem tests · 128418af
      Jonathan Wakely authored
      There's a -Wunused-but-set-variable warning in operations/all.cc which
      can be fixed with [[maybe_unused]].
      
      The statements in operations/copy.cc give -Wunused-value warnings. I
      think I meant to use |= rather than !=.
      
      And operations/file_size.cc gets -Wsign-compare warnings.
      
      Backport from mainline
      2020-03-05  Jonathan Wakely  <jwakely@redhat.com>
      
      	* testsuite/27_io/filesystem/operations/all.cc: Mark unused variable.
      	* testsuite/27_io/filesystem/operations/copy.cc: Fix typo.
      	* testsuite/experimental/filesystem/operations/copy.cc: Likewise.
      	* testsuite/27_io/filesystem/operations/file_size.cc: Use correct type
      	for return value, and in comparison.
      	* testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
      128418af
    • Jonathan Wakely's avatar
      PR libstdc++/91910 fix data race in Debug Mode destructors · 9d0ad2d4
      Jonathan Wakely authored
      Fix data race when _Safe_iterator_base::_M_detach() runs concurrently with
      the _Safe_container_base destructor.
      
      Backport from mainline
      2019-09-27  Jonathan Wakely  <jwakely@redhat.com>
      
      	PR libstdc++/91910
      	* src/c++11/debug.cc (_Safe_iterator_base::_M_detach()): Load pointer
      	atomically and lock the mutex before accessing the sequence.
      	(_Safe_local_iterator_base::_M_detach()): Likewise.
      	(_Safe_iterator_base::_M_reset()): Clear _M_sequence atomically.
      9d0ad2d4
    • Jonathan Wakely's avatar
      Add 'noexcept' to std::lerp · 49416679
      Jonathan Wakely authored
      Backport from mainline
      2019-06-17  Jonathan Wakely  <jwakely@redhat.com>
      
      	* include/c_global/cmath (__lerp, lerp): Add noexcept (LWG 3201).
      49416679
    • Jonathan Wakely's avatar
      libstdc++: make negative count safe with std::for_each_n · 65d75048
      Jonathan Wakely authored
      The Library Working Group have approved a change to std::for_each_n that
      requires it to handle negative N gracefully, which we were not doing for
      random access iterators.
      
      Backport from mainline
      2019-11-07  Jonathan Wakely  <jwakely@redhat.com>
      
      	* include/bits/stl_algo.h (for_each_n): Handle negative count.
      	* testsuite/25_algorithms/for_each/for_each_n_debug.cc: New test.
      65d75048
    • Jonathan Wakely's avatar
      libstdc++: Avoid using sizeof with function types (PR 93470) · 08ed3428
      Jonathan Wakely authored
      Backport from mainline
      2020-01-28  Jonathan Wakely  <jwakely@redhat.com>
      
      	PR libstdc++/93470
      	* include/bits/refwrap.h (reference_wrapper::operator()): Restrict
      	static assertion to object types.
      08ed3428
    • Richard Earnshaw's avatar
      arm: Fix incorrect modes with 'borrow' operations [PR90311] · d37244b4
      Richard Earnshaw authored
      Looking through the arm backend I noticed that the modes used to pass
      comparison types into subtract-with-carry operations were being
      incorrectly set.  The result is that the compiler is not truly
      self-consistent.  To clean this up I've introduced a new predicate,
      arm_borrow_operation (borrowed from the AArch64 backend) which can
      match the comparison type with the required mode and then fixed all
      the patterns to use this.  The split patterns that were generating
      incorrect modes have all obviously been fixed as well.
      
      The basic rule for the use of a borrow is:
      - if the condition code was set by a 'subtract-like' operation (subs, cmp),
        then use CCmode and LTU.
      - if the condition code was by unsigned overflow of addition (adds), then
        use CC_Cmode and GEU.
      
      gcc:
      	PR target/90311
      	Backport from master
      	* config/arm/predicates.md (arm_borrow_operation): New predicate.
      	* config/arm/arm.c (subdi3_compare1): Use CCmode for the split.
      	(arm_subdi3, subdi_di_zesidi, subdi_di_sesidi): Likewise.
      	(subdi_zesidi_zesidi): Likewise.
      	(negdi2_compare, negdi2_insn): Likewise.
      	(negdi_extensidi): Likewise.
      	(negdi_zero_extendsidi): Likewise.
      	(arm_cmpdi_insn): Likewise.
      	(subsi3_carryin): Use arm_borrow_operation.
      	(subsi3_carryin_const): Likewise.
      	(subsi3_carryin_const0): Likewise.
      	(subsi3_carryin_compare): Likewise.
      	(subsi3_carryin_compare_const): Likewise.
      	(subsi3_carryin_compare_const0): Likewise.
      	(subsi3_carryin_shift): Likewise.
      	(rsbsi3_carryin_shift): Likewise.
      	(negsi2_carryin_compare): Likewise.
      
      gcc/testsuite:
      2020-03-05  Jakub Jelinek  <jakub@redhat.com>
      
      	Backport from master
      	PR target/90311
      	* gcc.c-torture/execute/pr90311.c: New test.
      d37244b4
    • Uros Bizjak's avatar
      testsuite: Compile asan_test.C with -Wno-alloc-size-larger-than · 8f34b644
      Uros Bizjak authored
      asan_test.cc tries to allocate 0xf0000000 bytes for 32bit targets in
      a disabled DISABLED_DemoOOM test.  Since the testcase is compiled with
      -Werror, the compilation fails with:
      
      error: argument 1 value '4026531840' exceeds maximum object size 2147483647
      
      Compile with -Wno-alloc-size-larger-than to avoid compilation failure.
      
      	* g++.dg/asan/asan_test.C (dg-options): Add
      	-Wno-alloc-size-larger-than.
      8f34b644
    • Martin Sebor's avatar
      Backport fix for PR c++/93753 from trunk. · 9ca4280a
      Martin Sebor authored
      gcc/cp/ChangeLog:
      	Backport from trunk.
      	2020-02-21  Martin Sebor  <msebor@redhat.com>
      
      	PR c++/93753
      	* class.c (check_flexarrays): Tighten up a test for potential members
      	of anonymous structs or unions.
      
      gcc/testsuite/ChangeLog:
      
      	Backport from trunk.
      	2020-02-21  Martin Sebor  <msebor@redhat.com>
      
      	PR c++/93753
      	* g++.dg/ext/flexary36.C: New test.
      9ca4280a
    • Jason Merrill's avatar
      c++: Fix SFINAE for invalid non-type tparm types. · c47f6f69
      Jason Merrill authored
      Just missing the usual SFINAE pattern here.  This was fixed for GCC 10 as a
      drive-by in r277902.
      
      gcc/cp/ChangeLog
      2020-03-05  Jason Merrill  <jason@redhat.com>
      
      	PR c++/90338
      	* pt.c (invalid_nontype_parm_type_p): Check complain for non-literal
      	and mutable errors.
      c47f6f69
    • Paul Thomas's avatar
      Fix ICE in trans_associate_var · 7beafc82
      Paul Thomas authored
      2020-03-05  Paul Thomas  <pault@gcc.gnu.org>
      
      	Backport from trunk
      	PR fortran/92976
      	* match.c (select_type_set_tmp): Variable 'selector' to replace
      	select_type_stack->selector. If the selector array spec has
      	explicit bounds, make the temporary's bounds deferred.
      
      2020-03-05  Paul Thomas  <pault@gcc.gnu.org>
      
      	Backport from trunk
      	PR fortran/92976
      	* gfortran.dg/select_type_48.f90 : New test.
      7beafc82
    • Jason Merrill's avatar
      c++: Fix constexpr ICE from const mismatch [PR91607] · e19f0653
      Jason Merrill authored
      gcc/cp/ChangeLog
      2020-03-04  Jason Merrill  <jason@redhat.com>
      
      	PR c++/91607
      	* constexpr.c (constexpr_call_hasher::equal): Use
      	same_type_ignoring_top_level_qualifiers_p.
      e19f0653
    • Martin Sebor's avatar
      PR c++/90938 - Initializing array with {1} works, but not {0} · 1665d97d
      Martin Sebor authored
      gcc/cp/ChangeLog:
      
      	PR c++/90938
      	* tree.c (type_initializer_zero_p): Fail for structs initialized
      	with non-structs.
      
      gcc/testsuite/ChangeLog:
      
      	PR c++/90938
      	* g++.dg/init/array55.C: New test.
      	* g++.dg/init/array56.C: New test.
      	* g++.dg/cpp2a/nontype-class33.C: New test.
      1665d97d
    • GCC Administrator's avatar
      Daily bump. · 29bb27b7
      GCC Administrator authored
      29bb27b7
    • Marek Polacek's avatar
      c++: Fix ICE in tsubst_copy with parenthesized expression [PR93299] · 2b5d109b
      Marek Polacek authored
      	PR c++/93299 - ICE in tsubst_copy with parenthesized expression.
      	* pt.c (tsubst_copy): Handle a REF_PARENTHESIZED_P VIEW_CONVERT_EXPR.
      
      	* g++.dg/cpp1y/paren5.C: New test.
      2b5d109b
    • Marek Polacek's avatar
      sanopt: Avoid crash on anonymous parameter [PR93436] · d8b65123
      Marek Polacek authored
                  PR sanitizer/93436
                  * sanopt.c (sanitize_rewrite_addressable_params): Avoid crash on
                  null DECL_NAME.
      d8b65123
  8. 04 Mar, 2020 7 commits
    • Marek Polacek's avatar
      c++: Fix value-init crash in template [PR93676] · b38d6242
      Marek Polacek authored
      	PR c++/93676 - value-init crash in template.
      	* init.c (build_new_1): Don't call build_vec_init in a template.
      
      	* g++.dg/cpp0x/nsdmi-template19.C: New test.
      b38d6242
    • Marek Polacek's avatar
      c++: Fix mismatch in template argument deduction [PR90505] · 581825ef
      Marek Polacek authored
      2020-03-03  Jason Merrill  <jason@redhat.com>
      	    Marek Polacek  <polacek@redhat.com>
      
      	PR c++/90505 - mismatch in template argument deduction.
      	* pt.c (tsubst): Don't reduce the template level of template
      	parameters when tf_partial.
      
      	* g++.dg/template/deduce4.C: New test.
      	* g++.dg/template/deduce5.C: New test.
      	* g++.dg/template/deduce6.C: New test.
      	* g++.dg/template/deduce7.C: New test.
      581825ef
    • Jason Merrill's avatar
      c++: Fix [[no_unique_address]] and default mem-init [PR90432] · 9af9e004
      Jason Merrill authored
      output_constructor doesn't like two consecutive entries with fields at the
      same position; let's avoid adding the one for the empty field.
      
      gcc/cp/ChangeLog
      2020-03-04  Jason Merrill  <jason@redhat.com>
      
      	PR c++/90432
      	* init.c (perform_member_init): Don't do aggregate initialization of
      	empty field.
      	* constexpr.c (cx_check_missing_mem_inits): Don't enforce
      	initialization of empty field.
      9af9e004
    • Jason Merrill's avatar
      c++: avoid ICE with __builtin_memset (PR90997). · 831d4a69
      Jason Merrill authored
      warn_for_memset calls fold_for_warn, which calls fold_non_dependent_expr, so
      also calling instantiate_non_dependent_expr here is undesirable.
      
      gcc/cp/ChangeLog
      2020-03-04  Jason Merrill  <jason@redhat.com>
      
      	PR c++/90997
      	* semantics.c (finish_call_expr): Don't call
      	instantiate_non_dependent_expr before warn_for_memset.
      831d4a69
    • Will Schmidt's avatar
      Remove unnecessary XFAILs from existing testcase 20050603-3.c. · bde2e6e5
      Will Schmidt authored
      The XFAILs in this testcase (20050603-3.c) are no longer necessary
      since the fix to PR68803 was committed with svn revision r242681.
      
      2020-03-04  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
      testsuite
      
      	* gcc.target/powerpc/20050603-3.c: Remove XFAILS.
      bde2e6e5
    • Jakub Jelinek's avatar
      maintainer-scripts: Speed up git clone in gcc_release · f33d2797
      Jakub Jelinek authored
      When doing the 8.4-rc1, I've noticed (probably also because of the dying
      disk on sourceware) that git clone is extremely slow, and furthermore when
      all of us have some local snapshots, it is a waste of resources to download
      everything again.  Especially for the -f runs when we'll need to wait until
      git tag -s asks us for a gpg password interactively.
      
      The following patch adds an option through which one can point the script
      at a local gcc .git directory from which it can --dissociate --reference ...
      during cloning to speed it up.
      
      2020-02-27  Jakub Jelinek  <jakub@redhat.com>
      
      	* gcc_release: Add support for -b local-git-repo argument.
      f33d2797
    • GCC Administrator's avatar
      Daily bump. · 7b20c864
      GCC Administrator authored
      7b20c864
  9. 03 Mar, 2020 3 commits
    • Iain Sandoe's avatar
      Darwin, libsanitizer: Update minimum supported system version. · 224ca3bf
      Iain Sandoe authored
      The imported sources from 'upstream' do not support Darwin10
      or earlier, so do not enable these by default.
      224ca3bf
    • Jakub Jelinek's avatar
      explow: Fix ICE caused by plus_constant [PR94002] · e913d4f4
      Jakub Jelinek authored
      The following testcase ICEs in cross to riscv64-linux.  The problem is
      that we have a DImode integral constant (that doesn't fit into SImode),
      which is pushed into a constant pool and later access just the first half of
      it using a MEM.  When plus_constant is called on such a MEM, if the constant
      has mode, we verify the mode, but if it doesn't, we don't and ICE later on
      when we think the CONST_INT is a valid SImode constant.
      
      2020-03-03  Jakub Jelinek  <jakub@redhat.com>
      
      	PR rtl-optimization/94002
      	* explow.c (plus_constant): Punt if cst has VOIDmode and
      	get_pool_mode is different from mode.
      
      	* gcc.dg/pr94002.c: New test.
      e913d4f4
    • GCC Administrator's avatar
      Daily bump. · 01020459
      GCC Administrator authored
      01020459
  10. 02 Mar, 2020 3 commits
    • Jason Merrill's avatar
      c++: Fix ({ ... }) array mem-initializer. · 054aeaef
      Jason Merrill authored
      Here, we were going down the wrong path in perform_member_init because of
      the incorrect parens around the mem-initializer for the array.  And then
      cxx_eval_vec_init_1 didn't know what to do with a CONSTRUCTOR as the
      initializer.  For GCC 9, let's just fix the latter issue.
      
      gcc/cp/ChangeLog
      2020-03-02  Jason Merrill  <jason@redhat.com>
      
      	PR c++/86917
      	* constexpr.c (cxx_eval_vec_init_1): Handle CONSTRUCTOR.
      054aeaef
    • Jason Merrill's avatar
      c++: Allow parm of empty class type in constexpr. · b4e53e9b
      Jason Merrill authored
      Since copying a class object is defined in terms of the copy constructor,
      copying an empty class is OK even if it would otherwise not be usable in a
      constant expression.  Relatedly, using a parameter as an lvalue is no more
      problematic than a local variable, and calling a member function uses the
      object as an lvalue.
      
      gcc/cp/ChangeLog
      2020-03-02  Jason Merrill  <jason@redhat.com>
      
      	PR c++/91953
      	* constexpr.c (potential_constant_expression_1) [PARM_DECL]: Allow
      	empty class type.
      	[COMPONENT_REF]: A member function reference doesn't use the object
      	as an rvalue.
      
      b4e53e9b
    • Jason Merrill's avatar
      c++: Fix cast to pointer to VLA. · f137a7c6
      Jason Merrill authored
      The C front-end fixed this issue in r257620 by adding a DECL_EXPR from
      grokdeclarator.  We don't have an easy way to do that in the C++ front-end,
      but it works fine to create and prepend a DECL_EXPR when we are genericizing
      the NOP_EXPR for the cast.
      
      The C patch wraps the DECL_EXPR in a BIND_EXPR, but that seems unnecessary
      in C++; this is just a hook to run gimplify_type_sizes, we aren't actually
      declaring anything that we need to worry about scoping for.
      
      gcc/cp/ChangeLog
      2020-03-02  Jason Merrill  <jason@redhat.com>
      
      	PR c++/88256
      	* cp-gimplify.c (predeclare_vla): New.
      	(cp_genericize_r) [NOP_EXPR]: Call it.
      
      f137a7c6