From 9173737427d683124fe2403daf3f80e6b690751d Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Wed, 28 Apr 2021 14:04:34 +0200 Subject: [PATCH] 11.1.1-1 --- .gitignore | 1 + gcc.spec | 27 ++++++--- gcc11-dg-ice.patch | 113 ------------------------------------- gcc11-libstdc++-docs.patch | 4 +- gcc11-pr100148.patch | 71 ----------------------- gcc11-pr100298.patch | 17 ++++++ gcc11-pr100302.patch | 34 +++++++++++ sources | 2 +- update-gcc.sh | 2 +- 9 files changed, 74 insertions(+), 197 deletions(-) delete mode 100644 gcc11-dg-ice.patch delete mode 100644 gcc11-pr100148.patch create mode 100644 gcc11-pr100298.patch create mode 100644 gcc11-pr100302.patch diff --git a/.gitignore b/.gitignore index ba611f7..d9fedf8 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/gcc.spec b/gcc.spec index 5c1f61e..78c7f57 100644 --- a/gcc.spec +++ b/gcc.spec @@ -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 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 11.0.1-0.7 - update from trunk and releases/gcc-11 branch - GCC 11.1-rc2 diff --git a/gcc11-dg-ice.patch b/gcc11-dg-ice.patch deleted file mode 100644 index de9944c..0000000 --- a/gcc11-dg-ice.patch +++ /dev/null @@ -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 - - * 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 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 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 ---- 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 diff --git a/gcc11-libstdc++-docs.patch b/gcc11-libstdc++-docs.patch index ec29880..7213d2c 100644 --- a/gcc11-libstdc++-docs.patch +++ b/gcc11-libstdc++-docs.patch @@ -4,7 +4,7 @@ FSF

-+ Release 11.0.1 ++ Release 11.1.1 +

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation @@ -17,7 +17,7 @@

- The API documentation, rendered into HTML, can be viewed online + The API documentation, rendered into HTML, can be viewed locally -+ for the 11.0.1 release, ++ for the 11.1.1 release, + online for each GCC release and diff --git a/gcc11-pr100148.patch b/gcc11-pr100148.patch deleted file mode 100644 index 4d21845..0000000 --- a/gcc11-pr100148.patch +++ /dev/null @@ -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 - - 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 ()); -+ } -+} diff --git a/gcc11-pr100298.patch b/gcc11-pr100298.patch new file mode 100644 index 0000000..80ffe13 --- /dev/null +++ b/gcc11-pr100298.patch @@ -0,0 +1,17 @@ +2021-04-28 Jonathan Wakely + + 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 diff --git a/gcc11-pr100302.patch b/gcc11-pr100302.patch new file mode 100644 index 0000000..3c5cf76 --- /dev/null +++ b/gcc11-pr100302.patch @@ -0,0 +1,34 @@ +2021-04-28 Jakub Jelinek + + 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) ++ ; ++} diff --git a/sources b/sources index f67b7b5..0cb1fb1 100644 --- a/sources +++ b/sources @@ -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 diff --git a/update-gcc.sh b/update-gcc.sh index a0fe80c..67b42a0 100755 --- a/update-gcc.sh +++ b/update-gcc.sh @@ -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