public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Jakub Jelinek <jakub@redhat.com>
To: git-commits@fedoraproject.org
Subject: [rpms/gcc] rhel-f41-base: 4.7.2-7
Date: Mon, 29 Jun 2026 12:25:35 GMT [thread overview]
Message-ID: <178273593585.1.1565031444966774050.rpms-gcc-747298b14924@fedoraproject.org> (raw)
A new commit has been pushed.
Repo : rpms/gcc
Branch : rhel-f41-base
Commit : 747298b1492470868256ab72bcdf217e4ade8e1f
Author : Jakub Jelinek <jakub@redhat.com>
Date : 2012-11-05T17:21:03+01:00
Stats : +197/-4 in 4 file(s)
URL : https://src.fedoraproject.org/rpms/gcc/c/747298b1492470868256ab72bcdf217e4ade8e1f?branch=rhel-f41-base
Log:
4.7.2-7
---
diff --git a/.gitignore b/.gitignore
index 4038c66..83b4ef6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -45,3 +45,4 @@
/gcc-4.7.2-20121001.tar.bz2
/gcc-4.7.2-20121009.tar.bz2
/gcc-4.7.2-20121015.tar.bz2
+/gcc-4.7.2-20121105.tar.bz2
diff --git a/gcc.spec b/gcc.spec
index d3646b3..302c6d0 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,9 +1,9 @@
-%global DATE 20121015
-%global SVNREV 192447
+%global DATE 20121105
+%global SVNREV 193167
%global gcc_version 4.7.2
# 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 6
+%global gcc_release 7
%global _unpackaged_files_terminate_build 0
%global multilib_64_archs sparc64 ppc64 s390x x86_64
%ifarch %{ix86} x86_64 ia64 ppc ppc64 alpha
@@ -185,6 +185,7 @@ Patch14: gcc47-ppl-0.10.patch
Patch15: gcc47-libitm-fno-exceptions.patch
Patch16: gcc47-rh837630.patch
Patch17: gcc47-arm-hfp-ldso.patch
+Patch18: gcc47-c++-new-check-opt.patch
Patch1000: fastjar-0.97-segfault.patch
Patch1001: fastjar-0.97-len1.patch
@@ -689,6 +690,7 @@ package or when debugging this package.
%if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
%patch17 -p0 -b .arm-hfp-ldso~
%endif
+%patch18 -p0 -b .c++-new-check-opt~
%if 0%{?_enable_debug_packages}
cat > split-debuginfo.sh <<\EOF
@@ -2662,6 +2664,20 @@ fi
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/plugin
%changelog
+* Mon Nov 5 2012 Jakub Jelinek <jakub@redhat.com> 4.7.2-7
+- update from the 4.7 branch
+ - PRs c++/54984, c++/54988, debug/54828, libstdc++/55047, libstdc++/55123,
+ libstdc++/55169, middle-end/54945, rtl-optimization/53701,
+ rtl-optimization/54870, target/53975, target/54892, target/55019,
+ target/55175, tree-optimization/53708, tree-optimization/54146,
+ tree-optimization/54877, tree-optimization/54902,
+ tree-optimization/54920, tree-optimization/54985
+- backported s390{,x} zEC12 enablement (#805114)
+- backport of selected debug info quality improvements
+ - PRs debug/54402, debug/54693, debug/54953, debug/54970, debug/54971
+- optimize away overflow checking for new char[n]; and similar cases
+ where n is multiplied by 1
+
* Mon Oct 15 2012 Jon Ciesla <limburgher@gmail.com> 4.7.2-6
- Provides: bundled(libiberty)
diff --git a/gcc47-c++-new-check-opt.patch b/gcc47-c++-new-check-opt.patch
new file mode 100644
index 0000000..9454141
--- /dev/null
+++ b/gcc47-c++-new-check-opt.patch
@@ -0,0 +1,176 @@
+2012-10-31 Florian Weimer <fweimer@redhat.com>
+
+ * init.c (build_new_1): Do not check for arithmetic overflow if
+ inner array size is 1.
+
+ * g++.dg/init/new40.C: New.
+
+--- gcc/cp/init.c (revision 193033)
++++ gcc/cp/init.c (working copy)
+@@ -2176,6 +2176,8 @@ build_new_1 (VEC(tree,gc) **placement, t
+ double_int inner_nelts_count = double_int_one;
+ tree inner_nelts = NULL_TREE;
+ tree alloc_call, alloc_expr;
++ /* Size of the inner array elements. */
++ double_int inner_size;
+ /* The address returned by the call to "operator new". This node is
+ a VAR_DECL and is therefore reusable. */
+ tree alloc_node;
+@@ -2318,8 +2320,6 @@ build_new_1 (VEC(tree,gc) **placement, t
+ double_int max_size
+ = double_int_lshift (double_int_one, TYPE_PRECISION (sizetype) - 1,
+ HOST_BITS_PER_DOUBLE_INT, false);
+- /* Size of the inner array elements. */
+- double_int inner_size;
+ /* Maximum number of outer elements which can be allocated. */
+ double_int max_outer_nelts;
+ tree max_outer_nelts_tree;
+@@ -2438,7 +2438,15 @@ build_new_1 (VEC(tree,gc) **placement, t
+ if (array_p && TYPE_VEC_NEW_USES_COOKIE (elt_type))
+ size = size_binop (PLUS_EXPR, size, cookie_size);
+ else
+- cookie_size = NULL_TREE;
++ {
++ cookie_size = NULL_TREE;
++ /* No size arithmetic necessary, so the size check is
++ not needed. */
++ if (outer_nelts_check != NULL
++ && double_int_one_p (inner_size)
++ && inner_nelts == NULL_TREE)
++ outer_nelts_check = NULL_TREE;
++ }
+ /* Perform the overflow check. */
+ if (outer_nelts_check != NULL_TREE)
+ size = fold_build3 (COND_EXPR, sizetype, outer_nelts_check,
+@@ -2474,7 +2482,15 @@ build_new_1 (VEC(tree,gc) **placement, t
+ /* Use a global operator new. */
+ /* See if a cookie might be required. */
+ if (!(array_p && TYPE_VEC_NEW_USES_COOKIE (elt_type)))
+- cookie_size = NULL_TREE;
++ {
++ cookie_size = NULL_TREE;
++ /* No size arithmetic necessary, so the size check is
++ not needed. */
++ if (outer_nelts_check != NULL
++ && double_int_one_p (inner_size)
++ && inner_nelts == NULL_TREE)
++ outer_nelts_check = NULL_TREE;
++ }
+
+ alloc_call = build_operator_new_call (fnname, placement,
+ &size, &cookie_size,
+--- gcc/testsuite/g++.dg/init/new40.C (revision 0)
++++ gcc/testsuite/g++.dg/init/new40.C (working copy)
+@@ -0,0 +1,112 @@
++// Testcase for overflow handling in operator new[].
++// Optimization of unnecessary overflow checks.
++// { dg-do run }
++
++#include <assert.h>
++#include <stdlib.h>
++#include <stdexcept>
++
++static size_t magic_allocation_size
++ = 1 + (size_t (1) << (sizeof (size_t) * 8 - 1));
++
++struct exc : std::bad_alloc {
++};
++
++static size_t expected_size;
++
++struct pod_with_new {
++ char ch;
++ void *operator new[] (size_t sz)
++ {
++ if (sz != expected_size)
++ abort ();
++ throw exc ();
++ }
++};
++
++struct with_new {
++ char ch;
++ with_new () { }
++ ~with_new () { }
++ void *operator new[] (size_t sz)
++ {
++ if (sz != size_t (-1))
++ abort ();
++ throw exc ();
++ }
++};
++
++struct non_pod {
++ char ch;
++ non_pod () { }
++ ~non_pod () { }
++};
++
++void *
++operator new (size_t sz) _GLIBCXX_THROW (std::bad_alloc)
++{
++ if (sz != expected_size)
++ abort ();
++ throw exc ();
++}
++
++int
++main ()
++{
++ if (sizeof (pod_with_new) == 1)
++ expected_size = magic_allocation_size;
++ else
++ expected_size = -1;
++
++ try {
++ new pod_with_new[magic_allocation_size];
++ abort ();
++ } catch (exc &) {
++ }
++
++ if (sizeof (with_new) == 1)
++ expected_size = magic_allocation_size;
++ else
++ expected_size = -1;
++
++ try {
++ new with_new[magic_allocation_size];
++ abort ();
++ } catch (exc &) {
++ }
++
++ expected_size = magic_allocation_size;
++ try {
++ new char[magic_allocation_size];
++ abort ();
++ } catch (exc &) {
++ }
++
++ expected_size = -1;
++
++ try {
++ new pod_with_new[magic_allocation_size][2];
++ abort ();
++ } catch (exc &) {
++ }
++
++ try {
++ new with_new[magic_allocation_size][2];
++ abort ();
++ } catch (exc &) {
++ }
++
++ try {
++ new char[magic_allocation_size][2];
++ abort ();
++ } catch (exc &) {
++ }
++
++ try {
++ new non_pod[magic_allocation_size];
++ abort ();
++ } catch (exc &) {
++ }
++
++ return 0;
++}
diff --git a/sources b/sources
index f92fea9..7684c64 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
2659f09c2e43ef8b7d4406321753f1b2 fastjar-0.97.tar.gz
-2891991f350ae9f513b8070beab43611 gcc-4.7.2-20121015.tar.bz2
+2dfb5b278c94d6859782bbf649f0b8e7 gcc-4.7.2-20121105.tar.bz2
next reply other threads:[~2026-06-29 12:25 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-29 12:25 Jakub Jelinek [this message]
2026-06-29 12:25 [rpms/gcc] rhel-f41-base: 4.7.2-7 Jakub Jelinek
2026-06-29 12:25 Jakub Jelinek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=178273593585.1.1565031444966774050.rpms-gcc-747298b14924@fedoraproject.org \
--to=jakub@redhat.com \
--cc=git-commits@fedoraproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox