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