commit:     ae251a503b87562fd16e9c6685f84b7daf0ff03e
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed May 17 00:54:19 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed May 17 00:54:19 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ae251a50

sys-devel/kgcc64: add 12.3.1_p20230512-r1, drop 12.3.0

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

 sys-devel/kgcc64/Manifest                          |  2 +-
 sys-devel/kgcc64/files/gcc-12.3-ccache-ICE.patch   | 67 ++++++++++++++++++++++
 ....0.ebuild => kgcc64-12.3.1_p20230512-r1.ebuild} |  5 ++
 3 files changed, 73 insertions(+), 1 deletion(-)

diff --git a/sys-devel/kgcc64/Manifest b/sys-devel/kgcc64/Manifest
index 14634f790cf3..47feb4f58fe9 100644
--- a/sys-devel/kgcc64/Manifest
+++ b/sys-devel/kgcc64/Manifest
@@ -3,12 +3,12 @@ DIST gcc-10.4.0-patches-5.tar.xz 17056 BLAKE2B 
f336d69a8ad105b8c4a84e8248a5b8a88
 DIST gcc-10.4.0.tar.xz 75018092 BLAKE2B 
ec1169025d3896b70ab80a4b8ce5040763a95529fc7e120c6bc3a3eb1db5cf938ebde347c1e595a8ff7d4081e79ded6252702d7a1a09648449b7a0783188e434
 SHA512 
440c08ca746da450d9a1b35e8fd2305cb27e7e6987cd9d0f7d375f3b1fc9e4b0bd7acb3cd7bf795e72fcbead59cdef5b6c152862f5d35cd9fbfe6902101ce648
 DIST gcc-11.3.0-patches-4.tar.bz2 14030 BLAKE2B 
cdd555f329c7c0b993cd3527489681bfcc2162db0997611b66337e6b287356761c7deccd3b9f9bb8980a32df0574017a52c5e445e24db746757d87ffccb1ea89
 SHA512 
cb227599d01734ae9f9fc7ae2c8dd4cae1da80d6ab398ec6f112535239ac76ce8e91fbac88e19c2f75cb08ab75f966c1d1ad4af80ede67e953fbbafc7baefa58
 DIST gcc-11.3.0.tar.xz 81141364 BLAKE2B 
7e562d25446ca4ab9fe8cdb714866f66aba3744d78bf84f31bfb097c1a981e4c7f990cb1e6bcfec5ae6671836a4984e2b70eb8fed81dcef5e244f88da8623469
 SHA512 
f0be5ad705c73b84477128a69c047f57dd47002f375eb60e1e842e08cf2009a509e92152bca345823926d550b7395ae6d4de7db51d1ee371c2dc37313881fca7
+DIST gcc-12-20230512.tar.xz 79749352 BLAKE2B 
a2dd7c780d2adf1915cb01f6835d6f95242376d9d7c14ec0fea8e905858f0ce20b90dd3f47fef983b9d1a6f519f0c3d4cfa41d887f477454378a12407e9aaeb8
 SHA512 
3bf04b2489b0b0d062f8e8e66c31622fe7aa6ef6c9ba7d51f387eae714a813a089594cebdb046fa04e53da24a9788879711eedb054c3a37721035386b94ff0f0
 DIST gcc-12.2.0-musl-patches-1.tar.xz 3844 BLAKE2B 
004432806696f7d0a32366270ac45695e858abee73a255e44dc6e0a225339e4cad40aab0d51dfe9a55d5aa4b4001f5726064bb2eea3212a0874b2d27e229abd7
 SHA512 
c354edcd641a9dfaf902a0ff4c44c75065d0cf1c36bbf6c3c35c2e23bff22b8f70bcf4458a5a0ef86371e9f2fafca8a54ca822e35820ff442c9458a2819c3606
 DIST gcc-12.2.0-patches-1.tar.xz 12864 BLAKE2B 
a5ae0a85dfc1b6f0bd968f0d5262ebed14ec9cdb3249e3a4c571578c54eda0e53708ee7fe8e03e506366c7f3cf7926eced9b390d9dee948c1249298c0fabd9fb
 SHA512 
