12.0.1-0.8

This commit is contained in:
Jakub Jelinek 2022-02-14 19:38:05 +01:00
parent f58fc62400
commit 9743a6a9b0
4 changed files with 12 additions and 55 deletions

1
.gitignore vendored
View File

@ -63,3 +63,4 @@
/gcc-12.0.1-20220202.tar.xz /gcc-12.0.1-20220202.tar.xz
/gcc-12.0.1-20220205.tar.xz /gcc-12.0.1-20220205.tar.xz
/gcc-12.0.1-20220212.tar.xz /gcc-12.0.1-20220212.tar.xz
/gcc-12.0.1-20220214.tar.xz

View File

@ -1,5 +1,5 @@
%global DATE 20220212 %global DATE 20220214
%global gitrev dfda32cd0cba98db0f084f7d4ded68140e925e41 %global gitrev 7222fb983d798306a83666324a92fce5e5881eb7
%global gcc_version 12.0.1 %global gcc_version 12.0.1
%global gcc_major 12 %global gcc_major 12
# Note, gcc_release must be integer, if you want to add suffixes to # Note, gcc_release must be integer, if you want to add suffixes to
@ -120,7 +120,7 @@
Summary: Various compilers (C, C++, Objective-C, ...) Summary: Various compilers (C, C++, Objective-C, ...)
Name: gcc Name: gcc
Version: %{gcc_version} Version: %{gcc_version}
Release: %{gcc_release}.7%{?dist} Release: %{gcc_release}.8%{?dist}
# libgcc, libgfortran, libgomp, libstdc++ and crtstuff have # libgcc, libgfortran, libgomp, libstdc++ and crtstuff have
# GCC Runtime Exception. # GCC Runtime Exception.
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD
@ -3167,6 +3167,13 @@ end
%endif %endif
%changelog %changelog
* Mon Feb 14 2022 Jakub Jelinek <jakub@redhat.com> 12.0.1-0.8
- update from trunk
- PRs ada/97504, ada/98724, c/104505, fortran/104228, libstdc++/100912,
middle-end/104497, tree-optimization/104511, tree-optimization/104528
- fix handling of return in arm constexpr ctors and on all arches return in
constexpr dtors (PR c++/104513)
* Sat Feb 12 2022 Jakub Jelinek <jakub@redhat.com> 12.0.1-0.7 * Sat Feb 12 2022 Jakub Jelinek <jakub@redhat.com> 12.0.1-0.7
- update from trunk - update from trunk
- PRs analyzer/98797, analyzer/101081, analyzer/102052, analyzer/103872, - PRs analyzer/98797, analyzer/101081, analyzer/102052, analyzer/103872,
@ -3189,8 +3196,6 @@ end
tree-optimization/104373, tree-optimization/104420, tree-optimization/104373, tree-optimization/104420,
tree-optimization/104445, tree-optimization/104466, tree-optimization/104445, tree-optimization/104466,
tree-optimization/104479, tree-optimization/104499 tree-optimization/104479, tree-optimization/104499
- fix handling of return in arm constexpr ctors and on all arches return in
constexpr dtors (PR c++/104513)
* Sat Feb 5 2022 Jakub Jelinek <jakub@redhat.com> 12.0.1-0.6 * Sat Feb 5 2022 Jakub Jelinek <jakub@redhat.com> 12.0.1-0.6
- update from trunk - update from trunk

View File

