diff --git a/.gitignore b/.gitignore index add1368..2ec5a75 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/gcc.spec b/gcc.spec index 8b6400d..04470c6 100644 --- a/gcc.spec +++ b/gcc.spec @@ -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 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 11.0.0-0.11 - update from trunk - PRs bootstrap/98300, bootstrap/98380, bootstrap/98412, c++/67343, diff --git a/gcc11-pr98282.patch b/gcc11-pr98282.patch deleted file mode 100644 index 4187c5f..0000000 --- a/gcc11-pr98282.patch +++ /dev/null @@ -1,118 +0,0 @@ -2020-12-15 Jakub Jelinek - - 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 struct g; -+template struct g { typedef b c; }; -+template typename g::c &&d(b &&e) { -+ return static_cast::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 void operator=(ah); -+}; -+struct I { -+ template void q(o ai) { -+ *ai = aj(); -+ s::m(); -+ } -+ h aj(); -+}; -+template class as; -+struct J { -+ int a; -+ char av; -+}; -+template struct aw : J { -+ void ax(...) {} -+}; -+template -+struct aw, an, n...> : aw, n...> { -+ using az = as; -+ using ba = aw; -+ char bb; -+ an &bc() { return *reinterpret_cast(this); } -+ void ax(az *bd) { -+ if (bb) -+ new (bd) an(d(bc())); -+ ba::ax(bd); -+ } -+}; -+template struct as : aw, n...> { -+ as(); -+ as(as &&be) { be.ax(this); } -+ void operator=(as be) { be.ax(this); } -+}; -+struct h { -+ as bg; -+}; -+using bh = t; -+struct u { -+ bh bj; -+}; -+I bk(); -+template void bl() { -+ h a; -+ bk().q(&a); -+} -+template void bn(int) { -+ u b; -+ b.bj = bl; -+} -+void bp() { bn(0); } diff --git a/sources b/sources index 7997ecd..40a9915 100644 --- a/sources +++ b/sources @@ -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