f3d793b89a2a0385d596162fb0c653d4acdf21ae418cb792c1786a01fde0391bd0719715dbf07d53636f127168f5cd99108a1dc11cf6cea889b7d82385bcc258
 DIST gcc-12.2.0.tar.xz 84645292 BLAKE2B 
715574af9ad678f9dc8cfd19c866bf910c7edfd479e7e9681337feaa9b54e5d304ddb85483816b8d89754d502405823ae2eff0d1e444538763f40be8e428d8da
 SHA512 
e9e857bd81bf7a370307d6848c81b2f5403db8c7b5207f54bce3f3faac3bde63445684092c2bc1a2427cddb6f7746496d9fbbef05fbbd77f2810b2998f1f9173
 DIST gcc-12.3.0-musl-patches-1.tar.xz 3572 BLAKE2B 
c7bf65f7c9ea8023ddaac821ee2b778622fa310ac72a72b2f7032494a8f304eac86217f9204622e6c21aaef9952bece0d09bc126facd4f42b602927909815ab5
 SHA512 
babc279fea2c1fd4c018815f2f5630214fd46015ce9f365c28af242681d51818eaca30ce298eddcab1eed5ac5f2759e2b47b2335afab9d722b4469a6d4fec326
 DIST gcc-12.3.0-patches-2.tar.xz 14236 BLAKE2B 
06c43662c9abb0fa3cf90d5e2273c69aecb9158e6cf6f23c04754ed5d686be2616e81e2502eb16f4298ddd50518ca7677e13249da9e9b091162d3931ff65e4fe
 SHA512 
b0d4b85dbf1a54aaaa1997203b872e3106906b4ad49cde57e1428bc22b2f8e2d73b8cb10ae0d0b792aebaf664594da4d1dea04c44ddc34e59047410766db04d1
-DIST gcc-12.3.0.tar.xz 85491976 BLAKE2B 
a239749089e284887435b9fabc360a36764be1095f4c78eeac6f056f91dd23c49dab2ebec5da32a81bcc08fe8277dd3c714ad114ad725d24317faac03354d595
 SHA512 
8fb799dfa2e5de5284edf8f821e3d40c2781e4c570f5adfdb1ca0671fcae3fb7f794ea783e80f01ec7bfbf912ca508e478bd749b2755c2c14e4055648146c204
 DIST gcc-13.1.0.tar.xz 87451196 BLAKE2B 
b956a773cffe8b43bd6c9a99fe614f53f665438925a6b320975d301f547923e45d4d6fa577a143467fb03e0a9c1bab2b6719a1011d672367f3e644433a2d7606
 SHA512 
6cf06dfc48f57f5e67f7efe3248019329a14d690c728d9f2f7ef5fa0d58f1816f309586ba7ea2eac20d0b60a2d1b701f68392e9067dd46f827ba0efd7192db33
 DIST gcc-13.2.0-musl-patches-2.tar.xz 5292 BLAKE2B 
c057d6574d03c05854edaa9f3fd40e9149662b04f3ac7a7db3eb078d73a7b535726d1bf52e5b12736dedb2f9898ad731f2e48a6421fcfbf7b90f929dee072fcb
 SHA512 
a691da0c87c443a5e9d23731f4005f27871c5b12bc9102873ffa24d374aa7b9fbd187c4f5635d23fa9ffb17e351e76173c2d3fdf40646e355c4cb314b538de69
 DIST gcc-13.2.0-patches-1.tar.xz 15792 BLAKE2B 
2ffa9ac013c0f9a91eb93e87e3bc6c378d02cca32ad3f8a84d1249e257eb02b206ec10fa425738a4bae2ffb7db8506afcee2a8dd855357e4b48636608aa24e50
 SHA512 
917ea178f3696724f9ec08aebb6976f03c5edf8ee21bb4bad7e2d820507452f6dace6e847c4f342a52870642550f34da0346ee635a60ba0c1bff667e0e31d195

