This commit is contained in:
Jakub Jelinek 2021-04-28 14:04:34 +02:00
parent 7b59d695b5
commit 9173737427
9 changed files with 74 additions and 197 deletions

1
.gitignore vendored
View File

@ -42,3 +42,4 @@
/gcc-11.0.1-20210418.tar.xz
/gcc-11.0.1-20210422.tar.xz
/gcc-11.0.1-20210423.tar.xz
/gcc-11.1.1-20210428.tar.xz

View File

@ -1,10 +1,10 @@
%global DATE 20210423
%global gitrev c76c301ee2291a548ade37778a77407e520967e5
%global gcc_version 11.0.1
%global DATE 20210428
%global gitrev eb4b27fdf644012c40fe49ba8440594770dd8289
%global gcc_version 11.1.1
%global gcc_major 11
# Note, gcc_release must be integer, if you want to add suffixes to
# %%{release}, append them after %%{gcc_release} on Release: line.
%global gcc_release 0
%global gcc_release 1
%global nvptx_tools_gitrev 5f6f343a302d620b0868edab376c00b15741e39e
%global newlib_cygwin_gitrev 50e2a63b04bdd018484605fbb954fd1bd5147fa0
%global _unpackaged_files_terminate_build 0
@ -119,7 +119,7 @@
Summary: Various compilers (C, C++, Objective-C, ...)
Name: gcc
Version: %{gcc_version}
Release: %{gcc_release}.7%{?dist}
Release: %{gcc_release}%{?dist}
# libgcc, libgfortran, libgomp, libstdc++ and crtstuff have
# GCC Runtime Exception.
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD
@ -265,8 +265,8 @@ Patch10: gcc11-Wno-format-security.patch
Patch11: gcc11-rh1574936.patch
Patch12: gcc11-d-shared-libphobos.patch
Patch13: gcc11-pr99341-revert.patch
Patch14: gcc11-pr100148.patch
Patch15: gcc11-dg-ice.patch
Patch14: gcc11-pr100302.patch
Patch15: gcc11-pr100298.patch
Patch100: gcc11-fortran-fdec-duplicates.patch
Patch101: gcc11-fortran-flogical-as-integer.patch
@ -790,8 +790,8 @@ to NVidia PTX capable devices if available.
%endif
%patch12 -p0 -b .d-shared-libphobos~
%patch13 -p0 -b .pr99341-revert~
%patch14 -p0 -b .pr100148~
%patch15 -p0 -b .dg-ice~
%patch14 -p0 -b .pr100302~
%patch15 -p0 -b .pr100298~
%if 0%{?rhel} >= 9
%patch100 -p1 -b .fortran-fdec-duplicates~
@ -3134,6 +3134,15 @@ end
%endif
%changelog
* Wed Apr 28 2021 Jakub Jelinek <jakub@redhat.com> 11.1.1-1
- update from releases/gcc-11-branch
- GCC 11.1 release
- PRs c++/93383, c++/95291, c++/96380, c++/99200, c++/99683, c++/100161,
debug/100255, fortran/100154, fortran/100218, libstdc++/100290,
rtl-optimization/100254, target/98952, target/100200,
tree-optimization/100239
- fix ICE in aarch64_add_offset_1_temporaries (PR target/100302)
* Fri Apr 23 2021 Jakub Jelinek <jakub@redhat.com> 11.0.1-0.7
- update from trunk and releases/gcc-11 branch
- GCC 11.1-rc2

View File

