commit:     d5c81cf2dca3d0628303e13643366dddc07a9386
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 27 14:42:23 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Mar 27 14:42:28 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d5c81cf2

sys-devel/gcc: drop old 15 snapshots

Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-devel/gcc/Manifest                             |   4 -
 ...250223-c-Fix-range-for-with-PMFs-PR118923.patch | 231 ---------------------
 .../files/gcc-15.0.1_pre20250302-firefox-ice.patch |  99 ---------
 .../gcc-15.0.1_pre20250302-firefox-pgo-ice.patch   |  58 ------
 sys-devel/gcc/gcc-15.0.1_pre20250309.ebuild        |  52 -----
 sys-devel/gcc/gcc-15.0.1_pre20250316.ebuild        |  52 -----
 sys-devel/gcc/gcc-15.0.1_pre20250323.ebuild        |  52 -----
 7 files changed, 548 deletions(-)

diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index c0c578edcb0a..a6309cc2cfb0 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -24,12 +24,8 @@ DIST gcc-14-20250322.tar.xz 88221060 BLAKE2B 
c8ec3dcbaaed1ee9a8d35f866a21879192a
 DIST gcc-14.1.0-musl-patches-1.tar.xz 3600 BLAKE2B 
4cd920b7ca1f122cae806707564d8e45bfd48e78c88788a12a301f6068b5a5f335d8885e67479ac536c66aeaa81f2ecb7240ae56e9fc821a7246ab66b453711f
 SHA512 
61c48d90a55dfc2129d96aee69d939d6a89f6407f69f7bd12c1a619f28989f471fd219d731958f8e62b0fd650c32300f0ad8dc06d5df23d9fc8c1a77fe210c25
 DIST gcc-14.2.0-patches-7.tar.xz 14244 BLAKE2B 
11236e91e1fe83fec8ffaa40ec0cdd4b52a00a951e9aa9a7a0a932b234b8f1a9603333a7ccf55859f4ef53dd4d8ad1fd5c1d2514b6e45fce5b86bb58622a0ecc
 SHA512 
5a4d86d943e31fa068b5a784c0132bd83c23243dcb3cf972557a42e004469a415e1b3185f31b1bb36f916594d475f266a2fda031a414e4a15e0bbfe471269eee
 DIST gcc-14.2.0-patches-8.tar.xz 14540 BLAKE2B 
09f66035343d4cab694b8ab382170f8e2d546ddffedf3477f26edbd6a798ddf94294f569c2661729d40088d590bc17a4eb651710d8d9f66f33703734a1a82b67
 SHA512 
7a9a2724ef8db3c57b033d90751192969c16e5eaa8f4777b7f16470222ff3a18771b461bd89feaad701e7f0d573b883b487981588129933c732fb76117728b86
-DIST gcc-15-20250309.tar.xz 90853908 BLAKE2B 
403b9b3a2eb1ed5d23558eff000784b8b6345c419b9050d68e38343a30ceb58c7ddaebb44c345668c98e19f66c1dd1edcc22a3a911754cb85f8fbfc6559ba3f1
 SHA512 
b20760997cf8111429524ca1400e1a23c328e303a8b4652cd859dcc3dc3e2dd11c72cf9e1b744c88374ebdb9fbb90f217ffe892eca24e581b781e2741b177d04
-DIST gcc-15-20250316.tar.xz 91424124 BLAKE2B 
4a33b98d04961a8dd2bdc2890d0e1547902fc6bba63cea1b995bc82c6ef1b384a0843792961cd77162cae948808d41c2d5758f526371bbc501143c575e683a10
 SHA512 
5bd5a524b76a523a1979054bebc10ddbe3dce4c1f905b123dc8da983506c4cefb34cc035234845c021d4f7b3110dd5a8383da9c134af0bc54a154a0cdac8eea5
 DIST gcc-15-20250323.tar.xz 91685912 BLAKE2B 
