summaryrefslogtreecommitdiff
path: root/sys-devel
diff options
context:
space:
mode:
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/Manifest.gzbin7859 -> 7866 bytes
-rw-r--r--sys-devel/clang/Manifest1
-rw-r--r--sys-devel/crosstool-ng/Manifest2
-rw-r--r--sys-devel/crosstool-ng/crosstool-ng-9999.ebuild15
-rw-r--r--sys-devel/gcc/Manifest5
-rw-r--r--sys-devel/gcc/files/gcc-15.0.0_pre20240922-middle-end-check-explicitly-for-external-or-constant.patch93
-rw-r--r--sys-devel/gcc/gcc-15.0.0_pre20240922-r1.ebuild57
-rw-r--r--sys-devel/gcc/gcc-15.0.0_pre20240922.ebuild56
-rw-r--r--sys-devel/llvm/Manifest1
9 files changed, 228 insertions, 2 deletions
diff --git a/sys-devel/Manifest.gz b/sys-devel/Manifest.gz
index 718f99f5b9a0..8d0bc34351f3 100644
--- a/sys-devel/Manifest.gz
+++ b/sys-devel/Manifest.gz
Binary files differ
diff --git a/sys-devel/clang/Manifest b/sys-devel/clang/Manifest
index c9bf605bb0e9..a8c820e5ccf0 100644
--- a/sys-devel/clang/Manifest
+++ b/sys-devel/clang/Manifest
@@ -2,6 +2,7 @@ DIST llvm-15.0.7-manpages.tar.bz2 228425 BLAKE2B 573b030a32407cfe241fb2c8c62bed8
DIST llvm-16.0.4-manpages.tar.bz2 243154 BLAKE2B 69308e3ec19d750e7249b7c8cd79224c466b879c67dd900e201339486fa7fa4dd6ef9ef5b033b2443b32c3530cc76564fe2856a76f9b466fdab2b5c64148f089 SHA512 2d2b711adbd20a233d0611f81393faa29a2f32f0e64799a9a48185876045023ca1320becd2da110fbcbfce019a38df0d7c13fcaea3770b4fc23aa732eb11321b
DIST llvm-17.0.1-manpages.tar.bz2 263148 BLAKE2B 6485a261e356eacc4a274f9b8d329b53f11a37a23effea41a12322f6908bbe702dc1a97bfd10293061f01f1dbff8693e9324ab3dce2551e78eab128dbd7fea30 SHA512 963ff1b7aa0cb01ed0c0356a0adc3a315d94e78035e928dc81464f553e722633a17596e421c248968e87e22ae66f1ab9cccda5fd3388d1a6d34b5e9c6140ebcb
DIST llvm-18.1.0-manpages.tar.bz2 270429 BLAKE2B d85d6e23197184dc512019c25805af0aa145eefb4c36215807c1ba70ad47943c05c06dbaafd84a7e6487bdd83814e03277374e095d97b129e3fc8d468c10741c SHA512 5f492c85fad4e04e0148ea509f4b6520de9e2765c51e617363a11aa8e47c2d847f6b0897958ca1d93bccf0f6a9150868b7e04c728bd430c05bf2da30bdeba6cc
+DIST llvm-19.1.0-manpages.tar.bz2 286165 BLAKE2B d96df2e748d2d52af2e8b7023f59af9ab53a9e59480ff228726bf629f1ecd813af80f3ba4126919092beb7ad8214193e828f997d300c705b0d8b90d6aedb22ee SHA512 aed63dee6629fe9116a9ce21e8bfb0e2c0b80ad276c6551f445ef01c71e130fef1615679adba8386ab57cac5104a153919e0b0df6bd66e023c5f0398081d2374
DIST llvm-gentoo-patchset-15.0.7-r3.tar.xz 24268 BLAKE2B 6531ae385ecea87bc26dba8ce19b4cde8ff224c80fd81f04c6ded131e305ecfdeb8d29ebd3b68a641d240805dc83eb0ebc7cc85124f02ad0ee66e0f201b91d7e SHA512 66cb33f8b423736b990fb75d4f2d1e5f14c0b03308f403297204dd1a352d72f85f34220fd66d3de5d6df328cdf2ffce03c2a111cb0bb57791cf68a88069ac7df
DIST llvm-gentoo-patchset-16.0.6.tar.xz 17340 BLAKE2B 37cdf4b38367b4256d4f7a25d1b4f41758e5f81be8e20a1c94a10d6c5e36642e9672121b455e73a0bac2eb40467ef2db4b43789b2912a6790593d97b8b5c27e3 SHA512 2c02b9d8a4c5af9fddcd26c95dc66fffae32cb5b7f85c65a1aa4ed00dd8cd5b01cc1975a711aee63c0b8b11e9dc20f2bc05ea753904eb516892b820f02aff825
DIST llvm-gentoo-patchset-17.0.6-r1.tar.xz 2792 BLAKE2B b4e9014179edd96add0c932b16d3a95a5d7a905298052164ff668590108c83cd4f938d42b6d801efedae28a959b03b2bc3c7cd2a4cad20ef2b3c7aa9a3d0c15d SHA512 73a46aa9f6f2ac6334a073733aa082a12f97fb6a2750d5930af4eb1639cd192f3a17ea87c2f17947f04c68a5f60e37d9bc27ede8bab75531599edfb4c3aa8ffe
diff --git a/sys-devel/crosstool-ng/Manifest b/sys-devel/crosstool-ng/Manifest
index 3953be23c181..1861cb62f44c 100644
--- a/sys-devel/crosstool-ng/Manifest
+++ b/sys-devel/crosstool-ng/Manifest
@@ -1,4 +1,4 @@
DIST crosstool-ng-1.26.0.tar.xz 1144720 BLAKE2B 68c38dca58a239bd2a7a4e0f0adfa0069d97aba632c8a8a70594a67bf1049f0576db2d20b8a6ac90b170c1a3d8245f952a949e4fd006abe1d5e54effbb8e100b SHA512 7834184ae5792fd347455f9f48fee826248dcb82d271954ed4304b1a18f63995ff8a2c3b817564dcf147ac7e16e02d779195b26d97eb57db27f1118a1837002a
EBUILD crosstool-ng-1.26.0-r1.ebuild 1715 BLAKE2B 13d4fc08a83bc2bfed5f7f20fb11c81c20c0e1e584798a37953037f909dd954cc7ffb34e04b782be07fb8cdd83a0a88b0cdaf6751cd170c06ef5ce8244b7dd5c SHA512 495b9002de96e19b98b9cc635d7d86ac16d2ad04e1a73aaf088ea25530a175625add3940cc45f9f1514edb400f03f744f2e53ee818e0c3c2e8b5764cbc2dfd0d
-EBUILD crosstool-ng-9999.ebuild 1715 BLAKE2B 13d4fc08a83bc2bfed5f7f20fb11c81c20c0e1e584798a37953037f909dd954cc7ffb34e04b782be07fb8cdd83a0a88b0cdaf6751cd170c06ef5ce8244b7dd5c SHA512 495b9002de96e19b98b9cc635d7d86ac16d2ad04e1a73aaf088ea25530a175625add3940cc45f9f1514edb400f03f744f2e53ee818e0c3c2e8b5764cbc2dfd0d
+EBUILD crosstool-ng-9999.ebuild 2152 BLAKE2B c6bc736dbf5019427043d79c37dfaf4401e410f60059fa9e0ed53d8c408185091d88515ea5960f284ae139ba8911ffa0aa8dd14f947f260c9c485c8e8b254a46 SHA512 e845065fd4d1b7610b7fc7ae5c35c5761308861578728d3b89eb9f538c457e72df7eaedbc278bc4edc048c7894ef74a87b5d2e3e6ffc555db2ddeb504c718054
MISC metadata.xml 973 BLAKE2B e910f49277500ae3bebdd7307c8e6bce9cf8b16e968790c308c08678da2742ce04aae68b6fef00af59c4f56ecfbf6a1ed1a7a255d7c78925af30e0ecd22195a1 SHA512 012a54cb5bac5775dd0f7ea8980a8422a108d3447ec34386ca5c1d2fd5bb996e22e2a683a66b401822ccf59aee864580066c97d3d6b85c797373223c68e47379
diff --git a/sys-devel/crosstool-ng/crosstool-ng-9999.ebuild b/sys-devel/crosstool-ng/crosstool-ng-9999.ebuild
index f0aa3dfbe151..78700c65fe2d 100644
--- a/sys-devel/crosstool-ng/crosstool-ng-9999.ebuild
+++ b/sys-devel/crosstool-ng/crosstool-ng-9999.ebuild
@@ -11,7 +11,7 @@ HOMEPAGE="https://crosstool-ng.github.io/"
if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://github.com/crosstool-ng/crosstool-ng.git"
- inherit git-r3
+ inherit autotools git-r3
else
SRC_URI="
https://github.com/crosstool-ng/crosstool-ng/releases/download/${PN}-${PV/_rc/-rc}/${P}.tar.xz
@@ -56,6 +56,19 @@ RDEPEND="
${BDEPEND}
"
+src_prepare() {
+ if [[ ${PV} == 9999 ]]; then
+ # Some data files must be generated before autoreconf, and the logic
+ # is non-trivial, so the upstream bootstrap script must be used.
+ # In addition, eautoreconf mis-detects the project to make use of
+ # gettext while it actually isn't, so just rely on the invocation of
+ # autoreconf for us in the bootstrap script.
+ ./bootstrap || die "bootstrap failed"
+ fi
+
+ default
+}
+
src_configure() {
# Needs bison+flex
unset YACC LEX
diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index c19d5e5c6369..92a0d0454239 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -1,5 +1,6 @@
AUX gcc-13-fix-cross-fixincludes.patch 883 BLAKE2B 1ae33195320754c55f42e1206bcfdf98914af5190df5939a4c7b072a2bc25216c354ea5d76f5171e1b8a150ca7764bdf57cea1bc137c237a5e8bb44713885f1b SHA512 ca9625001f0a10826d75691fdba35ca5783ed2f80e605b935785f8dc7591b0e650dca28bf1fc7e688e27547dddc7ab38232459b4f1865ed10a148978d0e09703
AUX gcc-15.0.0_pre20240623-PR115602.patch 4018 BLAKE2B 3c88950585713918c77f6e6f00ae9365edd97ec61f88b89d3e99eaec8ef62db315dfd285c16ab5563ee88d69f8f0857dbfd5055d84950ef6023d4d5d804b819d SHA512 56fafe0d602c925608be21a573983de5fdb5ffb3ba4130fd2f77b35ed1e7de6385b2e71e78276c726b80e108d12213d4bb5af196762fb1d8579e06fd18c2f735
+AUX gcc-15.0.0_pre20240922-middle-end-check-explicitly-for-external-or-constant.patch 3041 BLAKE2B a069c8816b8acc32bd6df4f63d6ec50b0ff0cffe6794d64e2628ddb7ecba7f2cc84c060695f491fece1d2e80e25cd1890511342aab96328fba54b471680c5c52 SHA512 45fda79abe54ea276bdd56523630c548137bd76d6f6ea1429f4750dbf1e1e810f4729d4761019f058c64e193e7e52be5bc46b310e55d353b6156172bacfb029f
AUX gcc-configure-texinfo.patch 341 BLAKE2B d2ea3b2ea08f5d3a498ba27d0fb95e325097e2104e55caa28b66515cb48662649140d90b639369aedc54b2b1178fa4b49cda442f5f504e09d88a2efa45a5057c SHA512 e8d34c5077409df5495cf0c5fbf5e77f841c5698108fa6a5fde33eb28202c685603bdefd8368918e55f30c4b995e895d71d64c715c1ec2b017e09eb2c54c09ff
DIST gcc-10.5.0-musl-patches-2.tar.xz 3452 BLAKE2B 5387e516d07d81477b3f39b8b3bd986bf861d32cd25dc5481c97bd3620d00c918c5661e86857f66dbf28a655401a53e43417f638c443e44cbfdbf5e950caac4d SHA512 86f2ce31cc4fc4fb5a6043fb527bf822d895e1a6220652024f78a1cbd5a962edb6be8dc5f43c32053e075f39bb2350ea8f14e7d57e0473dd2933a7b44676bde5
DIST gcc-10.5.0-patches-6.tar.xz 18208 BLAKE2B 4cac3340108fb378c76ad62b728429f3c97f348d178744e7536575f3576ca8aa682b878b7df3b1c162dccae64a3cb56c66d8d60eae323e1ece2de4278084fdbd SHA512 9d6c84325fbc118cee01347468ce729c278e5b026b16da945fe54050726e26f86a46ee7b71a01a47cf927b70bfcce459c49a6bc4fb93dcfaa047c76d4c5bc5bc
@@ -24,6 +25,8 @@ DIST gcc-14.1.0-patches-4.tar.xz 11620 BLAKE2B c819fbdea1f3bf10c8d4214d4c33cf28c
DIST gcc-14.1.0-patches-5.tar.xz 12504 BLAKE2B 9453bb75c195e43e9b95cee89eee0722dadb8088ce258ae3334ad1023742b41fc0efea45ca4dbd73a20834aa09f72b5fd2d771e1bc58c0cff89a9d2b16ae8dd1 SHA512 b30b5ff1c0234ccfd440ede9e2c13c5fe3d72711ac94996694b3b325ec47f23c6549c41a70f7e08aea16e10fd45d348dcaaef7a7e49a981622d50b21a0971a30
DIST gcc-15-20240908.tar.xz 89408188 BLAKE2B bd8e48c9f4bde4091c1d0196220873e4b312ee7c62c3ad74d29c1110e24055d0806b51ad3e1be28a17b28199cf4169b23892b43b29cf0791d27a6daab827102e SHA512 e249c638a0bc9c114a2a54c9836b71c93964394a497264556a3ac515e48659582876d18ce4b703c9d5dfad2d0afcf8bdf763be55bde4c18ece2c228b3513c276
DIST gcc-15-20240915.tar.xz 89475916 BLAKE2B 544761cc41adac4a680941c3775348b3c0a9cc28a8e1a2c75c33b7c5583a35cd15d6b2f6abc7c0fe6553d5538a632ac0d074e7d23c19a7572f69101fc6b8dac1 SHA512 7eb8229f7dad11614c8526b139567e0c8fb5d20416b0190a7b4a76a2755475363c0621454c950d7e3afa9b0283ba32ebf9e15f4a616be367368cc5fd34f4733f
+DIST gcc-15-20240922-rollup-patches.tar.xz 14856 BLAKE2B f36d082d0cfb3a1261b757c5186c912cfe248220aeab8f823d8135fe8e0dc1a20dfb1a83ef465d89188246d4d14884b3b356959633ef68c7983f00ce89bc8023 SHA512 1765d248e7547cf99b5b127954af462365b18d3866b1a2f2b5b3523d24ca80b7072f80ed9a945bb3e98fc5d7ecc3ebaaafc85444caffd9c07c2e820bc7f89cda
+DIST gcc-15-20240922.tar.xz 89501588 BLAKE2B a988848bb7b2dd789d82fe95f8c341943d9d017fb146c24623add792b80f96e0f84a487a2580d2dd02ee3543357958c947e3b73e4606905071ddb321a1e76ac5 SHA512 62cd7241a3eb485e50fdbe22f13fd525aea6154b29fd839e6e35e7f1ef72e8504d9b599692e25bb934c92d0ce8d8a5f4057e97646b1506e6faa9c19449476f8e
DIST gcc-15.0.0-musl-patches-2.tar.xz 3076 BLAKE2B 0073248fe4f7dd827980559017b5aa1fb5c4c46acc9ad5c410dc152fd1e44966d3066bf7152338573cb45b1c36027de5f0c519abd414d97a37bccef07f6a5281 SHA512 295f1a669020bbe2874e9b03afd46b5d083073b276fca3543f3767a2d74f35df81cf0a67abad50c200cf7a3af36ec98ff9977cb7d5c19f334af7d3bb1926a3de
DIST gcc-15.0.0-patches-12.tar.xz 12980 BLAKE2B 325743e1d4264e80ce91e866bb3cbb9d0e72e186fee0d29e6dace6c48b975992dcd7081fe2a924519d5c1503dedc14a4b41f584dd7d97924664bcc6f6537a8bc SHA512 e18401c517b05e13c203b147f9ba6991c867a8c0a50a7e1a67ea497243d46cbbac674c3498651946f941423241d36b6bc55571a8131fc3604c92604be288f60d
DIST gcc-8.5.0-patches-4.tar.xz 18616 BLAKE2B 7594cbaea5daecf1a0b3d526c06aeba0a84c6da66aee2e105a51fda6be8d30a37ccc3814281b284a4582d892a1d556bca063551584edfc2525bed8ea5b6888e7 SHA512 1aa5742c361186637e7855f06feb1a4547e7d4d5de6e51f3d049e0ef3c19e2eff179465f52781739f59422035b7f8e4c0efa3844849f920f3c96acfdc37ca6a6
@@ -44,6 +47,8 @@ EBUILD gcc-14.2.1_p20240921.ebuild 1439 BLAKE2B bb301f0a5817ca5f13b7ba3d921238cc
EBUILD gcc-14.3.9999.ebuild 1410 BLAKE2B 9bae23ee70f670946a0b160e4d4d8a074584097a6b9a1f41c3e08a43271539d30ce7bb3651419a6950c74d24748e8423056dbc857e5c7ae96c7e42992d7395fc SHA512 72b07844e93065dd3dea5fc96f70d9502876932f3b9b8fe898ee0911d3750b47fc7e6fce802c8d8e93481a74ba46de0f9fb15cf48de1c3b347180a4d4c1303cf
EBUILD gcc-15.0.0_pre20240908.ebuild 1360 BLAKE2B 968d28147681b5a6090ddf0362c655aedb5c54883a463d8279df03ba98e967bb201130faaf0d863c815d8a8168c89e476c31c1fbf79ebdeda6430a36cc100467 SHA512 15bd66cda74f11d735c8ede352979ee0b94470bf0497fe8cc07e76e00093e32c5acf5e760e21ad60c73e6187f61e082a76caf7d2970b3e991ff8678ba0c81755
EBUILD gcc-15.0.0_pre20240915.ebuild 1360 BLAKE2B 968d28147681b5a6090ddf0362c655aedb5c54883a463d8279df03ba98e967bb201130faaf0d863c815d8a8168c89e476c31c1fbf79ebdeda6430a36cc100467 SHA512 15bd66cda74f11d735c8ede352979ee0b94470bf0497fe8cc07e76e00093e32c5acf5e760e21ad60c73e6187f61e082a76caf7d2970b3e991ff8678ba0c81755
+EBUILD gcc-15.0.0_pre20240922-r1.ebuild 1623 BLAKE2B 0b852e93d8286cc195cafd1ec64f34f1ee8692ebf01d384153560e89aabeebc9d2743609a2e338f37cef27e51c9bb527270d54aaeff2458cc715b8594c7c2c60 SHA512 079cf0810db3bfd1d6f5e1c43c2065df7f8227f75358828c7a5bdd29c9762e884cc47d85f81674e2db17640ed55c6500a1b36c2cbab26b5c76877205cabb2665
+EBUILD gcc-15.0.0_pre20240922.ebuild 1519 BLAKE2B fa815699c48c899de559b9e4b709e0a222c77c57739abde8794d00ca7bc280ead3bb0ddbe59b20473983062845960b3d96ea93280dd906a8760057a249dd3f13 SHA512 d5477d099fc02574bfcb0fe7c829087ad94a2a5d801982a94075190ece5ca3e45c4699de5d73ab0488ac43ee66ac5ee69bc296f49a33ea897a2cf2c09fb25807
EBUILD gcc-15.0.9999.ebuild 1332 BLAKE2B 6f17f77603522bac72d4d57094cc086263a9bfe6273c04d91b169ebc23d78fa2943c0950d4a40fe846d9d92648e54ca54ad1cecd5446ed5710062f9dca569b4b SHA512 4e4a673229a36dee68238e10efb2d9e0ff1c530411395e5230bbf567c92342a4b79d0ecb0ec91573c52fd8b5efd5cf6d20e612971848c9529378e0c42c0e213d
EBUILD gcc-8.5.0-r1.ebuild 549 BLAKE2B ff92dcaf33780ec98032b59fa9b9de925e44375d50fdf82f6bedc1747cd37399753b5db4aa6c2af8e983b4a8a1ff38090e8d913252320b4d7f3eb24af2c22c57 SHA512 856d099e61a03b38fe468a82dc94c52d51e4678499c9a10a54ca009ef4cc67e24f8aaf984dc5eea2604b6db36f4eaf29ac8cf81ef7651b2221758f4f07898996
EBUILD gcc-9.5.0.ebuild 1257 BLAKE2B b398cea6cb4227fd126b85feb3e735f6b505236f54aecc9983e46fd30dbfcd8f16e80680c231567212c7cbd524b0d485574f7c5c5830137f9ebeea089a641e90 SHA512 0faea0a2389563bede22ba172ae6ab490a693c221bf6700152e9f63b23fad8d74a595a50c40cdf2eed32ee5e9cdddfdb6e2907629036c94034327f5772c93f6f
diff --git a/sys-devel/gcc/files/gcc-15.0.0_pre20240922-middle-end-check-explicitly-for-external-or-constant.patch b/sys-devel/gcc/files/gcc-15.0.0_pre20240922-middle-end-check-explicitly-for-external-or-constant.patch
new file mode 100644
index 000000000000..6dcc1a46c96a
--- /dev/null
+++ b/sys-devel/gcc/files/gcc-15.0.0_pre20240922-middle-end-check-explicitly-for-external-or-constant.patch
@@ -0,0 +1,93 @@
+https://inbox.sourceware.org/gcc-patches/patch-18806-tamar@arm.com/T/#u
+https://gcc.gnu.org/PR116817
+
+From 9a5d1eb943dcaf26551b534eb62cbf1dd8443335 Mon Sep 17 00:00:00 2001
+Message-ID: <9a5d1eb943dcaf26551b534eb62cbf1dd8443335.1727104663.git.sam@gentoo.org>
+From: Tamar Christina <tamar.christina@arm.com>
+Date: Mon, 23 Sep 2024 15:29:52 +0100
+Subject: [PATCH] middle-end: check explicitly for external or constants when
+ checking for loop invariant [PR116817]
+
+Hi All,
+
+The previous check if a value was external was checking
+!vect_get_internal_def (vinfo, var) but this of course isn't completely right
+as they could reductions etc.
+
+This changes the check to just explicitly look at externals and constants.
+Note that reductions remain unhandled here, but we don't support codegen of
+boolean reductions today anyway.
+
+So at the time we do then this would have the be handled as well in lowering.
+
+Bootstrapped Regtested on aarch64-none-linux-gnu and no issues.
+
+Ok for master?
+
+Thanks,
+Tamar
+
+gcc/ChangeLog:
+
+ PR tree-optimization/116817
+ * tree-vect-patterns.cc (vect_recog_bool_pattern): Check for const or
+ externals.
+
+gcc/testsuite/ChangeLog:
+
+PR tree-optimization/116817
+ * g++.dg/vect/pr116817.cc: New test.
+---
+ gcc/testsuite/g++.dg/vect/pr116817.cc | 16 ++++++++++++++++
+ gcc/tree-vect-patterns.cc | 5 ++++-
+ 2 files changed, 20 insertions(+), 1 deletion(-)
+ create mode 100644 gcc/testsuite/g++.dg/vect/pr116817.cc
+
+diff --git a/gcc/testsuite/g++.dg/vect/pr116817.cc b/gcc/testsuite/g++.dg/vect/pr116817.cc
+new file mode 100644
+index 00000000000..7e28982fb13
+--- /dev/null
++++ b/gcc/testsuite/g++.dg/vect/pr116817.cc
+@@ -0,0 +1,16 @@
++/* { dg-do compile } */
++/* { dg-additional-options "-O3" } */
++
++int main_ulData0;
++unsigned *main_pSrcBuffer;
++int main(void) {
++ int iSrc = 0;
++ bool bData0;
++ for (; iSrc < 4; iSrc++) {
++ if (bData0)
++ main_pSrcBuffer[iSrc] = main_ulData0;
++ else
++ main_pSrcBuffer[iSrc] = 0;
++ bData0 = !bData0;
++ }
++}
+diff --git a/gcc/tree-vect-patterns.cc b/gcc/tree-vect-patterns.cc
+index e7e877dd2ad..b913d6de003 100644
+--- a/gcc/tree-vect-patterns.cc
++++ b/gcc/tree-vect-patterns.cc
+@@ -6062,12 +6062,15 @@ vect_recog_bool_pattern (vec_info *vinfo,
+ if (get_vectype_for_scalar_type (vinfo, type) == NULL_TREE)
+ return NULL;
+
++ stmt_vec_info var_def_info = vinfo->lookup_def (var);
+ if (check_bool_pattern (var, vinfo, bool_stmts))
+ var = adjust_bool_stmts (vinfo, bool_stmts, type, stmt_vinfo);
+ else if (integer_type_for_mask (var, vinfo))
+ return NULL;
+ else if (TREE_CODE (TREE_TYPE (var)) == BOOLEAN_TYPE
+- && !vect_get_internal_def (vinfo, var))
++ && var_def_info
++ && (STMT_VINFO_DEF_TYPE (var_def_info) == vect_external_def
++ || STMT_VINFO_DEF_TYPE (var_def_info) == vect_constant_def))
+ {
+ /* If the condition is already a boolean then manually convert it to a
+ mask of the given integer type but don't set a vectype. */
+
+base-commit: 358db2e3ed4acf44282d1d9ebbc4a1a3b6e38d21
+--
+2.46.1
+
diff --git a/sys-devel/gcc/gcc-15.0.0_pre20240922-r1.ebuild b/sys-devel/gcc/gcc-15.0.0_pre20240922-r1.ebuild
new file mode 100644
index 000000000000..de217fae9b75
--- /dev/null
+++ b/sys-devel/gcc/gcc-15.0.0_pre20240922-r1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2024 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="12"
+MUSL_VER="2"
+MUSL_GCC_VER="15.0.0"
+PYTHON_COMPAT=( python3_{10..12} )
+
+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
+
+SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/gcc-15-20240922-rollup-patches.tar.xz"
+
+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 "${WORKDIR}"/gcc-15-20240922-rollup-patches
+ eapply "${FILESDIR}"/gcc-15.0.0_pre20240922-middle-end-check-explicitly-for-external-or-constant.patch
+ eapply_user
+}
diff --git a/sys-devel/gcc/gcc-15.0.0_pre20240922.ebuild b/sys-devel/gcc/gcc-15.0.0_pre20240922.ebuild
new file mode 100644
index 000000000000..0078bac5b176
--- /dev/null
+++ b/sys-devel/gcc/gcc-15.0.0_pre20240922.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 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="12"
+MUSL_VER="2"
+MUSL_GCC_VER="15.0.0"
+PYTHON_COMPAT=( python3_{10..12} )
+
+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
+
+SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/gcc-15-20240922-rollup-patches.tar.xz"
+
+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 "${WORKDIR}"/gcc-15-20240922-rollup-patches
+ eapply_user
+}
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index e5d97b3ae5b9..62a37b87f53d 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -2,6 +2,7 @@ DIST llvm-15.0.7-manpages.tar.bz2 228425 BLAKE2B 573b030a32407cfe241fb2c8c62bed8
DIST llvm-16.0.4-manpages.tar.bz2 243154 BLAKE2B 69308e3ec19d750e7249b7c8cd79224c466b879c67dd900e201339486fa7fa4dd6ef9ef5b033b2443b32c3530cc76564fe2856a76f9b466fdab2b5c64148f089 SHA512 2d2b711adbd20a233d0611f81393faa29a2f32f0e64799a9a48185876045023ca1320becd2da110fbcbfce019a38df0d7c13fcaea3770b4fc23aa732eb11321b
DIST llvm-17.0.1-manpages.tar.bz2 263148 BLAKE2B 6485a261e356eacc4a274f9b8d329b53f11a37a23effea41a12322f6908bbe702dc1a97bfd10293061f01f1dbff8693e9324ab3dce2551e78eab128dbd7fea30 SHA512 963ff1b7aa0cb01ed0c0356a0adc3a315d94e78035e928dc81464f553e722633a17596e421c248968e87e22ae66f1ab9cccda5fd3388d1a6d34b5e9c6140ebcb
DIST llvm-18.1.0-manpages.tar.bz2 270429 BLAKE2B d85d6e23197184dc512019c25805af0aa145eefb4c36215807c1ba70ad47943c05c06dbaafd84a7e6487bdd83814e03277374e095d97b129e3fc8d468c10741c SHA512 5f492c85fad4e04e0148ea509f4b6520de9e2765c51e617363a11aa8e47c2d847f6b0897958ca1d93bccf0f6a9150868b7e04c728bd430c05bf2da30bdeba6cc
+DIST llvm-19.1.0-manpages.tar.bz2 286165 BLAKE2B d96df2e748d2d52af2e8b7023f59af9ab53a9e59480ff228726bf629f1ecd813af80f3ba4126919092beb7ad8214193e828f997d300c705b0d8b90d6aedb22ee SHA512 aed63dee6629fe9116a9ce21e8bfb0e2c0b80ad276c6551f445ef01c71e130fef1615679adba8386ab57cac5104a153919e0b0df6bd66e023c5f0398081d2374
DIST llvm-gentoo-patchset-15.0.7-r3.tar.xz 24268 BLAKE2B 6531ae385ecea87bc26dba8ce19b4cde8ff224c80fd81f04c6ded131e305ecfdeb8d29ebd3b68a641d240805dc83eb0ebc7cc85124f02ad0ee66e0f201b91d7e SHA512 66cb33f8b423736b990fb75d4f2d1e5f14c0b03308f403297204dd1a352d72f85f34220fd66d3de5d6df328cdf2ffce03c2a111cb0bb57791cf68a88069ac7df
DIST llvm-gentoo-patchset-15.0.7-r6.tar.xz 25208 BLAKE2B c9fca31a053ee059c3060a94dcf675d472fc1a59b5f927648de58fb4ff20bfc229890f789ed47b3d053bd466b860a0c60a53b4b024a8fe18c776e9a72434d6de SHA512 601cd923711839dca7cb5bfea53ded644777c6340265a797939a53409fd2ca27059a015fd6ca6832e60314699ade27919a9a59dab395cc27f8fdc479a0f3c034
DIST llvm-gentoo-patchset-15.0.7-r7.tar.xz 26012 BLAKE2B a3b6059e18e1347b1da18ef6eb66e12de8980d1fe6b7e92189dd1ce36b16e31d940e45e5f99bd53c30a5780c26ff0686adf5373d3469b8a9b3c5f44d83827832 SHA512 3eb7c36793a6fa0ff585a7732287f6a14141e6c9c9a20b37390303d46372ee9d9a768597e64c77de0731d9aa4c26295f26b36bbc26c69dfbd8ab14cb2564a171