11.0.0-0.12

This commit is contained in:
Jakub Jelinek 2021-01-09 11:31:57 +01:00
parent 47dcf480fc
commit 4a41cd799a
4 changed files with 37 additions and 126 deletions

1
.gitignore vendored
View File

@ -26,3 +26,4 @@
/gcc-11.0.0-20201216.tar.xz
/gcc-11.0.0-20201217.tar.xz
/gcc-11.0.0-20201223.tar.xz
/gcc-11.0.0-20210109.tar.xz

View File

@ -1,5 +1,5 @@
%global DATE 20201223
%global gitrev 9265a9d6eb38913206ddc37009fd548c2e4f5de0
%global DATE 20210109
%global gitrev 9971024e74d1681c78e9b1f0b7ea1e8a6cda7304
%global gcc_version 11.0.0
%global gcc_major 11
# Note, gcc_release must be integer, if you want to add suffixes to
@ -119,7 +119,7 @@
Summary: Various compilers (C, C++, Objective-C, ...)
Name: gcc
Version: %{gcc_version}
Release: %{gcc_release}.11%{?dist}
Release: %{gcc_release}.12%{?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
@ -272,8 +272,7 @@ Patch8: gcc11-foffload-default.patch
Patch9: gcc11-Wno-format-security.patch
Patch10: gcc11-rh1574936.patch
Patch11: gcc11-d-shared-libphobos.patch
Patch12: gcc11-pr98282.patch
Patch13: gcc11-pr98338-workaround.patch
Patch12: gcc11-pr98338-workaround.patch
# On ARM EABI systems, we do want -gnueabi to be part of the
# target triple.
@ -785,8 +784,7 @@ to NVidia PTX capable devices if available.
%patch10 -p0 -b .rh1574936~
%endif
%patch11 -p0 -b .d-shared-libphobos~
%patch12 -p0 -b .pr98282~
%patch13 -p0 -b .pr98338-workaround~
%patch12 -p0 -b .pr98338-workaround~
echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE
@ -3071,6 +3069,36 @@ end
%endif
%changelog
* Sat Jan 9 2021 Jakub Jelinek <jakub@redhat.com> 11.0.0-0.12
- update from trunk
- PRs analyzer/97072, analyzer/97074, analyzer/98073, analyzer/98223,
analyzer/98293, analyzer/98564, analyzer/98580, bootstrap/98324,
bootstrap/98506, c++/82099, c++/95768, c++/96045, c++/96504,
c++/97597, c++/98206, c++/98305, c++/98316, c++/98329, c++/98332,
c++/98353, c++/98413, c++/98441, c++/98469, c++/98515, c++/98551,
c/98029, d/98427, fortran/83118, fortran/93701, fortran/93794,
fortran/93833, fortran/97612, fortran/97694, fortran/97723,
fortran/98022, fortran/98458, libstdc++/98384, middle-end/98160,
middle-end/98578, other/98437, rtl-optimization/97144,
rtl-optimization/97978, rtl-optimization/98214,
rtl-optimization/98334, rtl-optimization/98403, target/89057,
target/96793, target/97269, target/98461, target/98482, target/98495,
target/98521, target/98522, target/98567, target/98585,
testsuite/98489, testsuite/98566, tree-optimization/56719,
tree-optimization/94785, tree-optimization/94802,
tree-optimization/94994, tree-optimization/95401,
tree-optimization/95582, tree-optimization/95771,
tree-optimization/96239, tree-optimization/96782,
tree-optimization/96928, tree-optimization/96930,
tree-optimization/98282, tree-optimization/98291,
tree-optimization/98302, tree-optimization/98308,
tree-optimization/98371, tree-optimization/98381,
tree-optimization/98393, tree-optimization/98428,
tree-optimization/98464, tree-optimization/98474,
tree-optimization/98513, tree-optimization/98514,
tree-optimization/98516, tree-optimization/98544,
tree-optimization/98560, tree-optimization/98568
* Wed Dec 23 2020 Jakub Jelinek <jakub@redhat.com> 11.0.0-0.11
- update from trunk
- PRs bootstrap/98300, bootstrap/98380, bootstrap/98412, c++/67343,

View File

@ -1,118 +0,0 @@
2020-12-15 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/98282
* tree-ssa-pre.c (compute_avail): Don't try to adjust alias set
if different when ref1->opcode is not MEM_REF or TARGET_MEM_REF.
* g++.dg/opt/pr98282.C: New test.
--- gcc/tree-ssa-pre.c.jj 2020-11-30 10:48:31.000000000 +0100
+++ gcc/tree-ssa-pre.c 2020-12-15 10:51:51.061206572 +0100
@@ -4176,13 +4176,17 @@ compute_avail (void)
&& ref2->opcode != MEM_REF
&& ref2 != &operands[0])
--ref2;
- if ((ref1->opcode == TARGET_MEM_REF
- || ref1->opcode == MEM_REF)
- && (TYPE_ALIGN (ref1->type)
- > TYPE_ALIGN (ref2->type)))
- ref1->type
- = build_aligned_type (ref1->type,
- TYPE_ALIGN (ref2->type));
+ if (ref1->opcode == TARGET_MEM_REF
+ || ref1->opcode == MEM_REF)
+ {
+ if (TYPE_ALIGN (ref1->type)
+ > TYPE_ALIGN (ref2->type))
+ ref1->type
+ = build_aligned_type (ref1->type,
+ TYPE_ALIGN (ref2->type));
+ }
+ else
+ set = ref->set;
/* TBAA behavior is an obvious part so make sure
that the hashtable one covers this as well
by adjusting the ref alias set and its base. */
--- gcc/testsuite/g++.dg/opt/pr98282.C.jj 2020-12-15 12:26:25.868415230 +0100
+++ gcc/testsuite/g++.dg/opt/pr98282.C 2020-12-15 12:28:00.346353067 +0100
@@ -0,0 +1,80 @@
+// PR tree-optimization/98282
+// { dg-do compile { target c++11 } }
+// { dg-options "-O2" }
+
+template <typename> struct g;
+template <typename b> struct g<b &> { typedef b c; };
+template <typename b> typename g<b>::c &&d(b &&e) {
+ return static_cast<typename g<b>::c &&>(e);
+}
+void *operator new(__SIZE_TYPE__, void *f) { return f; }
+struct h;
+struct k {
+ using i = h *;
+};
+struct D {
+ k::i j;
+};
+struct p : D {
+ p(p &&) : D() {}
+};
+struct r {
+ using l = int;
+ r(r &&) : ad() {}
+ l *ad;
+};
+struct s {
+ static s m();
+};
+struct t {
+ template <typename ah> void operator=(ah);
+};
+struct I {
+ template <typename o> void q(o ai) {
+ *ai = aj();
+ s::m();
+ }
+ h aj();
+};
+template <typename...> class as;
+struct J {
+ int a;
+ char av;
+};
+template <typename...> struct aw : J {
+ void ax(...) {}
+};
+template <typename... ay, typename an, typename... n>
+struct aw<as<ay...>, an, n...> : aw<as<ay...>, n...> {
+ using az = as<ay...>;
+ using ba = aw<az, n...>;
+ char bb;
+ an &bc() { return *reinterpret_cast<an *>(this); }
+ void ax(az *bd) {
+ if (bb)
+ new (bd) an(d(bc()));
+ ba::ax(bd);
+ }
+};
+template <typename... n> struct as : aw<as<n...>, n...> {
+ as();
+ as(as &&be) { be.ax(this); }
+ void operator=(as be) { be.ax(this); }
+};
+struct h {
+ as<decltype(nullptr), r, p> bg;
+};
+using bh = t;
+struct u {
+ bh bj;
+};
+I bk();
+template <typename> void bl() {
+ h a;
+ bk().q(&a);
+}
+template <typename> void bn(int) {
+ u b;
+ b.bj = bl<int>;
+}
+void bp() { bn<int>(0); }

View File

@ -1,3 +1,3 @@
SHA512 (gcc-11.0.0-20201223.tar.xz) = 46bd2b601027ce420d5659e0e8638f9f3971eaf637960db9aced7a335ea234b761ae5b671ffc1fcee772c804cbdf9058346f461ad360019777feca89491afdd9
SHA512 (gcc-11.0.0-20210109.tar.xz) = eb3864cf6fef07077175fec2f1ce0b67e678da70a85ce09888f78d1587e7b4c94c398a19aa4a77c32ffdebc34e877ce28deb881c3545521f22c6b158c3087d5d
SHA512 (newlib-cygwin-50e2a63b04bdd018484605fbb954fd1bd5147fa0.tar.xz) = 002a48a7b689a81abbf16161bcaec001a842e67dfbe372e9e109092703bfc666675f16198f60ca429370e8850d564547dc505df81bc3aaca4ce6defbc014ad6c
SHA512 (nvptx-tools-5f6f343a302d620b0868edab376c00b15741e39e.tar.xz) = f6d10db94fa1570ae0f94df073fa3c73c8e5ee16d59070b53d94f7db0de8a031bc44d7f3f1852533da04b625ce758e022263855ed43cfc6867e0708d001e53c7