public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/gcc] rhel-f41-base: 12.0.1-0.7
@ 2026-06-29 12:29 Jakub Jelinek
0 siblings, 0 replies; only message in thread
From: Jakub Jelinek @ 2026-06-29 12:29 UTC (permalink / raw)
To: git-commits
A new commit has been pushed.
Repo : rpms/gcc
Branch : rhel-f41-base
Commit : f58fc62400f4681345eeafc53d0149eeff774e54
Author : Jakub Jelinek <jakub@redhat.com>
Date : 2022-02-12T19:36:08+01:00
Stats : +178/-16 in 5 file(s)
URL : https://src.fedoraproject.org/rpms/gcc/c/f58fc62400f4681345eeafc53d0149eeff774e54?branch=rhel-f41-base
Log:
12.0.1-0.7
---
diff --git a/.gitignore b/.gitignore
index c53c35a..b81e2a3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -62,3 +62,4 @@
/gcc-12.0.1-20220129.tar.xz
/gcc-12.0.1-20220202.tar.xz
/gcc-12.0.1-20220205.tar.xz
+/gcc-12.0.1-20220212.tar.xz
diff --git a/gcc.spec b/gcc.spec
index 3695272..c4a52ba 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,5 +1,5 @@
-%global DATE 20220205
-%global gitrev 76de92944e8628662e44eab3065caad0a3c0e032
+%global DATE 20220212
+%global gitrev dfda32cd0cba98db0f084f7d4ded68140e925e41
%global gcc_version 12.0.1
%global gcc_major 12
# Note, gcc_release must be integer, if you want to add suffixes to
@@ -120,7 +120,7 @@
Summary: Various compilers (C, C++, Objective-C, ...)
Name: gcc
Version: %{gcc_version}
-Release: %{gcc_release}.6%{?dist}
+Release: %{gcc_release}.7%{?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
@@ -304,7 +304,7 @@ Patch109: gcc12-fortran-fdec-add-missing-indexes.patch
%if %{build_go}
# Avoid stripping these libraries and binaries.
%global __os_install_post \
-chmod 644 %{buildroot}%{_prefix}/%{_lib}/libgo.so.20.* \
+chmod 644 %{buildroot}%{_prefix}/%{_lib}/libgo.so.21.* \
chmod 644 %{buildroot}%{_prefix}/bin/go.gcc \
chmod 644 %{buildroot}%{_prefix}/bin/gofmt.gcc \
chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cgo \
@@ -312,7 +312,7 @@ chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/test2json \
chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/vet \
%__os_install_post \
-chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgo.so.20.* \
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgo.so.21.* \
chmod 755 %{buildroot}%{_prefix}/bin/go.gcc \
chmod 755 %{buildroot}%{_prefix}/bin/gofmt.gcc \
chmod 755 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cgo \
@@ -1464,7 +1464,7 @@ ln -sf ../../../libstdc++.so.6.*[0-9] libstdc++.so
ln -sf ../../../libgfortran.so.5.* libgfortran.so
ln -sf ../../../libgomp.so.1.* libgomp.so
%if %{build_go}
-ln -sf ../../../libgo.so.20.* libgo.so
+ln -sf ../../../libgo.so.21.* libgo.so
%endif
%if %{build_libquadmath}
ln -sf ../../../libquadmath.so.0.* libquadmath.so
@@ -1494,7 +1494,7 @@ ln -sf ../../../../%{_lib}/libstdc++.so.6.*[0-9] libstdc++.so
ln -sf ../../../../%{_lib}/libgfortran.so.5.* libgfortran.so
ln -sf ../../../../%{_lib}/libgomp.so.1.* libgomp.so
%if %{build_go}
-ln -sf ../../../../%{_lib}/libgo.so.20.* libgo.so
+ln -sf ../../../../%{_lib}/libgo.so.21.* libgo.so
%endif
%if %{build_libquadmath}
ln -sf ../../../../%{_lib}/libquadmath.so.0.* libquadmath.so
@@ -1615,8 +1615,8 @@ ln -sf ../`echo ../../../../lib/libgfortran.so.5.* | sed s~/lib/~/lib64/~` 64/li
ln -sf ../`echo ../../../../lib/libgomp.so.1.* | sed s~/lib/~/lib64/~` 64/libgomp.so
%if %{build_go}
rm -f libgo.so
-echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libgo.so.20.* | sed 's,^.*libg,libg,'`' )' > libgo.so
-echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libgo.so.20.* | sed 's,^.*libg,libg,'`' )' > 64/libgo.so
+echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libgo.so.21.* | sed 's,^.*libg,libg,'`' )' > libgo.so
+echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libgo.so.21.* | sed 's,^.*libg,libg,'`' )' > 64/libgo.so
%endif
%if %{build_libquadmath}
rm -f libquadmath.so
@@ -1716,8 +1716,8 @@ ln -sf ../`echo ../../../../lib64/libgfortran.so.5.* | sed s~/../lib64/~/~` 32/l
ln -sf ../`echo ../../../../lib64/libgomp.so.1.* | sed s~/../lib64/~/~` 32/libgomp.so
%if %{build_go}
rm -f libgo.so
-echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libgo.so.20.* | sed 's,^.*libg,libg,'`' )' > libgo.so
-echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libgo.so.20.* | sed 's,^.*libg,libg,'`' )' > 32/libgo.so
+echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libgo.so.21.* | sed 's,^.*libg,libg,'`' )' > libgo.so
+echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libgo.so.21.* | sed 's,^.*libg,libg,'`' )' > 32/libgo.so
%endif
%if %{build_libquadmath}
rm -f libquadmath.so
@@ -1907,7 +1907,7 @@ chmod 755 %{buildroot}%{_prefix}/%{_lib}/liblsan.so.0.*
%endif
%if %{build_go}
# Avoid stripping these libraries and binaries.
-chmod 644 %{buildroot}%{_prefix}/%{_lib}/libgo.so.20.*
+chmod 644 %{buildroot}%{_prefix}/%{_lib}/libgo.so.21.*
chmod 644 %{buildroot}%{_prefix}/bin/go.gcc
chmod 644 %{buildroot}%{_prefix}/bin/gofmt.gcc
chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cgo
@@ -3059,7 +3059,7 @@ end
%doc rpm.doc/go/*
%files -n libgo
-%attr(755,root,root) %{_prefix}/%{_lib}/libgo.so.20*
+%attr(755,root,root) %{_prefix}/%{_lib}/libgo.so.21*
%doc rpm.doc/libgo/*
%files -n libgo-devel
@@ -3167,6 +3167,31 @@ end
%endif
%changelog
+* Sat Feb 12 2022 Jakub Jelinek <jakub@redhat.com> 12.0.1-0.7
+- update from trunk
+ - PRs analyzer/98797, analyzer/101081, analyzer/102052, analyzer/103872,
+ analyzer/104274, analyzer/104417, analyzer/104452, c++/80951,
+ c++/96242, c++/96876, c++/102204, c++/103706, c++/103752, c++/104033,
+ c++/104379, c++/104403, c++/104410, c++/104425, c++/104432,
+ c++/104472, c/104427, debug/104407, fortran/66193, fortran/104329,
+ libgomp/104385, libstdc++/104442, middle-end/100775,
+ middle-end/104402, middle-end/104446, middle-end/104450,
+ middle-end/104464, middle-end/104467, middle-end/104496,
+ rtl-optimization/104059, rtl-optimization/104153,
+ rtl-optimization/104198, rtl-optimization/104400,
+ rtl-optimization/104459, sanitizer/104449, target/35513, target/79754,
+ target/97005, target/97040, target/100593, target/102140,
+ target/103627, target/104117, target/104283, target/104327,
+ target/104345, target/104364, target/104441, target/104451,
+ target/104453, target/104456, target/104458, target/104462,
+ target/104469, target/104474, target/104502, testsuite/104481,
+ tree-optimization/102832, tree-optimization/104288,
+ tree-optimization/104373, tree-optimization/104420,
+ tree-optimization/104445, tree-optimization/104466,
+ 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
- update from trunk
- PRs analyzer/104369, c++/92385, c++/104079, c++/104300, c++/104302,
diff --git a/gcc12-ifcvt-revert.patch b/gcc12-ifcvt-revert.patch
index 2261669..dd13271 100644
--- a/gcc12-ifcvt-revert.patch
+++ b/gcc12-ifcvt-revert.patch
@@ -1,6 +1,93 @@
-Revert r12-674{3,4,5,6,7,8,9}, as there are several PRs reported against
-those changes: PR104153, PR104154 and PR104198 at least.
+Revert r12-674{3,4,5,6,7,8,9} and r12-7114, as there are several PRs reported
+against those changes still unresolved.
+--- gcc/ifcvt.cc
++++ gcc/ifcvt.cc
+@@ -3391,11 +3391,7 @@ noce_convert_multiple_sets_1 (struct noce_if_info *if_info,
+ rtx cond = noce_get_condition (jump, &cond_earliest, false);
+
+ rtx cc_cmp = cond_exec_get_condition (jump);
+- if (cc_cmp)
+- cc_cmp = copy_rtx (cc_cmp);
+ rtx rev_cc_cmp = cond_exec_get_condition (jump, /* get_reversed */ true);
+- if (rev_cc_cmp)
+- rev_cc_cmp = copy_rtx (rev_cc_cmp);
+
+ rtx_insn *insn;
+ int count = 0;
+@@ -3519,7 +3515,6 @@ noce_convert_multiple_sets_1 (struct noce_if_info *if_info,
+ unsigned cost1 = 0, cost2 = 0;
+ rtx_insn *seq, *seq1, *seq2;
+ rtx temp_dest = NULL_RTX, temp_dest1 = NULL_RTX, temp_dest2 = NULL_RTX;
+- bool read_comparison = false;
+
+ seq1 = try_emit_cmove_seq (if_info, temp, cond,
+ new_val, old_val, need_cmov,
+@@ -3529,41 +3524,10 @@ noce_convert_multiple_sets_1 (struct noce_if_info *if_info,
+ as well. This allows the backend to emit a cmov directly without
+ creating an additional compare for each. If successful, costing
+ is easier and this sequence is usually preferred. */
+- seq2 = try_emit_cmove_seq (if_info, temp, cond,
++ seq2 = try_emit_cmove_seq (if_info, target, cond,
+ new_val, old_val, need_cmov,
+ &cost2, &temp_dest2, cc_cmp, rev_cc_cmp);
+
+- /* The backend might have created a sequence that uses the
+- condition. Check this. */
+- rtx_insn *walk = seq2;
+- while (walk)
+- {
+- rtx set = single_set (walk);
+-
+- if (!set || !SET_SRC (set))
+- {
+- walk = NEXT_INSN (walk);
+- continue;
+- }
+-
+- rtx src = SET_SRC (set);
+-
+- if (XEXP (set, 1) && GET_CODE (XEXP (set, 1)) == IF_THEN_ELSE)
+- ; /* We assume that this is the cmove created by the backend that
+- naturally uses the condition. Therefore we ignore it. */
+- else
+- {
+- if (reg_mentioned_p (XEXP (cond, 0), src)
+- || reg_mentioned_p (XEXP (cond, 1), src))
+- {
+- read_comparison = true;
+- break;
+- }
+- }
+-
+- walk = NEXT_INSN (walk);
+- }
+-
+ /* Check which version is less expensive. */
+ if (seq1 != NULL_RTX && (cost1 <= cost2 || seq2 == NULL_RTX))
+ {
+@@ -3576,8 +3540,6 @@ noce_convert_multiple_sets_1 (struct noce_if_info *if_info,
+ {
+ seq = seq2;
+ temp_dest = temp_dest2;
+- if (!second_try && read_comparison)
+- *last_needs_comparison = count;
+ }
+ else
+ {
+@@ -3596,12 +3558,6 @@ noce_convert_multiple_sets_1 (struct noce_if_info *if_info,
+ unmodified_insns->safe_push (insn);
+ }
+
+- /* Even if we did not actually need the comparison, we want to make sure
+- to try a second time in order to get rid of the temporaries. */
+- if (*last_needs_comparison == -1)
+- *last_needs_comparison = 0;
+-
+-
+ return true;
+ }
+
--- gcc/config/rs6000/rs6000.cc
+++ gcc/config/rs6000/rs6000.cc
@@ -16373,10 +16373,10 @@ rs6000_emit_minmax (rtx dest, enum rtx_code code, rtx op0, rtx op1)
diff --git a/gcc12-pr104513.patch b/gcc12-pr104513.patch
new file mode 100644
index 0000000..cc6bb08
--- /dev/null
+++ b/gcc12-pr104513.patch
@@ -0,0 +1,49 @@
+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;
diff --git a/sources b/sources
index 09baf06..c25ccb6 100644
--- a/sources
+++ b/sources
@@ -1,4 +1,4 @@
-SHA512 (gcc-12.0.1-20220205.tar.xz) = fdfcf57df5df9ec765c2017a76bfad1d1f02124f5e51078232c841cdb02848db3a55c3adf6f303e7545617b3df5a0ed84d9eee89f6e9b3fd1db27297736e44be
+SHA512 (gcc-12.0.1-20220212.tar.xz) = c2d95f912ad841ca93a811dda9598ab535dee0001b58de369c4220a2da2b2f648b75b6b0783382db05c7ea7df71e4f7909e28d7b0dda7c0547ca6d02050e6a5a
SHA512 (isl-0.18.tar.bz2) = 85d0b40f4dbf14cb99d17aa07048cdcab2dc3eb527d2fbb1e84c41b2de5f351025370e57448b63b2b8a8cf8a0843a089c3263f9baee1542d5c2e1cb37ed39d94
SHA512 (newlib-cygwin-50e2a63b04bdd018484605fbb954fd1bd5147fa0.tar.xz) = 002a48a7b689a81abbf16161bcaec001a842e67dfbe372e9e109092703bfc666675f16198f60ca429370e8850d564547dc505df81bc3aaca4ce6defbc014ad6c
SHA512 (nvptx-tools-5f6f343a302d620b0868edab376c00b15741e39e.tar.xz) = f6d10db94fa1570ae0f94df073fa3c73c8e5ee16d59070b53d94f7db0de8a031bc44d7f3f1852533da04b625ce758e022263855ed43cfc6867e0708d001e53c7
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-06-29 12:29 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-29 12:29 [rpms/gcc] rhel-f41-base: 12.0.1-0.7 Jakub Jelinek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox