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 .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
Last successful update .
- 12 Mar, 2020 2 commits
-
-
Jakub Jelinek authored
-
GCC Administrator authored
-
- 11 Mar, 2020 2 commits
-
-
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.
-
GCC Administrator authored
-
- 10 Mar, 2020 2 commits
-
-
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.
-
GCC Administrator authored
-
- 09 Mar, 2020 1 commit
-
-
GCC Administrator authored
-
- 07 Mar, 2020 1 commit
-
-
GCC Administrator authored
-
- 06 Mar, 2020 2 commits
-
-
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.
-
GCC Administrator authored
-
- 05 Mar, 2020 17 commits
-
-
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.
-
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. -
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.
-
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.
-
Jonathan Wakely authored
Backport from mainline 2019-06-17 Jonathan Wakely <jwakely@redhat.com> * include/c_global/cmath (__lerp, lerp): Add noexcept (LWG 3201).
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
GCC Administrator authored
-
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.
-
Marek Polacek authored
PR sanitizer/93436 * sanopt.c (sanitize_rewrite_addressable_params): Avoid crash on null DECL_NAME.
-
- 04 Mar, 2020 7 commits
-
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
GCC Administrator authored
-
- 03 Mar, 2020 3 commits
-
-
Iain Sandoe authored
The imported sources from 'upstream' do not support Darwin10 or earlier, so do not enable these by default.
-
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.
-
GCC Administrator authored
-
- 02 Mar, 2020 3 commits
-
-
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.
-
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.
-
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.
-