@ -1,113 +0,0 @@
testsuite: Add -fchecking to dg-ice tests
In --enable-checking=release builds (which is the default on release
branches), I'm getting various extra FAILs that don't appear in
--enable-checking=yes builds.
XPASS: g++.dg/cpp0x/constexpr-52830.C -std=c++14 (internal compiler error)
FAIL: g++.dg/cpp0x/constexpr-52830.C -std=c++14 (test for excess errors)
XPASS: g++.dg/cpp0x/constexpr-52830.C -std=c++17 (internal compiler error)
FAIL: g++.dg/cpp0x/constexpr-52830.C -std=c++17 (test for excess errors)
XPASS: g++.dg/cpp0x/constexpr-52830.C -std=c++2a (internal compiler error)
FAIL: g++.dg/cpp0x/constexpr-52830.C -std=c++2a (test for excess errors)
FAIL: g++.dg/cpp0x/vt-88982.C -std=c++14 (test for excess errors)
FAIL: g++.dg/cpp0x/vt-88982.C -std=c++17 (test for excess errors)
FAIL: g++.dg/cpp0x/vt-88982.C -std=c++2a (test for excess errors)
FAIL: g++.dg/cpp1y/auto-fn61.C -std=c++14 (test for excess errors)
FAIL: g++.dg/cpp1y/auto-fn61.C -std=c++17 (test for excess errors)
FAIL: g++.dg/cpp1y/auto-fn61.C -std=c++2a (test for excess errors)
FAIL: g++.dg/cpp1z/constexpr-lambda26.C -std=c++17 (test for excess errors)
FAIL: g++.dg/cpp1z/constexpr-lambda26.C -std=c++2a (test for excess errors)
FAIL: g++.dg/cpp2a/nontype-class39.C -std=c++2a (test for excess errors)
FAIL: c-c++-common/goacc/kernels-decompose-ice-1.c -std=c++14 (test for excess errors)
FAIL: c-c++-common/goacc/kernels-decompose-ice-1.c -std=c++17 (test for excess errors)
FAIL: c-c++-common/goacc/kernels-decompose-ice-1.c -std=c++2a (test for excess errors)
FAIL: c-c++-common/goacc/kernels-decompose-ice-1.c -std=c++98 (test for excess errors)
FAIL: c-c++-common/goacc/kernels-decompose-ice-2.c -std=c++14 (test for excess errors)
FAIL: c-c++-common/goacc/kernels-decompose-ice-2.c -std=c++17 (test for excess errors)
FAIL: c-c++-common/goacc/kernels-decompose-ice-2.c -std=c++2a (test for excess errors)
FAIL: c-c++-common/goacc/kernels-decompose-ice-2.c -std=c++98 (test for excess errors)
These are tests that have dg-ice and most of those ICEs are checking ICEs
which go away in release checking when -fno-checking is the default.
The following patch adds -fchecking option to those.
2021-04-21 Jakub Jelinek <jakub@redhat.com>
* g++.dg/cpp1z/constexpr-lambda26.C: Add dg-additional-options
-fchecking.
* g++.dg/cpp1y/auto-fn61.C: Likewise.
* g++.dg/cpp2a/nontype-class39.C: Likewise.
* g++.dg/cpp0x/constexpr-52830.C: Likewise.
* g++.dg/cpp0x/vt-88982.C: Likewise.
* c-c++-common/goacc/kernels-decompose-ice-1.c: Add -fchecking to
dg-additional-options.
* c-c++-common/goacc/kernels-decompose-ice-2.c: Likewise.
--- gcc/testsuite/c-c++-common/goacc/kernels-decompose-ice-1.c
+++ gcc/testsuite/c-c++-common/goacc/kernels-decompose-ice-1.c
@@ -1,7 +1,7 @@
/* Test OpenACC 'kernels' construct decomposition. */
/* { dg-additional-options "-fopt-info-omp-all" } */
-/* { dg-additional-options "--param=openacc-kernels=decompose" } */
+/* { dg-additional-options "-fchecking --param=openacc-kernels=decompose" } */
/* { dg-ice "TODO" }
{ dg-prune-output "during GIMPLE pass: omplower" } */
--- gcc/testsuite/c-c++-common/goacc/kernels-decompose-ice-2.c
+++ gcc/testsuite/c-c++-common/goacc/kernels-decompose-ice-2.c
@@ -1,6 +1,6 @@
/* Test OpenACC 'kernels' construct decomposition. */
-/* { dg-additional-options "--param=openacc-kernels=decompose" } */
+/* { dg-additional-options "-fchecking --param=openacc-kernels=decompose" } */
/* { dg-ice "TODO" }
{ dg-prune-output "during GIMPLE pass: omplower" } */
--- gcc/testsuite/g++.dg/cpp0x/constexpr-52830.C
+++ gcc/testsuite/g++.dg/cpp0x/constexpr-52830.C
@@ -1,5 +1,6 @@
// PR c++/52830
// { dg-do compile { target c++11 } }
+// { dg-additional-options "-fchecking" }
// { dg-ice "comptypes" }
template<bool b> struct eif { typedef void type; };
--- gcc/testsuite/g++.dg/cpp0x/vt-88982.C
+++ gcc/testsuite/g++.dg/cpp0x/vt-88982.C
@@ -1,5 +1,6 @@
// PR c++/88982
// { dg-do compile { target c++11 } }
+// { dg-additional-options "-fchecking" }
// { dg-ice "tsubst_pack_expansion" }
template<typename...Ts> struct A {
--- gcc/testsuite/g++.dg/cpp1y/auto-fn61.C
+++ gcc/testsuite/g++.dg/cpp1y/auto-fn61.C
@@ -1,5 +1,6 @@
// PR c++/88003
// { dg-do compile { target c++14 } }
+// { dg-additional-options "-fchecking" }
// { dg-ice "poplevel_class" }
auto test() {
--- gcc/testsuite/g++.dg/cpp1z/constexpr-lambda26.C
+++ gcc/testsuite/g++.dg/cpp1z/constexpr-lambda26.C
@@ -1,5 +1,6 @@
// PR c++/87765
// { dg-do compile { target c++17 } }
+// { dg-additional-options "-fchecking" }
// { dg-ice "cxx_eval_constant_expression" }
template <int N>
--- gcc/testsuite/g++.dg/cpp2a/nontype-class39.C
+++ gcc/testsuite/g++.dg/cpp2a/nontype-class39.C
@@ -1,5 +1,6 @@
// PR c++/89565
// { dg-do compile { target c++20 } }
+// { dg-additional-options "-fchecking" }
// { dg-ice "resolve_args" }
template <auto>

View File

@ -4,7 +4,7 @@
<a class="link" href="https://www.fsf.org" target="_top">FSF
</a>
</p><p>
+ Release 11.0.1
+ Release 11.1.1
+ </p><p>
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation
@ -17,7 +17,7 @@
</p><p>
- The API documentation, rendered into HTML, can be viewed online
+ The API documentation, rendered into HTML, can be viewed locally
+ <a class="link" href="api/index.html" target="_top">for the 11.0.1 release</a>,
+ <a class="link" href="api/index.html" target="_top">for the 11.1.1 release</a>,
+ online
<a class="link" href="http://gcc.gnu.org/onlinedocs/" target="_top">for each GCC release</a>
and

View File

@ -1,71 +0,0 @@
cprop: Fix -fcompare-debug bug in constprop_register [PR100148]
The following testcase shows different behavior between -g and -g0
in constprop_register, if a flags register setter is separated
from a conditional jump using those flags with -g by a DEBUG_INSN.
As it uses just NEXT_INSN, for -g it will look at the DEBUG_INSN which is
not a conditional jump, while otherwise it would look at the conditional
jump and call cprop_jump.
2021-04-21 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/100148
* cprop.c (constprop_register): Use next_nondebug_insn instead of
NEXT_INSN.
* g++.dg/opt/pr100148.C: New test.
--- gcc/cprop.c
+++ gcc/cprop.c
@@ -1007,16 +1007,18 @@ static int
constprop_register (rtx from, rtx src, rtx_insn *insn)
{
rtx sset;
+ rtx_insn *next_insn;
/* Check for reg or cc0 setting instructions followed by
conditional branch instructions first. */
if ((sset = single_set (insn)) != NULL
- && NEXT_INSN (insn)
- && any_condjump_p (NEXT_INSN (insn)) && onlyjump_p (NEXT_INSN (insn)))
+ && (next_insn = next_nondebug_insn (insn)) != NULL
+ && any_condjump_p (next_insn)
+ && onlyjump_p (next_insn))
{
rtx dest = SET_DEST (sset);
if ((REG_P (dest) || CC0_P (dest))
- && cprop_jump (BLOCK_FOR_INSN (insn), insn, NEXT_INSN (insn),
+ && cprop_jump (BLOCK_FOR_INSN (insn), insn, next_insn,
from, src))
return 1;
}
--- gcc/testsuite/g++.dg/opt/pr100148.C
+++ gcc/testsuite/g++.dg/opt/pr100148.C
@@ -0,0 +1,27 @@
+// PR rtl-optimization/100148
+// { dg-do compile }
+// { dg-options "-O2 -fno-dce -fno-tree-dce -fno-tree-dominator-opts -fno-tree-sink -fcompare-debug" }
+
+int i;
+enum E { } e, ee;
+
+bool
+baz (int)
+{
+ return ee;
+}
+
+bool bar ();
+bool a, b;
+
+void
+foo ()
+{
+ switch (ee)
+ {
+ case 0:
+ e = E (a ? : i);
+ case 1:
+ !(b || baz (0) && bar ());
+ }
+}

17
gcc11-pr100298.patch Normal file
View File

@ -0,0 +1,17 @@
2021-04-28 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/100298
* include/bits/std_thread.h (thread::hardware_concurrency): Add
missing noexcept to inline definition for non-gthreads targets.
--- libstdc++-v3/include/bits/std_thread.h
+++ libstdc++-v3/include/bits/std_thread.h
@@ -270,7 +270,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
#ifndef _GLIBCXX_HAS_GTHREADS
inline void thread::join() { std::__throw_system_error(EINVAL); }
inline void thread::detach() { std::__throw_system_error(EINVAL); }
- inline unsigned int thread::hardware_concurrency() { return 0; }
+ inline unsigned int thread::hardware_concurrency() noexcept { return 0; }
#endif
inline void

34
gcc11-pr100302.patch Normal file
View File

@ -0,0 +1,34 @@
2021-04-28 Jakub Jelinek <jakub@redhat.com>
PR target/100302
* config/aarch64/aarch64.c (aarch64_add_offset_1_temporaries): Use
absu_hwi instead of abs_hwi.
* gcc.target/aarch64/sve/pr100302.c: New test.
--- gcc/config/aarch64/aarch64.c.jj 2021-04-28 10:43:06.313337362 +0200
+++ gcc/config/aarch64/aarch64.c 2021-04-28 11:01:10.567243000 +0200
@@ -4736,7 +4736,7 @@ aarch64_mov128_immediate (rtx imm)
static unsigned int
aarch64_add_offset_1_temporaries (HOST_WIDE_INT offset)
{
- return abs_hwi (offset) < 0x1000000 ? 0 : 1;
+ return absu_hwi (offset) < 0x1000000 ? 0 : 1;
}
/* A subroutine of aarch64_add_offset. Set DEST to SRC + OFFSET for
--- gcc/testsuite/gcc.target/aarch64/sve/pr100302.c.jj 2021-04-28 10:49:19.337176274 +0200
+++ gcc/testsuite/gcc.target/aarch64/sve/pr100302.c 2021-04-28 10:42:48.342537828 +0200
@@ -0,0 +1,12 @@
+/* PR target/100302 */
+/* { dg-do compile } */
+/* { dg-options "-march=armv8.2-a+sve -O1 -ftree-loop-vectorize -fno-tree-scev-cprop --param vect-partial-vector-usage=0 -fvect-cost-model=unlimited" } */
+
+long int x;
+
+void
+foo (void)
+{
+ for (x = 0; x >= 0; ++x)
+ ;
+}

View File

@ -1,4 +1,4 @@
SHA512 (gcc-11.0.1-20210423.tar.xz) = c8fec68ef812d623285658e88d958537b4d5d8bbbecf4f6b6393e56a4866785bcd559e6995c35e52a96f4679039c473386f8ba4e3be7d423867a3552c90ea46c
SHA512 (gcc-11.1.1-20210428.tar.xz) = c9dbb4b65a36f39f3e2b98d5a1b2ae68a541cea775a10df6ab32fcbc369f9e17e196de8b9d85280f7a9c59f911e56490ba32bc72e71817e5cec9c54bf9eecfb5
SHA512 (isl-0.18.tar.bz2) = 85d0b40f4dbf14cb99d17aa07048cdcab2dc3eb527d2fbb1e84c41b2de5f351025370e57448b63b2b8a8cf8a0843a089c3263f9baee1542d5c2e1cb37ed39d94
SHA512 (newlib-cygwin-50e2a63b04bdd018484605fbb954fd1bd5147fa0.tar.xz) = 002a48a7b689a81abbf16161bcaec001a842e67dfbe372e9e109092703bfc666675f16198f60ca429370e8850d564547dc505df81bc3aaca4ce6defbc014ad6c
SHA512 (nvptx-tools-5f6f343a302d620b0868edab376c00b15741e39e.tar.xz) = f6d10db94fa1570ae0f94df073fa3c73c8e5ee16d59070b53d94f7db0de8a031bc44d7f3f1852533da04b625ce758e022263855ed43cfc6867e0708d001e53c7

View File

@ -3,5 +3,5 @@
git clone --depth 1 git://gcc.gnu.org/git/gcc.git gcc-dir.tmp
git --git-dir=gcc-dir.tmp/.git fetch --depth 1 origin $1
d=`date --iso | sed 's/-//g'`
git --git-dir=gcc-dir.tmp/.git archive --prefix=gcc-11.0.1-$d/ $1 | xz -9e > gcc-11.0.1-$d.tar.xz
git --git-dir=gcc-dir.tmp/.git archive --prefix=gcc-11.1.1-$d/ $1 | xz -9e > gcc-11.1.1-$d.tar.xz
rm -rf gcc-dir.tmp