diff options
Diffstat (limited to 'sys-devel')
-rw-r--r-- | sys-devel/Manifest.gz | bin | 6218 -> 6220 bytes | |||
-rw-r--r-- | sys-devel/crossdev/Manifest | 4 | ||||
-rw-r--r-- | sys-devel/crossdev/crossdev-20250410.ebuild | 42 | ||||
-rw-r--r-- | sys-devel/crossdev/crossdev-99999999.ebuild | 4 | ||||
-rw-r--r-- | sys-devel/gcc/Manifest | 5 | ||||
-rw-r--r-- | sys-devel/gcc/files/gcc-15.0.1_pre20250406-compare-debug.patch | 88 | ||||
-rw-r--r-- | sys-devel/gcc/files/gcc-15.0.1_pre20250406-de-locale.patch | 216 | ||||
-rw-r--r-- | sys-devel/gcc/files/gcc-15.0.1_pre20250406-qt.patch | 77 | ||||
-rw-r--r-- | sys-devel/gcc/files/gcc-15.0.1_pre20250406-simplify-oops.patch | 81 | ||||
-rw-r--r-- | sys-devel/gcc/gcc-15.0.1_pre20250406-r2.ebuild | 59 |
10 files changed, 574 insertions, 2 deletions
diff --git a/sys-devel/Manifest.gz b/sys-devel/Manifest.gz Binary files differindex 18f5722a16e1..e030a5f74889 100644 --- a/sys-devel/Manifest.gz +++ b/sys-devel/Manifest.gz diff --git a/sys-devel/crossdev/Manifest b/sys-devel/crossdev/Manifest index 7166ff1be81e..a89e7f9e9994 100644 --- a/sys-devel/crossdev/Manifest +++ b/sys-devel/crossdev/Manifest @@ -2,9 +2,11 @@ DIST crossdev-20240921.tar.xz 31008 BLAKE2B 9daeabcbeefa32624d71b86c5ddeb1f6bf6c DIST crossdev-20241202.tar.xz 33032 BLAKE2B 74ec859e1ae5f816397349c18f8bd98d8fae2f4de471112d70621767733a6c91dfffaabb33afc4bdabf5bed31b83a0cdf8afaffaba3e0df95f70d43cf249fb94 SHA512 c6a8c534135aa15b2005546d3f006953570de1e54ae3d3170c71bed62f044c2db79412ecde3b91fd85fca92e7c996762ba086db29c6132f6f1d9e9a48f1e79ea DIST crossdev-20241215.tar.xz 33028 BLAKE2B 3b33284f55fe41a45bfeea1dbc273a828eeceada38d4274f9fcaab06a1d9b342efaa0fcad407bb5a5d921515acc18dac0e4923240e2610a425f7c508b6274ecd SHA512 84960b518767aacc7400cfa32d36b15492dd5e3908c36c0f513470fdfbaedde04d24aecaf0f5020bf69cd7c2095da1cc2961ae090e90340a176292299bbfaf25 DIST crossdev-20250106.tar.xz 33124 BLAKE2B 45992cd29a6dd48f97d871ba5f4b09b18797c76389a5839c7b02e23b765556561f9b442d594a6bed58ff670e69d4efc27f37cdb1f6bb1722fd1d18e0bc50cc5f SHA512 8d9cdb194f3477dcbe605c4f8126be013e9193acb716e2b12e8f51f826087bbac3f50b44268c150d4e9f86b78182a0b4b323634b0040f0a815dc4a075c662c75 +DIST crossdev-20250410.tar.xz 33292 BLAKE2B b4c41757ff705866fb3c7420e10d1325977937c50801600002639984dd39b90ebf4fadbde5a09bae02eba2ca17261db32f5275b1599858b2b7c961e3eb85d82f SHA512 aa6c1657d23c96b6109e49ac517dd9550d731f0af508359be55fa8c641675bd4205223eb492e7c94fd69dd86999124d7d0f4766cf1bc17a3dd953f457bf85c9b EBUILD crossdev-20240921.ebuild 954 BLAKE2B 5ae957db542f8ff8fcadc1dbb054e241c4ae3fe46d9a186941c135f54b41bcb4813f3185f79bfe138a8389b23088c030f6d193c60b78ce2dcf9a84eddb6b40cb SHA512 e2a45deb36b708337c9e717026351de14d455a2feb405ca047b5ab105305ce31b41d7c405cfbc42b0d39526f8fafdbb854caeb7e51fc660885c28256599ebcef EBUILD crossdev-20241202.ebuild 952 BLAKE2B d169d0136dd9e34c894bf9a5aa2326ae015e623e085c9fd823479e137b2749b03c4918a9578be951261d0e4503f231aa2404a9beff0ebb3e2200d557e11e3394 SHA512 d1334b75a608b85b19deb10552521fd04cbd7ebddda862fde0900eca6470c9cad68de3789957cdab0189a2e6d78df118d27f649bd20d439e2894194deaf291b0 EBUILD crossdev-20241215.ebuild 952 BLAKE2B 711c871a444c0f91fa4a6155a48b3ab616dce90ab4ee2d848a72f3ad8d69c7c11e8150a292a8f1eeaddb72f3373f614e5ee5cd22c6e712df3a9aa9278a83c205 SHA512 bb4edb3444a83cfa3e089fe2705fef6f705b7cd0c24936e21a2ef4506e873d361dd7b1d2865fd8bb5bd96266c3ecb8afa0106576a46ecdc839bc808b5122a879 EBUILD crossdev-20250106.ebuild 960 BLAKE2B 31aa511ad91306aa6d7a3d3f2b2e98ad29c949477ec4cc2fdee752c388891f3fe7fab664dc4e4c29031e654d965157ea230d77581fb60d7848310a3709d41219 SHA512 8053620f747571acfb047278844f804a717e27c73088622e19e199e6da99f8fafcde87350cb6046492262bf0d94f09dae16f00d9d18e09c5160e0cd88e025397 -EBUILD crossdev-99999999.ebuild 960 BLAKE2B 8e9e752d6c74cc8812ba110c018607fde79945f487d8f7915c2a61e112d56c3c3a7a23d6ca64a149d34f10753467162a2e52d03e44bcf869350d32a857b63756 SHA512 a233556b61751d4c0b10c66b6cb1390a879e2e619c3f9d7329c20ce2c5252060760b4d0c59f961ec3994e298c587ba8d24097fa54f5b99a6332c5988485a9219 +EBUILD crossdev-20250410.ebuild 1027 BLAKE2B 727ffc70d7585a600b4507ff9796c395869475f17a07738b4331588fe996e44395c2f08b14fc9ef45dac95b0960fb252ea8f9089f7f8b5a9a2757ad52bce88ad SHA512 be5adbb13050e57bb2ec7e889e6f31d7b9d426dd30e75180be5c20dac1cb3e0f5d4de3898b6cf3c345cd4f8b6f99e65ad977c9fc181ecec9c1771d6fad3332a3 +EBUILD crossdev-99999999.ebuild 1027 BLAKE2B 727ffc70d7585a600b4507ff9796c395869475f17a07738b4331588fe996e44395c2f08b14fc9ef45dac95b0960fb252ea8f9089f7f8b5a9a2757ad52bce88ad SHA512 be5adbb13050e57bb2ec7e889e6f31d7b9d426dd30e75180be5c20dac1cb3e0f5d4de3898b6cf3c345cd4f8b6f99e65ad977c9fc181ecec9c1771d6fad3332a3 MISC metadata.xml 624 BLAKE2B 3f6609db4ad549927d9e7c0f259926de694435707aba7fabd2d08333294bc38bad42b59b7ab9f6372bec292708ebfdb88d88ee0e8dca1ed29389e33427a1d46e SHA512 4605364fe155bb8facae233aa29fadae23fe3d1f012451f8611933252f81aa3d3337ac9d68feabe059c959e2a94a67a85e6d88f7fa08d6d31e2418034b60010a diff --git a/sys-devel/crossdev/crossdev-20250410.ebuild b/sys-devel/crossdev/crossdev-20250410.ebuild new file mode 100644 index 000000000000..7c9eb35f4b8f --- /dev/null +++ b/sys-devel/crossdev/crossdev-20250410.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +if [[ ${PV} == "99999999" ]] ; then + inherit git-r3 + EGIT_REPO_URI=" + https://anongit.gentoo.org/git/proj/crossdev.git + https://github.com/gentoo/crossdev + " +else + SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +DESCRIPTION="Gentoo Cross-toolchain generator" +HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Crossdev" + +LICENSE="GPL-2" +SLOT="0" + +RDEPEND=" + >=sys-apps/portage-2.1 + app-shells/bash + sys-apps/gentoo-functions + sys-apps/config-site +" +BDEPEND="app-arch/xz-utils" + +src_install() { + default + + if [[ ${PV} == "99999999" ]] ; then + sed -i "s:@CDEVPV@:${EGIT_VERSION}:" "${ED}"/usr/bin/crossdev || die + else + sed -i "s:@CDEVPV@:${PV}:" "${ED}"/usr/bin/crossdev || die + fi + + dodir /usr/share/config.site.d + mv "${ED}"/usr/share/config.site{,.d/80crossdev.conf} || die +} diff --git a/sys-devel/crossdev/crossdev-99999999.ebuild b/sys-devel/crossdev/crossdev-99999999.ebuild index e90b93fce00b..7c9eb35f4b8f 100644 --- a/sys-devel/crossdev/crossdev-99999999.ebuild +++ b/sys-devel/crossdev/crossdev-99999999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="8" @@ -33,6 +33,8 @@ src_install() { if [[ ${PV} == "99999999" ]] ; then sed -i "s:@CDEVPV@:${EGIT_VERSION}:" "${ED}"/usr/bin/crossdev || die + else + sed -i "s:@CDEVPV@:${PV}:" "${ED}"/usr/bin/crossdev || die fi dodir /usr/share/config.site.d diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest index 719946cce628..f24132f6b2d2 100644 --- a/sys-devel/gcc/Manifest +++ b/sys-devel/gcc/Manifest @@ -1,5 +1,9 @@ AUX gcc-13-fix-cross-fixincludes.patch 883 BLAKE2B 1ae33195320754c55f42e1206bcfdf98914af5190df5939a4c7b072a2bc25216c354ea5d76f5171e1b8a150ca7764bdf57cea1bc137c237a5e8bb44713885f1b SHA512 ca9625001f0a10826d75691fdba35ca5783ed2f80e605b935785f8dc7591b0e650dca28bf1fc7e688e27547dddc7ab38232459b4f1865ed10a148978d0e09703 AUX gcc-14.2.1_p20241221-arm-Revert-arm-MVE-intrinsics-Fix-support-for-predicate-.patch 5160 BLAKE2B f229bc58851d348a67d636d65878166479f2eb735dddc6368e21c2cc5b1c2b8660b1c87024c1637a25a9acf609662823337307f21fe9a51fe9cbfc6fdcbb0a16 SHA512 c62e991b826cee7258abfa3f1305fc33b8b0e0dce2aaa1ae5a753b547126d9dde6632894eb72e46c6c78c9777029a7593a4f9afbb6a3ac6d831c63ea0c19decd +AUX gcc-15.0.1_pre20250406-compare-debug.patch 2896 BLAKE2B 3536a3bc04e617f9d7a8113040647ac723b8a85185ed20eaa015cb5bd66acf13c032a6646b8e21c2af175f48f2c07d9b4e4945c5eb03bf3bc20576cb85a6023f SHA512 f2d27778985a6efd1c81f059fb8922f05da2d0370d9f32663f83c13dd3063d2633740e94c9ae897890ceebd14656d5f0ceedcb50846f05fcfcd05ceb020a567a +AUX gcc-15.0.1_pre20250406-de-locale.patch 8453 BLAKE2B 6ae007e3d5f3cce4f129aac09db467cf7af5f1da19f313e753db709f5d125f0a75d9ec14c4bc83ed916732b2f05744e25f54507cb6dfcffbfbb003664396b95c SHA512 54da236e03f14845dbccc3918e42da5a9eb4cfa985c34e78cabbd967f533816e663c5a24d9e6540ff972455335fcd77634b76bfd74401c7c2b9d0ac78527b1dd +AUX gcc-15.0.1_pre20250406-qt.patch 2561 BLAKE2B e8c75a194b2b915f992f2b1ce40f3fc15d8939a50381ead7e22647c11e5d804d456c02aac077e46c404b4f1a02a02b2b7ea3a5708e2c605fbe8d1d1ffc559220 SHA512 fdf2014592b4ccd8a4e3e849fb1f721293c630fd3371c9b417af00919f8a2ac943656ede4dac82b61f6778aeb0f437c295c50923875939073c62a10a0ea788ac +AUX gcc-15.0.1_pre20250406-simplify-oops.patch 2694 BLAKE2B e13d15ec5c1d31761b15779af25f7fa6f89ec5b9d7775215889309d942e59c9c5c12cc48b802878735b6d86d4dfd2640eecb569ea09b04eff0f82d72c2381047 SHA512 96a5d224fab7750e76e3e78e6abea651f151e44380583adc0e4683996752762594a4364c1f29e4c5b04d0e3bb4cff46367b1a9b260aba551a0401a6e65ea586b 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 @@ -64,6 +68,7 @@ EBUILD gcc-14.2.1_p20250322.ebuild 1574 BLAKE2B 6adb8d31e8a39464d81bab35916494df EBUILD gcc-14.2.1_p20250329.ebuild 1574 BLAKE2B 6adb8d31e8a39464d81bab35916494df6a9d595c37b9a1c936016d08a30302173bcc777d6a5605a0ab774a63aa024852f5b3f2c80b87c57622fbea95bcead8d4 SHA512 5dacff91df9d51714f31891aabe6a02d73775bd401b6e349614294eb6e71b092ca3b1ad730acee2bd833680aa701bc98bfed56bf575f3e1c88005aad0234ebe7 EBUILD gcc-14.2.1_p20250405.ebuild 1574 BLAKE2B 6adb8d31e8a39464d81bab35916494df6a9d595c37b9a1c936016d08a30302173bcc777d6a5605a0ab774a63aa024852f5b3f2c80b87c57622fbea95bcead8d4 SHA512 5dacff91df9d51714f31891aabe6a02d73775bd401b6e349614294eb6e71b092ca3b1ad730acee2bd833680aa701bc98bfed56bf575f3e1c88005aad0234ebe7 EBUILD gcc-14.3.9999.ebuild 1544 BLAKE2B cc463c5c5a86e4d7d1695493a80c13f4cc4a1583d349960c1594a4704f83e5eef411825a467c9ba6230b4bb37f6ae14fa99f50a145ceee1ea75f1602a9ff5ae5 SHA512 e9ee5685b18fe8fb078ac976fda9c9569ea839f5291ab55197526fd00e269db827845c18a3e6b765943ecaef5415ea311fc0d0ccabc6c447666149fd502f9b36 +EBUILD gcc-15.0.1_pre20250406-r2.ebuild 1666 BLAKE2B 5813997189644f141c9273b073c53ade1d8af6101a57d8a43abfdaf20ad1e764cdd106834c21f787b299449d765d32c98491ef06aa2ae091501ba436e02992da SHA512 934d3c3e41e86bd17226df20d017ca43fe6839c7ad569ef46a45ce8530dc5534559dc65b3ba7f8182134baa9cd2da489649e4b70fa207fb5758ec8c1eba56ef7 EBUILD gcc-15.0.1_pre20250406.ebuild 1493 BLAKE2B 8019599974c61a62d9e486597336cc7824807858ddb8641bc1f3088c1b5a2130eedadea685d5a9882922b3359516064903842ff170575189c227b206ca0fe5a5 SHA512 6c526f3f5248023a702c30004bbb32ffc7e26e25250730dfc38180e0ac0a309284e6ed7ef53118bd91861bde06ace3a38bbbdc5bf327aa387e7b750d74b1de3a EBUILD gcc-15.0.9999.ebuild 1466 BLAKE2B 32e002d112c6523b45e80c43cfebdcd53dd2ef85d55edfd55c2b532c8ced6dce972ef00c37810f5f2af6d87fe8e103eaba39b92c793088acc4dc87b6052f772b SHA512 4c6aeccac90f8b8ba41d8deef7276513026db3560e7f9a5aa7db983670b6b38339d04d75d0cdf601d4174c11f0b7b9f426d85087c19dffed9f1401f8541dc9f0 EBUILD gcc-8.5.0-r2.ebuild 683 BLAKE2B baac476321e8c074abe7d261aea13046f0d6508297c28e6b29708b56e1831318dba86273cd20985a9a41f40f12f2861121e6bdf563c627c2cb3d8fa59df3f799 SHA512 6872ad082f203aec401a7916cff7388eb9fdefb20651e61ecfad9a45a983820d499d200bc9ba50b60e0548134b7d2ea1739a185d0a07c08c522080e84b324338 diff --git a/sys-devel/gcc/files/gcc-15.0.1_pre20250406-compare-debug.patch b/sys-devel/gcc/files/gcc-15.0.1_pre20250406-compare-debug.patch new file mode 100644 index 000000000000..5fd89cd8e5e9 --- /dev/null +++ b/sys-devel/gcc/files/gcc-15.0.1_pre20250406-compare-debug.patch @@ -0,0 +1,88 @@ +https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=088887de7717a22b1503760e9b79dfbe22a0f428 + +From 088887de7717a22b1503760e9b79dfbe22a0f428 Mon Sep 17 00:00:00 2001 +From: Richard Biener <rguenther@suse.de> +Date: Wed, 9 Apr 2025 14:36:19 +0200 +Subject: [PATCH] rtl-optimization/119689 - compare-debug failure with LRA + +The previous change to fix LRA rematerialization broke compare-debug +for i586 bootstrap. Fixed by using prev_nonnote_nondebug_insn +instead of prev_nonnote_insn. + + PR rtl-optimization/119689 + PR rtl-optimization/115568 + * lra-remat.cc (create_cands): Use prev_nonnote_nondebug_insn + to check whether insn2 is directly before insn. + + * g++.target/i386/pr119689.C: New testcase. +--- + gcc/lra-remat.cc | 2 +- + gcc/testsuite/g++.target/i386/pr119689.C | 44 ++++++++++++++++++++++++ + 2 files changed, 45 insertions(+), 1 deletion(-) + create mode 100644 gcc/testsuite/g++.target/i386/pr119689.C + +diff --git a/gcc/lra-remat.cc b/gcc/lra-remat.cc +index 2f3afffcf5be..5f823193aa73 100644 +--- a/gcc/lra-remat.cc ++++ b/gcc/lra-remat.cc +@@ -460,7 +460,7 @@ create_cands (void) + && dst_regno >= FIRST_PSEUDO_REGISTER + && reg_renumber[dst_regno] < 0 + && BLOCK_FOR_INSN (insn2) == BLOCK_FOR_INSN (insn) +- && insn2 == prev_nonnote_insn (insn)) ++ && insn2 == prev_nonnote_nondebug_insn (insn)) + { + create_cand (insn2, regno_potential_cand[src_regno].nop, + dst_regno, insn); +diff --git a/gcc/testsuite/g++.target/i386/pr119689.C b/gcc/testsuite/g++.target/i386/pr119689.C +new file mode 100644 +index 000000000000..cdc6d2dade53 +--- /dev/null ++++ b/gcc/testsuite/g++.target/i386/pr119689.C +@@ -0,0 +1,44 @@ ++// { dg-do compile } ++// { dg-options "-O2 -fcompare-debug" } ++// { dg-additional-options "-march=i586 -mtune=generic" { target ia32 } } ++// { dg-additional-options "-fPIC" { target { fpic } } } ++ ++enum gimple_code { GIMPLE_ASSIGN, GIMPLE_RETURN }; ++bool is_gimple_call(); ++int m_sig, m_exp, sreal_new_exp; ++struct sreal { ++ sreal(long long sig) { ++ long long __trans_tmp_6 = sig >= 0 ? sig : -(unsigned long long)sig; ++ sig = __trans_tmp_6 <<= sreal_new_exp -= m_exp = __trans_tmp_6; ++ m_sig = sig; ++ } ++ void operator/(sreal); ++}; ++struct ipa_predicate { ++ ipa_predicate(bool = true); ++ void operator&=(ipa_predicate); ++ void operator&(ipa_predicate); ++}; ++void add_condition(); ++gimple_code eliminated_by_inlining_prob_code; ++static int eliminated_by_inlining_prob() { ++ switch (eliminated_by_inlining_prob_code) { ++ case GIMPLE_RETURN: ++ return 2; ++ case GIMPLE_ASSIGN: ++ return 1; ++ } ++ return 0; ++} ++void fp_expression_p() { ++ ipa_predicate bb_predicate; ++ for (;;) { ++ int prob = eliminated_by_inlining_prob(); ++ ipa_predicate sra_predicate; ++ sra_predicate &= add_condition; ++ if (is_gimple_call()) ++ sreal(prob) / 2; ++ if (prob != 2) ++ bb_predicate & sra_predicate; ++ } ++} +-- +2.43.5 diff --git a/sys-devel/gcc/files/gcc-15.0.1_pre20250406-de-locale.patch b/sys-devel/gcc/files/gcc-15.0.1_pre20250406-de-locale.patch new file mode 100644 index 000000000000..e0ccde38b94f --- /dev/null +++ b/sys-devel/gcc/files/gcc-15.0.1_pre20250406-de-locale.patch @@ -0,0 +1,216 @@ +https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=1f32b87117b0e2ecc33b844d929d723de3fe8085 + +From 1f32b87117b0e2ecc33b844d929d723de3fe8085 Mon Sep 17 00:00:00 2001 +From: Jakub Jelinek <jakub@redhat.com> +Date: Thu, 10 Apr 2025 18:39:52 +0200 +Subject: [PATCH] c++: Use G_ instead of _ around cp/errors.cc + gcc-internal-format strings [PR119684] + +These pp_printf/pp_verbatim format strings should be gcc-internal-format, +they use the pretty-print.cc format specifier handling rather than libc +*printf, but pp_printf/pp_verbatim are intentionally not handled through +exgettext because not everything done through them should be translated +(e.g. its use for dump files shouldn't be). +In addition, composing translatable messages from +"in requirements " and later on "with " might make it harder to be +translated. + +I've verified these strings (at least those which don't use format +specifiers added post GCC 4.3 which gettext doesn't handle) are properly +marked as gcc-internal-format in gcc.pot. The lack of that caused +ICEs on German translation of the "%s%s%sIn instantiation of %q#D:\n" +message because it contained too many %s. + +2025-04-10 Jakub Jelinek <jakub@redhat.com> + + PR translation/119684 + * error.cc (cp_print_error_function): Use G_ instead of _ for + pp_printf arguments. + (function_category): Use G_ instead of _. + (print_instantiation_full_context): Use G_ instead of _ in pp_verbatim + arguments. + (print_location): Likewise. + (print_instantiation_partial_context): Likewise. + (maybe_print_constexpr_context): Likewise. + (print_constrained_decl_info): Use G_() around pp_verbatim argument. + (print_concept_check_info): Likewise. + (print_constraint_context_head): Likewise. + (print_requires_expression_info): Likewise. Merge separate pp_verbatim + "in requirements " and "with " into one with conditional messages. +--- + gcc/cp/error.cc | 59 ++++++++++++++++++++++++------------------------- + 1 file changed, 29 insertions(+), 30 deletions(-) + +diff --git a/gcc/cp/error.cc b/gcc/cp/error.cc +index ec7527e96d18..499eb1b15a85 100644 +--- a/gcc/cp/error.cc ++++ b/gcc/cp/error.cc +@@ -3788,18 +3788,18 @@ cp_print_error_function (diagnostic_text_output_format &text_output, + { + if (text_output.show_column_p () && s.column != 0) + pp_printf (pp, +- _(" inlined from %qD at %r%s:%d:%d%R"), ++ G_(" inlined from %qD at %r%s:%d:%d%R"), + fndecl, + "locus", s.file, s.line, s.column); + else + pp_printf (pp, +- _(" inlined from %qD at %r%s:%d%R"), ++ G_(" inlined from %qD at %r%s:%d%R"), + fndecl, + "locus", s.file, s.line); + + } + else +- pp_printf (pp, _(" inlined from %qD"), ++ pp_printf (pp, G_(" inlined from %qD"), + fndecl); + } + } +@@ -3825,22 +3825,22 @@ function_category (tree fn) + && DECL_FUNCTION_MEMBER_P (fn)) + { + if (DECL_STATIC_FUNCTION_P (fn)) +- return _("In static member function %qD"); ++ return G_("In static member function %qD"); + else if (DECL_COPY_CONSTRUCTOR_P (fn)) +- return _("In copy constructor %qD"); ++ return G_("In copy constructor %qD"); + else if (DECL_CONSTRUCTOR_P (fn)) +- return _("In constructor %qD"); ++ return G_("In constructor %qD"); + else if (DECL_DESTRUCTOR_P (fn)) +- return _("In destructor %qD"); ++ return G_("In destructor %qD"); + else if (LAMBDA_FUNCTION_P (fn)) +- return _("In lambda function"); ++ return G_("In lambda function"); + else if (DECL_XOBJ_MEMBER_FUNCTION_P (fn)) +- return _("In explicit object member function %qD"); ++ return G_("In explicit object member function %qD"); + else +- return _("In member function %qD"); ++ return G_("In member function %qD"); + } + else +- return _("In function %qD"); ++ return G_("In function %qD"); + } + + /* Disable warnings about missing quoting in GCC diagnostics for +@@ -3867,8 +3867,8 @@ print_instantiation_full_context (diagnostic_text_output_format &text_output) + char *indent = text_output.build_indent_prefix (true); + pp_verbatim (text_output.get_printer (), + p->list_p () +- ? _("%s%s%sIn substitution of %qS:\n") +- : _("%s%s%sIn instantiation of %q#D:\n"), ++ ? G_("%s%s%sIn substitution of %qS:\n") ++ : G_("%s%s%sIn instantiation of %q#D:\n"), + indent, + show_file ? LOCATION_FILE (location) : "", + show_file ? ": " : "", +@@ -3888,10 +3888,10 @@ print_location (diagnostic_text_output_format &text_output, + expanded_location xloc = expand_location (loc); + pretty_printer *const pp = text_output.get_printer (); + if (text_output.show_column_p ()) +- pp_verbatim (pp, _("%r%s:%d:%d:%R "), ++ pp_verbatim (pp, G_("%r%s:%d:%d:%R "), + "locus", xloc.file, xloc.line, xloc.column); + else +- pp_verbatim (pp, _("%r%s:%d:%R "), ++ pp_verbatim (pp, G_("%r%s:%d:%R "), + "locus", xloc.file, xloc.line); + } + +@@ -3984,22 +3984,22 @@ print_instantiation_partial_context_line (diagnostic_text_output_format &text_ou + if (t->list_p ()) + pp_verbatim (pp, + recursive_p +- ? _("recursively required by substitution of %qS\n") +- : _("required by substitution of %qS\n"), ++ ? G_("recursively required by substitution of %qS\n") ++ : G_("required by substitution of %qS\n"), + t->get_node ()); + else + pp_verbatim (pp, + recursive_p +- ? _("recursively required from %q#D\n") +- : _("required from %q#D\n"), ++ ? G_("recursively required from %q#D\n") ++ : G_("required from %q#D\n"), + t->get_node ()); + } + else + { + pp_verbatim (pp, + recursive_p +- ? _("recursively required from here\n") +- : _("required from here\n")); ++ ? G_("recursively required from here\n") ++ : G_("required from here\n")); + } + } + +@@ -4049,8 +4049,8 @@ print_instantiation_partial_context (diagnostic_text_output_format &text_output, + { + auto_context_line sentinel (text_output, loc); + pp_verbatim (text_output.get_printer (), +- _("[ skipping %d instantiation contexts," +- " use -ftemplate-backtrace-limit=0 to disable ]\n"), ++ G_("[ skipping %d instantiation contexts," ++ " use -ftemplate-backtrace-limit=0 to disable ]\n"), + skip); + do { + loc = t->locus; +@@ -4101,7 +4101,7 @@ maybe_print_constexpr_context (diagnostic_text_output_format &text_output) + pretty_printer *const pp = text_output.get_printer (); + auto_context_line sentinel (text_output, EXPR_LOCATION (t)); + pp_verbatim (pp, +- _("in %<constexpr%> expansion of %qs"), ++ G_("in %<constexpr%> expansion of %qs"), + s); + pp_newline (pp); + } +@@ -4114,7 +4114,7 @@ print_constrained_decl_info (diagnostic_text_output_format &text_output, + { + auto_context_line sentinel (text_output, DECL_SOURCE_LOCATION (decl)); + pretty_printer *const pp = text_output.get_printer (); +- pp_verbatim (pp, "required by the constraints of %q#D\n", decl); ++ pp_verbatim (pp, G_("required by the constraints of %q#D\n"), decl); + } + + static void +@@ -4129,7 +4129,7 @@ print_concept_check_info (diagnostic_text_output_format &text_output, + + cxx_pretty_printer *const pp + = (cxx_pretty_printer *)text_output.get_printer (); +- pp_verbatim (pp, "required for the satisfaction of %qE", expr); ++ pp_verbatim (pp, G_("required for the satisfaction of %qE"), expr); + if (map && map != error_mark_node) + { + tree subst_map = tsubst_parameter_mapping (map, args, tf_none, NULL_TREE); +@@ -4151,7 +4151,7 @@ print_constraint_context_head (diagnostic_text_output_format &text_output, + { + auto_context_line sentinel (text_output, input_location); + pretty_printer *const pp = text_output.get_printer (); +- pp_verbatim (pp, "required for constraint satisfaction\n"); ++ pp_verbatim (pp, G_("required for constraint satisfaction\n")); + return NULL_TREE; + } + if (DECL_P (src)) +@@ -4180,11 +4180,10 @@ print_requires_expression_info (diagnostic_text_output_format &text_output, + auto_context_line sentinel (text_output, cp_expr_loc_or_input_loc (expr)); + cxx_pretty_printer *const pp + = static_cast <cxx_pretty_printer *> (text_output.get_printer ()); +- pp_verbatim (pp, "in requirements "); + + tree parms = TREE_OPERAND (expr, 0); +- if (parms) +- pp_verbatim (pp, "with "); ++ pp_verbatim (pp, parms ? G_("in requirements with ") ++ : G_("in requirements ")); + while (parms) + { + pp_verbatim (pp, "%q#D", parms); +-- +2.43.5 diff --git a/sys-devel/gcc/files/gcc-15.0.1_pre20250406-qt.patch b/sys-devel/gcc/files/gcc-15.0.1_pre20250406-qt.patch new file mode 100644 index 000000000000..86874faf6fdf --- /dev/null +++ b/sys-devel/gcc/files/gcc-15.0.1_pre20250406-qt.patch @@ -0,0 +1,77 @@ +https://inbox.sourceware.org/gcc-patches/20250409151104.2600656-1-ppalka@redhat.com/ + +From 660e4bf9391692acb0bb18ba5eb38e689ae0a8a6 Mon Sep 17 00:00:00 2001 +Message-ID: <660e4bf9391692acb0bb18ba5eb38e689ae0a8a6.1744212391.git.sam@gentoo.org> +From: Patrick Palka <ppalka@redhat.com> +Date: Wed, 9 Apr 2025 11:11:04 -0400 +Subject: [PATCH] c++: alias_ctad_tweaks ICE w/ inherited CTAD [PR119687] + +With inherited CTAD the set of guides may be a two-dimensional overload +set (i.e. OVERLOADs containing OVERLOADs) so alias_ctad_tweaks (which +also handles the inherited CTAD transformation) needs to use the 2D-aware +lkp_iterator instead of ovl_iterator. Actually, we might as well use +the more idiomatic lkp_range here. + + PR c++/119687 + +gcc/cp/ChangeLog: + + * pt.cc (alias_ctad_tweaks): Use lkp_range / lkp_iterator + instead of ovl_iterator. + +gcc/testsuite/ChangeLog: + +* g++.dg/cpp23/class-deduction-inherited8.C: New test. +--- + gcc/cp/pt.cc | 3 +-- + .../g++.dg/cpp23/class-deduction-inherited8.C | 21 +++++++++++++++++++ + 2 files changed, 22 insertions(+), 2 deletions(-) + create mode 100644 gcc/testsuite/g++.dg/cpp23/class-deduction-inherited8.C + +diff --git a/gcc/cp/pt.cc b/gcc/cp/pt.cc +index 0e120c4040ed..352a7f4ed316 100644 +--- a/gcc/cp/pt.cc ++++ b/gcc/cp/pt.cc +@@ -30937,9 +30937,8 @@ alias_ctad_tweaks (tree tmpl, tree uguides) + tree aguides = NULL_TREE; + tree atparms = INNERMOST_TEMPLATE_PARMS (fullatparms); + unsigned natparms = TREE_VEC_LENGTH (atparms); +- for (ovl_iterator iter (uguides); iter; ++iter) ++ for (tree f : lkp_range (uguides)) + { +- tree f = *iter; + tree in_decl = f; + location_t loc = DECL_SOURCE_LOCATION (f); + tree ret = TREE_TYPE (TREE_TYPE (f)); +diff --git a/gcc/testsuite/g++.dg/cpp23/class-deduction-inherited8.C b/gcc/testsuite/g++.dg/cpp23/class-deduction-inherited8.C +new file mode 100644 +index 000000000000..79fceadd9e1c +--- /dev/null ++++ b/gcc/testsuite/g++.dg/cpp23/class-deduction-inherited8.C +@@ -0,0 +1,21 @@ ++// PR c++/119687 ++// { dg-do compile { target c++20 } } ++ ++template <typename> class QFlagsStorage{}; ++ ++template <typename Enum> struct QFlagsStorageHelper : QFlagsStorage<Enum> { ++ using QFlagsStorage<Enum>::QFlagsStorage; ++ ++public: ++ QFlagsStorageHelper(Enum); ++}; ++ ++template <typename Enum> struct QFlags : public QFlagsStorageHelper<Enum> { ++ using Base = QFlagsStorageHelper<Enum>; ++ using Base::Base; ++ QFlags(Enum); ++}; ++ ++void f(int flag) { ++ QFlags{int{}}; ++} + +base-commit: 334545194d9023fb9b2f72ee0dcde8af94930f25 +-- +2.49.0 + diff --git a/sys-devel/gcc/files/gcc-15.0.1_pre20250406-simplify-oops.patch b/sys-devel/gcc/files/gcc-15.0.1_pre20250406-simplify-oops.patch new file mode 100644 index 000000000000..abc7b6966cf7 --- /dev/null +++ b/sys-devel/gcc/files/gcc-15.0.1_pre20250406-simplify-oops.patch @@ -0,0 +1,81 @@ +https://gcc.gnu.org/PR119672 +https://gcc.gnu.org/PR119713 +https://bugs.gentoo.org/953420 +https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=04918a2d3f20b02ac3efad1096c33894d57789a0 + +From 04918a2d3f20b02ac3efad1096c33894d57789a0 Mon Sep 17 00:00:00 2001 +From: Jakub Jelinek <jakub@redhat.com> +Date: Tue, 8 Apr 2025 15:14:58 +0200 +Subject: [PATCH] simplify-rtx: Fix up POPCOUNT optimization [PR119672] + +The gcc.dg/vect/pr113281-1.c test and many others ICE on riscv since +presumably the r15-9238 change which allowed more cases of vector modes +in simplify_const_relational_operation. +In the testcase it is EQ of +(popcount:SI (unspec:RVVMF32BI [ + (and:RVVMF32BI (const_vector:RVVMF32BI repeat [ + (const_int 1 [0x1]) + ]) + (reg:RVVMF32BI 147 [ mask__6.8_35 ])) + (reg:SI 143 [ _41 ]) + (const_int 0 [0]) + (reg:SI 66 vl) + (reg:SI 67 vtype) + ] UNSPEC_VPREDICATE)) +and +(const_int 0 [0]) +which it tries to fold as EQ comparison of +(unspec:RVVMF32BI [ + (and:RVVMF32BI (const_vector:RVVMF32BI repeat [ + (const_int 1 [0x1]) + ]) + (reg:RVVMF32BI 147 [ mask__6.8_35 ])) + (reg:SI 143 [ _41 ]) + (const_int 0 [0]) + (reg:SI 66 vl) + (reg:SI 67 vtype) + ] UNSPEC_VPREDICATE) +with +(const_int 0 [0]) +which ICEs because const0_rtx isn't a vector. +Fixed by using CONST0_RTX, so that we pass +(const_vector:RVVMF32BI repeat [ + (const_int 0 [0]) + ]) +instead. + +2025-04-08 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/119672 + * simplify-rtx.cc (simplify_context::simplify_relational_operation_1): + For POPCOUNT == 0 or != 0 optimizations use + CONST0_RTX (GET_MODE (XEXP (op0, 0))) rather than const0_rtx. +--- + gcc/simplify-rtx.cc | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/gcc/simplify-rtx.cc b/gcc/simplify-rtx.cc +index 6f969effdf99..88d31a71c05a 100644 +--- a/gcc/simplify-rtx.cc ++++ b/gcc/simplify-rtx.cc +@@ -6465,14 +6465,16 @@ simplify_context::simplify_relational_operation_1 (rtx_code code, + case LEU: + /* (eq (popcount x) (const_int 0)) -> (eq x (const_int 0)). */ + return simplify_gen_relational (EQ, mode, GET_MODE (XEXP (op0, 0)), +- XEXP (op0, 0), const0_rtx); ++ XEXP (op0, 0), ++ CONST0_RTX (GET_MODE (XEXP (op0, 0)))); + + case NE: + case GT: + case GTU: + /* (ne (popcount x) (const_int 0)) -> (ne x (const_int 0)). */ + return simplify_gen_relational (NE, mode, GET_MODE (XEXP (op0, 0)), +- XEXP (op0, 0), const0_rtx); ++ XEXP (op0, 0), ++ CONST0_RTX (GET_MODE (XEXP (op0, 0)))); + + default: + break; +-- +2.43.5 diff --git a/sys-devel/gcc/gcc-15.0.1_pre20250406-r2.ebuild b/sys-devel/gcc/gcc-15.0.1_pre20250406-r2.ebuild new file mode 100644 index 000000000000..db6335cc3065 --- /dev/null +++ b/sys-devel/gcc/gcc-15.0.1_pre20250406-r2.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_PATCH_DEV="sam" +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="15.0.0" +PATCH_VER="53" +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 "${FILESDIR}"/${P}-simplify-oops.patch + eapply "${FILESDIR}"/${P}-compare-debug.patch + eapply "${FILESDIR}"/${P}-de-locale.patch + eapply "${FILESDIR}"/${P}-qt.patch + eapply_user +} |