cd56bfe95b80358cbc44ae27a15d297d60630495f452e5d8158f5dfb7be457cdbb144226ef3bc8bdac6eec7f9e20185240a7a4ddc229ab96b7a9ef5c502c308a
 SHA512 
45e44a9136c466ef1ace86129cc5e4629f4cbeefd896967ef9701711a09f806ac0505232f5eb840823aeaca82c8e6107b6cbb3ea7b912264402b4faf5cd19788
 DIST gcc-15.0.0-musl-patches-2.tar.xz 3076 BLAKE2B 
0073248fe4f7dd827980559017b5aa1fb5c4c46acc9ad5c410dc152fd1e44966d3066bf7152338573cb45b1c36027de5f0c519abd414d97a37bccef07f6a5281
 SHA512 
295f1a669020bbe2874e9b03afd46b5d083073b276fca3543f3767a2d74f35df81cf0a67abad50c200cf7a3af36ec98ff9977cb7d5c19f334af7d3bb1926a3de
-DIST gcc-15.0.0-patches-46.tar.xz 22212 BLAKE2B 
159b2693ded0b1dbddd271ca56d7f6db3569a8f79155521737b968ad131eee2730d3441dacef821b9dcd31b17ca0bf16a7b24001e7cb4ae1b36c55750184a3f6
 SHA512 
26d293ee368c75570e606949480feed18a69baad4687beaf2f50629bfc72d542bbce4b1cb6580fe7e578409a108891dc9762bb15c53b611434c83db5dd83d695
-DIST gcc-15.0.0-patches-47.tar.xz 16456 BLAKE2B 
c1b60eb5b0717f74ca528462e7cddfc6c2386cc122e8d0394152e974e092ae7c29bcfd96e7dbfde85aaa9194950dd867aef59fea17f1be1bb0f9f30eb192cd3f
 SHA512 
c2f74c561eaa5b158de44b251116a923f3e81e5c5b6126d7cb387211c83697813fc22695ae36d245844e3e0dd2a6076fd710fbbed39965a151209a34812ba752
 DIST gcc-15.0.0-patches-48.tar.xz 18120 BLAKE2B 
bfb1e7330c1c0499d2d0a0046506961cccaac1df8e5779f9de599e8b6d89e9014b512072159ed18fb58243e95716b79aaa0d7665e7742ceda117d40a867cf34f
 SHA512 
1cc61250e943e2cae543a5336fdc9ad04851186f8f45e4b82cb9be287a804374e84066cec0efd55662211107cecde92f78b6d3c745e421bc83b3d60101be9ebd
 DIST gcc-8.5.0-patches-4.tar.xz 18616 BLAKE2B 
7594cbaea5daecf1a0b3d526c06aeba0a84c6da66aee2e105a51fda6be8d30a37ccc3814281b284a4582d892a1d556bca063551584edfc2525bed8ea5b6888e7
 SHA512 
1aa5742c361186637e7855f06feb1a4547e7d4d5de6e51f3d049e0ef3c19e2eff179465f52781739f59422035b7f8e4c0efa3844849f920f3c96acfdc37ca6a6
 DIST gcc-8.5.0.tar.xz 63841008 BLAKE2B 
aa81a1a730fd7371360f6abed6ba78b5843fd18c58d5de5687acc320741b9e430e85df3535a1ef7a26051409be8d2f0945f503e5968480d919103123a99d4b12
 SHA512 
92f599680e6b7fbce88bcdda810f468777d541e5fddfbb287f7977d51093de2a5178bd0e6a08dfe37090ea10a0508a43ccd00220041abbbec33f1179bfc174d8

diff --git 
a/sys-devel/gcc/files/gcc-15.0.1_pre20250223-c-Fix-range-for-with-PMFs-PR118923.patch
 