@ -1,49 +0,0 @@
2022-02-12 Jakub Jelinek <jakub@redhat.com>
PR c++/104513
* constexpr.cc (potential_constant_expression_1) <case GOTO_EXPR>:
Don't punt if returns (target).
* g++.dg/cpp1y/constexpr-104513.C: New test.
* g++.dg/cpp2a/constexpr-dtor12.C: New test.
--- gcc/cp/constexpr.cc.jj 2022-02-11 13:52:32.697425776 +0100
+++ gcc/cp/constexpr.cc 2022-02-12 13:51:21.000274390 +0100
@@ -9364,7 +9364,7 @@ potential_constant_expression_1 (tree t,
{
tree *target = &TREE_OPERAND (t, 0);
/* Gotos representing break and continue are OK. */
- if (breaks (target) || continues (target))
+ if (breaks (target) || continues (target) || returns (target))
{
*jump_target = *target;
return true;
--- gcc/testsuite/g++.dg/cpp1y/constexpr-104513.C.jj 2022-02-12 19:05:14.374101202 +0100
+++ gcc/testsuite/g++.dg/cpp1y/constexpr-104513.C 2022-02-12 19:06:09.745332658 +0100
@@ -0,0 +1,10 @@
+// PR c++/104513
+// { dg-do compile { target c++14 } }
+
+struct A {
+ int a1;
+ short a2, a3;
+ long a4;
+ constexpr A() : a1(42), a2(42), a3(42), a4(42) { return; }
+};
+constexpr A a;
--- gcc/testsuite/g++.dg/cpp2a/constexpr-dtor12.C.jj 2022-02-12 19:04:41.610555957 +0100
+++ gcc/testsuite/g++.dg/cpp2a/constexpr-dtor12.C 2022-02-12 19:04:18.473877087 +0100
@@ -0,0 +1,13 @@
+// PR c++/104513
+// { dg-do compile { target c++20 } }
+
+struct S {
+ constexpr S () : s (nullptr) {}
+ constexpr ~S () { delete s; }
+ int *s;
+};
+struct T : S {
+ constexpr T () : S () {}
+ constexpr ~T () { s = new int (42); return; }
+};
+constexpr T t;

View File

@ -1,4 +1,4 @@
SHA512 (gcc-12.0.1-20220212.tar.xz) = c2d95f912ad841ca93a811dda9598ab535dee0001b58de369c4220a2da2b2f648b75b6b0783382db05c7ea7df71e4f7909e28d7b0dda7c0547ca6d02050e6a5a SHA512 (gcc-12.0.1-20220214.tar.xz) = a6f590b9facf2c80ec73d41ccd5bcd404722b76f7ff06d82f30b8b956349df4efa049b72285be1a76da52e851ef327b8fe42d05ea7e62149b2a4236611a8355f
SHA512 (isl-0.18.tar.bz2) = 85d0b40f4dbf14cb99d17aa07048cdcab2dc3eb527d2fbb1e84c41b2de5f351025370e57448b63b2b8a8cf8a0843a089c3263f9baee1542d5c2e1cb37ed39d94 SHA512 (isl-0.18.tar.bz2) = 85d0b40f4dbf14cb99d17aa07048cdcab2dc3eb527d2fbb1e84c41b2de5f351025370e57448b63b2b8a8cf8a0843a089c3263f9baee1542d5c2e1cb37ed39d94
SHA512 (newlib-cygwin-50e2a63b04bdd018484605fbb954fd1bd5147fa0.tar.xz) = 002a48a7b689a81abbf16161bcaec001a842e67dfbe372e9e109092703bfc666675f16198f60ca429370e8850d564547dc505df81bc3aaca4ce6defbc014ad6c SHA512 (newlib-cygwin-50e2a63b04bdd018484605fbb954fd1bd5147fa0.tar.xz) = 002a48a7b689a81abbf16161bcaec001a842e67dfbe372e9e109092703bfc666675f16198f60ca429370e8850d564547dc505df81bc3aaca4ce6defbc014ad6c
SHA512 (nvptx-tools-5f6f343a302d620b0868edab376c00b15741e39e.tar.xz) = f6d10db94fa1570ae0f94df073fa3c73c8e5ee16d59070b53d94f7db0de8a031bc44d7f3f1852533da04b625ce758e022263855ed43cfc6867e0708d001e53c7 SHA512 (nvptx-tools-5f6f343a302d620b0868edab376c00b15741e39e.tar.xz) = f6d10db94fa1570ae0f94df073fa3c73c8e5ee16d59070b53d94f7db0de8a031bc44d7f3f1852533da04b625ce758e022263855ed43cfc6867e0708d001e53c7