diff --git a/sys-devel/kgcc64/files/gcc-12.3-ccache-ICE.patch 
b/sys-devel/kgcc64/files/gcc-12.3-ccache-ICE.patch
new file mode 100644
index 000000000000..9a170f5db77e
--- /dev/null
+++ b/sys-devel/kgcc64/files/gcc-12.3-ccache-ICE.patch
@@ -0,0 +1,67 @@
+https://bugs.gentoo.org/906310
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109850
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109241
+
+https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=396a4e76afec30d2461638f569cae18955eb4ad2
+
+From 396a4e76afec30d2461638f569cae18955eb4ad2 Mon Sep 17 00:00:00 2001
+From: Jason Merrill <ja...@redhat.com>
+Date: Wed, 22 Mar 2023 16:11:47 -0400
+Subject: [PATCH] c++: local class in nested generic lambda [PR109241]
+
+In this testcase, the tree walk to look for bare parameter packs was
+confused by finding a type with no TREE_BINFO.  But it should be fine that
+it's unset; we already checked for unexpanded packs at parse time.
+
+I also tried doing the partial instantiation of the local class, which is
+probably the long-term direction we want to go, but for stage 4 let's go
+with this safer change.
+
+       PR c++/109241
+
+gcc/cp/ChangeLog:
+
+       * pt.cc (find_parameter_packs_r): Handle null TREE_BINFO.
+
+gcc/testsuite/ChangeLog:
+
+       * g++.dg/cpp1y/lambda-generic-local-class2.C: New test.
+--- a/gcc/cp/pt.cc
++++ b/gcc/cp/pt.cc
+@@ -4106,10 +4106,14 @@ find_parameter_packs_r (tree *tp, int *walk_subtrees, 
void* data)
+     case TAG_DEFN:
+       t = TREE_TYPE (t);
+       if (CLASS_TYPE_P (t))
+-      /* Local class, need to look through the whole definition.  */
+-      for (tree bb : BINFO_BASE_BINFOS (TYPE_BINFO (t)))
+-        cp_walk_tree (&BINFO_TYPE (bb), &find_parameter_packs_r,
+-                      ppd, ppd->visited);
++      {
++        /* Local class, need to look through the whole definition.
++           TYPE_BINFO might be unset for a partial instantiation.  */
++        if (TYPE_BINFO (t))
++          for (tree bb : BINFO_BASE_BINFOS (TYPE_BINFO (t)))
++            cp_walk_tree (&BINFO_TYPE (bb), &find_parameter_packs_r,
++                          ppd, ppd->visited);
++      }
+       else
+       /* Enum, look at the values.  */
+       for (tree l = TYPE_VALUES (t); l; l = TREE_CHAIN (l))
+--- /dev/null
++++ b/gcc/testsuite/g++.dg/cpp1y/lambda-generic-local-class2.C
+@@ -0,0 +1,13 @@
++// PR c++/109241
++// { dg-do compile { target c++14 } }
++// { dg-options "" } no pedantic
++
++void g() {
++  [](auto) {
++    [](auto) {
++      ({
++        struct A {};
++      });
++    };
++  }(1);
++}
+-- 
+2.31.1

diff --git a/sys-devel/kgcc64/kgcc64-12.3.0.ebuild 
b/sys-devel/kgcc64/kgcc64-12.3.1_p20230512-r1.ebuild
similarity index 92%
rename from sys-devel/kgcc64/kgcc64-12.3.0.ebuild
rename to sys-devel/kgcc64/kgcc64-12.3.1_p20230512-r1.ebuild
index 03a260bc6520..886da7c53eb0 100644
--- a/sys-devel/kgcc64/kgcc64-12.3.0.ebuild
+++ b/sys-devel/kgcc64/kgcc64-12.3.1_p20230512-r1.ebuild
@@ -30,6 +30,11 @@ KEYWORDS="~hppa"
 # ports in binutils yet
 BDEPEND="hppa? ( sys-devel/binutils-hppa64 )"
 
+src_prepare() {
+       toolchain_src_prepare
+       eapply "${FILESDIR}"/gcc-12.3-ccache-ICE.patch
+}
+
 pkg_postinst() {
        toolchain_pkg_postinst
 

Reply via email to