b/sys-devel/gcc/files/gcc-15.0.1_pre20250223-c-Fix-range-for-with-PMFs-PR118923.patch
deleted file mode 100644
index 04cf198fb673..000000000000
--- 
a/sys-devel/gcc/files/gcc-15.0.1_pre20250223-c-Fix-range-for-with-PMFs-PR118923.patch
+++ /dev/null
@@ -1,231 +0,0 @@
-From a41b3f54c13890b1327bb3d4fbae8f7feb37d00b Mon Sep 17 00:00:00 2001
-Message-ID: 
<a41b3f54c13890b1327bb3d4fbae8f7feb37d00b.1740542521.git....@gentoo.org>
-From: Jakub Jelinek <[email protected]>
-Date: Tue, 25 Feb 2025 09:26:46 +0100
-Subject: [PATCH] c++: Fix range for with PMFs [PR118923]
-
-The following testcases segfault because the new range for 
-frange-for-ext-temps
-temporary extension extends even the internal TARGET_EXPRs created by
-get_member_function_from_ptrfunc.
-
-The following patch fixes that by using get_internal_target_expr for those
-instead of force_target_expr (similarly in cp_finish_decl and
-build_comparison_op) and using force_target_expr inside of
-get_internal_target_expr.
-
-2025-02-25  Jakub Jelinek  <[email protected]>
-
-       PR c++/118923
-       * tree.cc (get_internal_target_expr): Use force_target_expr
-       instead of build_target_expr_with_type.
-       * typeck.cc (get_member_function_from_ptrfunc): Use
-       get_internal_target_expr instead of force_target_expr.
-       * decl.cc (cp_finish_decl): Likewise.
-       * method.cc (build_comparison_op): Likewise.
-
-       * g++.dg/cpp0x/pr118923.C: New test.
-       * g++.dg/cpp1y/pr118923.C: New test.
----
- gcc/cp/decl.cc                        |  6 +--
- gcc/cp/method.cc                      |  2 +-
- gcc/cp/tree.cc                        |  3 +-
- gcc/cp/typeck.cc                      |  6 +--
- gcc/testsuite/g++.dg/cpp0x/pr118923.C | 66 +++++++++++++++++++++++++++
- gcc/testsuite/g++.dg/cpp1y/pr118923.C | 38 +++++++++++++++
- 6 files changed, 110 insertions(+), 11 deletions(-)
- create mode 100644 gcc/testsuite/g++.dg/cpp0x/pr118923.C
- create mode 100644 gcc/testsuite/g++.dg/cpp1y/pr118923.C
-
-diff --git a/gcc/cp/decl.cc b/gcc/cp/decl.cc
-index 05ad9bb24d59..936e48e907e2 100644
---- a/gcc/cp/decl.cc
-+++ b/gcc/cp/decl.cc
-@@ -9377,8 +9377,7 @@ cp_finish_decl (tree decl, tree init, bool 
init_const_expr_p,
-             tree guard = NULL_TREE;
-             if (cleanups || cleanup)
-               {
--                guard = force_target_expr (boolean_type_node,
--                                           boolean_false_node, tf_none);
-+                guard = get_internal_target_expr (boolean_false_node);
-                 add_stmt (guard);
-                 guard = TARGET_EXPR_SLOT (guard);
-               }
-@@ -9407,8 +9406,7 @@ cp_finish_decl (tree decl, tree init, bool 
init_const_expr_p,
-                    popped that all, so push those extra cleanups around
-                    the whole sequence with a guard variable.  */
-                 gcc_assert (TREE_CODE (sl) == STATEMENT_LIST);
--                guard = force_target_expr (integer_type_node,
--                                           integer_zero_node, tf_none);
-+                guard = get_internal_target_expr (integer_zero_node);
-                 add_stmt (guard);
-                 guard = TARGET_EXPR_SLOT (guard);
-                 for (unsigned i = 0; i < n_extra_cleanups; ++i)
-diff --git a/gcc/cp/method.cc b/gcc/cp/method.cc
-index 3914bbb1ef23..05c19cf0661e 100644
---- a/gcc/cp/method.cc
-+++ b/gcc/cp/method.cc
-@@ -1597,7 +1597,7 @@ build_comparison_op (tree fndecl, bool defining, 
tsubst_flags_t complain)
-             /* Some other array, will need runtime loop.  */
-             else
-               {
--                idx = force_target_expr (sizetype, maxval, complain);
-+                idx = get_internal_target_expr (maxval);
-                 loop_indexes = tree_cons (idx, NULL_TREE, loop_indexes);
-               }
-             expr_type = TREE_TYPE (expr_type);
-diff --git a/gcc/cp/tree.cc b/gcc/cp/tree.cc
-index 5628a576f01b..5863b6878f02 100644
---- a/gcc/cp/tree.cc
-+++ b/gcc/cp/tree.cc
-@@ -982,8 +982,7 @@ tree
- get_internal_target_expr (tree init)
- {
-   init = convert_bitfield_to_declared_type (init);
--  tree t = build_target_expr_with_type (init, TREE_TYPE (init),
--                                      tf_warning_or_error);
-+  tree t = force_target_expr (TREE_TYPE (init), init, tf_warning_or_error);
-   TARGET_EXPR_INTERNAL_P (t) = true;
-   return t;
- }
-diff --git a/gcc/cp/typeck.cc b/gcc/cp/typeck.cc
-index a9c32ff930d5..bbaca960bd7c 100644
---- a/gcc/cp/typeck.cc
-+++ b/gcc/cp/typeck.cc
-@@ -4219,16 +4219,14 @@ get_member_function_from_ptrfunc (tree 
*instance_ptrptr, tree function,
-             && !DECL_P (instance_ptr)
-             && !TREE_CONSTANT (instance_ptr)))
-       instance_ptr = instance_save_expr
--        = force_target_expr (TREE_TYPE (instance_ptr), instance_ptr,
--                             complain);
-+        = get_internal_target_expr (instance_ptr);
- 
-       /* See above comment.  */
-       if (TREE_SIDE_EFFECTS (function)
-         || (!nonvirtual
-             && !DECL_P (function)
-             && !TREE_CONSTANT (function)))
--      function
--        = force_target_expr (TREE_TYPE (function), function, complain);
-+      function = get_internal_target_expr (function);
- 
-       /* Start by extracting all the information from the PMF itself.  */
-       e3 = pfn_from_ptrmemfunc (function);
-diff --git a/gcc/testsuite/g++.dg/cpp0x/pr118923.C 
b/gcc/testsuite/g++.dg/cpp0x/pr118923.C
-new file mode 100644
-index 000000000000..55d3052b61f3
---- /dev/null
-+++ b/gcc/testsuite/g++.dg/cpp0x/pr118923.C
-@@ -0,0 +1,66 @@
-+// PR c++/118923
-+// { dg-do run { target c++11 } }
-+// { dg-additional-options "-frange-for-ext-temps" { target c++23 } }
-+// { dg-additional-options "-fno-range-for-ext-temps" { target c++20_down } }
-+
-+int g;
-+
-+struct A {
-+  int a[3];
-+  A (int x, int y, int z) : a{x, y, z} { if ((g++ & 7) != 4) __builtin_abort 
(); }
-+  A (const A &x) = delete;
-+  ~A () { if ((g++ & 7) != 7 - 2 * (__cpp_range_based_for >= 202211)) 
__builtin_abort (); }
-+  int *begin () { return a; }
-+  int *end () { return a + 3; }
-+};
-+
-+struct B {
-+  B () { if ((g++ & 7) != 3) __builtin_abort (); }
-+  B (const B &) = delete;
-+  ~B () { if ((g++ & 7) != 5 + (__cpp_range_based_for >= 202211)) 
__builtin_abort (); }
-+};
-+
-+struct C {
-+  A foo (const B &) { return { 1, 2, 3 }; }
-+  A bar (const B &) { return { 4, 5, 6 }; }
-+  bool baz () { return b; }
-+  bool b = false;
-+  static C c;
-+};
-+
-+C C::c;
-+
-+struct D {
-+  D () { if ((g++ & 5) != 0) __builtin_abort (); }
-+  D (const D &) = delete;
-+  ~D () { if ((g & 7) != 1 && (g & 7) != 6 + (__cpp_range_based_for >= 
202211)) __builtin_abort (); g++; }
-+};
-+
-+inline C *
-+qux (const D &)
-+{
-+  return &C::c;
-+}
-+
-+void 
-+foo ()
-+{
-+  int z = 1;
-+  auto d = qux (D {})->baz () ? &C::bar : &C::foo;
-+  for (const int &r : (qux (D {})->*d) (B {}))
-+    if (z++ != r)
-+      __builtin_abort ();
-+  C::c.b = true;
-+  d = qux (D {})->baz () ? &C::bar : &C::foo;
-+  for (const int &r : (qux (D {})->*d) (B {}))
-+    if (z++ != r)
-+      __builtin_abort ();
-+}
-+
-+int
-+main ()
-+{
-+  foo ();
-+  if (g != 16)
-+    __builtin_abort ();
-+}
-diff --git a/gcc/testsuite/g++.dg/cpp1y/pr118923.C 
b/gcc/testsuite/g++.dg/cpp1y/pr118923.C
-new file mode 100644
-index 000000000000..b375f47a7d0f
---- /dev/null
-+++ b/gcc/testsuite/g++.dg/cpp1y/pr118923.C
-@@ -0,0 +1,38 @@
-+// PR c++/118923
-+// { dg-do run { target c++14 } }
-+
-+struct A {
-+  int a[3] = { 0, 0, 0 };
-+  int *begin () { return a; }
-+  int *end () { return a + 3; }
-+};
-+
-+struct B {
-+  A foo () { return { 1, 2, 3 }; }
-+  A bar () { return { 1, 2, 3 }; }
-+  bool baz () { return b; }
-+  bool b = false;
-+  static B c;
-+};
-+
-+B B::c;
-+
-+inline B *
-+qux ()
-+{
-+  return &B::c;
-+}
-+
-+void 
-+foo ()
-+{
-+  auto d = qux ()->baz () ? &B::foo : &B::bar;
-+  for (const int &r : (qux ()->*d) ())
-+    ;
-+}
-+
-+int
-+main ()
-+{
-+  foo ();
-+}
--- 
-2.48.1
-

diff --git a/sys-devel/gcc/files/gcc-15.0.1_pre20250302-firefox-ice.patch 
b/sys-devel/gcc/files/gcc-15.0.1_pre20250302-firefox-ice.patch
deleted file mode 100644
index 6fbc91e926b1..000000000000
--- a/sys-devel/gcc/files/gcc-15.0.1_pre20250302-firefox-ice.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=f22e89167b3abfbf6d67f42fc4d689d8ffdc1810
-https://gcc.gnu.org/PR119067
-
-From f22e89167b3abfbf6d67f42fc4d689d8ffdc1810 Mon Sep 17 00:00:00 2001
-From: Richard Biener <[email protected]>
-Date: Mon, 3 Mar 2025 09:54:15 +0100
-Subject: [PATCH] ipa/119067 - bogus TYPE_PRECISION check on VECTOR_TYPE
-
-odr_types_equivalent_p can end up using TYPE_PRECISION on vector
-types which is a no-go.  The following instead uses TYPE_VECTOR_SUBPARTS
-for vector types so we also end up comparing the number of vector elements.
-
-       PR ipa/119067
-       * ipa-devirt.cc (odr_types_equivalent_p): Check
-       TYPE_VECTOR_SUBPARTS for vectors.
-
-       * g++.dg/lto/pr119067_0.C: New testcase.
-       * g++.dg/lto/pr119067_1.C: Likewise.
----
- gcc/ipa-devirt.cc                     | 10 +++++++++-
- gcc/testsuite/g++.dg/lto/pr119067_0.C | 22 ++++++++++++++++++++++
- gcc/testsuite/g++.dg/lto/pr119067_1.C | 10 ++++++++++
- 3 files changed, 41 insertions(+), 1 deletion(-)
- create mode 100644 gcc/testsuite/g++.dg/lto/pr119067_0.C
- create mode 100644 gcc/testsuite/g++.dg/lto/pr119067_1.C
-
-diff --git a/gcc/ipa-devirt.cc b/gcc/ipa-devirt.cc
-index c31658f57ef2..532e25e87c60 100644
---- a/gcc/ipa-devirt.cc
-+++ b/gcc/ipa-devirt.cc
-@@ -1259,13 +1259,21 @@ odr_types_equivalent_p (tree t1, tree t2, bool warn, 
bool *warned,
-       || TREE_CODE (t1) == OFFSET_TYPE
-       || POINTER_TYPE_P (t1))
-     {
--      if (TYPE_PRECISION (t1) != TYPE_PRECISION (t2))
-+      if (!VECTOR_TYPE_P (t1) && TYPE_PRECISION (t1) != TYPE_PRECISION (t2))
-       {
-         warn_odr (t1, t2, NULL, NULL, warn, warned,
-                   G_("a type with different precision is defined "
-                      "in another translation unit"));
-         return false;
-       }
-+      if (VECTOR_TYPE_P (t1)
-+        && maybe_ne (TYPE_VECTOR_SUBPARTS (t1), TYPE_VECTOR_SUBPARTS (t2)))
-+      {
-+        warn_odr (t1, t2, NULL, NULL, warn, warned,
-+                  G_("a vector type with different number of elements "
-+                     "is defined in another translation unit"));
-+        return false;
-+      }
-       if (TYPE_UNSIGNED (t1) != TYPE_UNSIGNED (t2))
-       {
-         warn_odr (t1, t2, NULL, NULL, warn, warned,
-diff --git a/gcc/testsuite/g++.dg/lto/pr119067_0.C 
b/gcc/testsuite/g++.dg/lto/pr119067_0.C
-new file mode 100644
-index 000000000000..e0f813ceffed
---- /dev/null
-+++ b/gcc/testsuite/g++.dg/lto/pr119067_0.C
-@@ -0,0 +1,22 @@
-+/* { dg-lto-do link } */
-+/* { dg-skip-if "" { ! { x86_64-*-* i?86-*-* } } } */
-+/* { dg-require-effective-target avx2 } */
-+/* { dg-require-effective-target shared } */
-+/* { dg-lto-options { { -O2 -fPIC -flto } } } */
-+/* { dg-extra-ld-options { -shared } } */
-+
-+#pragma GCC push_options
-+#pragma GCC target("avx2")
-+typedef char __v32qi __attribute__ ((__vector_size__ (32)));
-+struct ff
-+{
-+  __v32qi t;
-+};
-+__v32qi g(struct ff a);
-+
-+__v32qi h(__v32qi a)
-+{
-+  struct ff t = {a};
-+  return g(t);
-+}
-+#pragma GCC pop_options
-diff --git a/gcc/testsuite/g++.dg/lto/pr119067_1.C 
b/gcc/testsuite/g++.dg/lto/pr119067_1.C
-new file mode 100644
-index 000000000000..d8e2935fa24d
---- /dev/null
-+++ b/gcc/testsuite/g++.dg/lto/pr119067_1.C
-@@ -0,0 +1,10 @@
-+/* { dg-options "-mavx2" } */
-+
-+typedef char __v32qi __attribute__ ((__vector_size__ (32)));
-+struct ff
-+{
-+  __v32qi t;
-+};
-+__v32qi g(struct ff a) {
-+ return a.t;
-+}
--- 
-2.43.5

diff --git a/sys-devel/gcc/files/gcc-15.0.1_pre20250302-firefox-pgo-ice.patch 
b/sys-devel/gcc/files/gcc-15.0.1_pre20250302-firefox-pgo-ice.patch
deleted file mode 100644
index 9486b69147d3..000000000000
--- a/sys-devel/gcc/files/gcc-15.0.1_pre20250302-firefox-pgo-ice.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-https://inbox.sourceware.org/gcc-patches/[email protected]/
-
-From 833d679c3c071b78dfb22015fe03d2cecfd650ec Mon Sep 17 00:00:00 2001
-Message-ID: 
<833d679c3c071b78dfb22015fe03d2cecfd650ec.1741019831.git....@gentoo.org>
-From: Martin Jambor <[email protected]>
-Date: Mon, 3 Mar 2025 14:18:10 +0100
-Subject: [PATCH] ipa-cp: Avoid ICE when redistributing nodes among edges to
- recursive clones (PR 118318)
-
-Hi,
-
-PR 118318 reported an ICE during PGO build of Firefox when IPA-CP, in
-the final stages of update_counts_for_self_gen_clones where it
-attempts to guess how to distribute profile count among clones created
-for recursive edges and the various edges that are created in the
-process.  If one such edge has profile count of kind GUESSED_GLOBAL0,
-the compatibility check in the operator+ will lead to an ICE.  After
-discussing the situation with Honza, we concluded that there is little
-more we can do other than check for this situation before touching the
-edge count, so this is what this patch does.
-
-Bootstrapped and LTO-profile-bootstrapped and tested on x86_64.  OK for
-master?  (Should I then backport this to active release branches?  I
-guess it would make sense.)
-
-Thanks,
-
-Martin
-
-gcc/ChangeLog:
-
-2025-02-28  Martin Jambor  <[email protected]>
-
-PR ipa/118318
-       * ipa-cp.cc (adjust_clone_incoming_counts): Add a compatible_p check.
----
- gcc/ipa-cp.cc | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/gcc/ipa-cp.cc b/gcc/ipa-cp.cc
-index 3c994f24f540..264568989a96 100644
---- a/gcc/ipa-cp.cc
-+++ b/gcc/ipa-cp.cc
-@@ -4638,7 +4638,8 @@ adjust_clone_incoming_counts (cgraph_node *node,
-       cs->count = cs->count.combine_with_ipa_count (sum);
-       }
-     else if (!desc->processed_edges->contains (cs)
--           && cs->caller->clone_of == desc->orig)
-+           && cs->caller->clone_of == desc->orig
-+           && cs->count.compatible_p (desc->count))
-       {
-       cs->count += desc->count;
-       if (dump_file)
-
-base-commit: f1c30c6213fb228f1e8b5973d10c868b834a4acd
--- 
-2.48.1
-

diff --git a/sys-devel/gcc/gcc-15.0.1_pre20250309.ebuild 
b/sys-devel/gcc/gcc-15.0.1_pre20250309.ebuild
deleted file mode 100644
index 52eabc5c65ca..000000000000
--- a/sys-devel/gcc/gcc-15.0.1_pre20250309.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-TOOLCHAIN_PATCH_DEV="sam"
-TOOLCHAIN_HAS_TESTS=1
-PATCH_GCC_VER="15.0.0"
-PATCH_VER="46"
-MUSL_VER="2"
-MUSL_GCC_VER="15.0.0"
-PYTHON_COMPAT=( python3_{10..13} )
-
-if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
-       # Cheesy hack for RCs
-       MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 
1)))-RC-$(ver_cut 5)
-       MY_P=${PN}-${MY_PV}
-       GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
-       TOOLCHAIN_SET_S=no
-       S="${WORKDIR}"/${MY_P}
-fi
-
-inherit toolchain
-
-if tc_is_live ; then
-       # Needs to be after inherit (for now?), bug #830908
-       EGIT_BRANCH=master
-elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
-       # Don't keyword live ebuilds
-       #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc 
~ppc64 ~riscv ~s390 ~sparc ~x86"
-       :;
-fi
-
-if [[ ${CATEGORY} != cross-* ]] ; then
-       # Technically only if USE=hardened *too* right now, but no point in 
complicating it further.
-       # If GCC is enabling CET by default, we need glibc to be built with 
support for it.
-       # bug #830454
-       RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
-       DEPEND="${RDEPEND}"
-fi
-
-src_prepare() {
-       local p upstreamed_patches=(
-               # add them here
-       )
-       for p in "${upstreamed_patches[@]}"; do
-               rm -v "${WORKDIR}/patch/${p}" || die
-       done
-
-       toolchain_src_prepare
-       eapply_user
-}

diff --git a/sys-devel/gcc/gcc-15.0.1_pre20250316.ebuild 
b/sys-devel/gcc/gcc-15.0.1_pre20250316.ebuild
deleted file mode 100644
index 5fbac8a31fc8..000000000000
--- a/sys-devel/gcc/gcc-15.0.1_pre20250316.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-TOOLCHAIN_PATCH_DEV="sam"
-TOOLCHAIN_HAS_TESTS=1
-PATCH_GCC_VER="15.0.0"
-PATCH_VER="47"
-MUSL_VER="2"
-MUSL_GCC_VER="15.0.0"
-PYTHON_COMPAT=( python3_{10..13} )
-
-if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
-       # Cheesy hack for RCs
-       MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 
1)))-RC-$(ver_cut 5)
-       MY_P=${PN}-${MY_PV}
-       GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
-       TOOLCHAIN_SET_S=no
-       S="${WORKDIR}"/${MY_P}
-fi
-
-inherit toolchain
-
-if tc_is_live ; then
-       # Needs to be after inherit (for now?), bug #830908
-       EGIT_BRANCH=master
-elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
-       # Don't keyword live ebuilds
-       #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc 
~ppc64 ~riscv ~s390 ~sparc ~x86"
-       :;
-fi
-
-if [[ ${CATEGORY} != cross-* ]] ; then
-       # Technically only if USE=hardened *too* right now, but no point in 
complicating it further.
-       # If GCC is enabling CET by default, we need glibc to be built with 
support for it.
-       # bug #830454
-       RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
-       DEPEND="${RDEPEND}"
-fi
-
-src_prepare() {
-       local p upstreamed_patches=(
-               # add them here
-       )
-       for p in "${upstreamed_patches[@]}"; do
-               rm -v "${WORKDIR}/patch/${p}" || die
-       done
-
-       toolchain_src_prepare
-       eapply_user
-}

diff --git a/sys-devel/gcc/gcc-15.0.1_pre20250323.ebuild 
b/sys-devel/gcc/gcc-15.0.1_pre20250323.ebuild
deleted file mode 100644
index e2ad5d945be6..000000000000
--- a/sys-devel/gcc/gcc-15.0.1_pre20250323.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-TOOLCHAIN_PATCH_DEV="sam"
-TOOLCHAIN_HAS_TESTS=1
-PATCH_GCC_VER="15.0.0"
-PATCH_VER="48"
-MUSL_VER="2"
-MUSL_GCC_VER="15.0.0"
-PYTHON_COMPAT=( python3_{10..13} )
-
-if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
-       # Cheesy hack for RCs
-       MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 
1)))-RC-$(ver_cut 5)
-       MY_P=${PN}-${MY_PV}
-       GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
-       TOOLCHAIN_SET_S=no
-       S="${WORKDIR}"/${MY_P}
-fi
-
-inherit toolchain
-
-if tc_is_live ; then
-       # Needs to be after inherit (for now?), bug #830908
-       EGIT_BRANCH=master
-elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
-       # Don't keyword live ebuilds
-       #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc 
~ppc64 ~riscv ~s390 ~sparc ~x86"
-       :;
-fi
-
-if [[ ${CATEGORY} != cross-* ]] ; then
-       # Technically only if USE=hardened *too* right now, but no point in 
complicating it further.
-       # If GCC is enabling CET by default, we need glibc to be built with 
support for it.
-       # bug #830454
-       RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
-       DEPEND="${RDEPEND}"
-fi
-
-src_prepare() {
-       local p upstreamed_patches=(
-               # add them here
-       )
-       for p in "${upstreamed_patches[@]}"; do
-               rm -v "${WORKDIR}/patch/${p}" || die
-       done
-
-       toolchain_src_prepare
-       eapply_user
-}

Reply via email to