From 0b8b325c6d134a9f66de2ba751280e6480e609af Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 27 Mar 2024 01:01:27 +0000 Subject: gentoo auto-resync : 27:03:2024 - 01:01:27 --- sys-devel/Manifest.gz | Bin 7708 -> 7708 bytes sys-devel/gcc/Manifest | 3 +- .../files/gcc-14.0.1_pre20240324-PR114439.patch | 112 +++++++++++++++++++++ sys-devel/gcc/gcc-14.0.1_pre20240324-r1.ebuild | 67 ++++++++++++ sys-devel/gcc/gcc-14.0.1_pre20240324.ebuild | 66 ------------ 5 files changed, 181 insertions(+), 67 deletions(-) create mode 100644 sys-devel/gcc/files/gcc-14.0.1_pre20240324-PR114439.patch create mode 100644 sys-devel/gcc/gcc-14.0.1_pre20240324-r1.ebuild delete mode 100644 sys-devel/gcc/gcc-14.0.1_pre20240324.ebuild (limited to 'sys-devel') diff --git a/sys-devel/Manifest.gz b/sys-devel/Manifest.gz index 0d38bbf02ffe..54495a68f214 100644 Binary files a/sys-devel/Manifest.gz and b/sys-devel/Manifest.gz differ diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest index b854f791d53e..5c080e71e752 100644 --- a/sys-devel/gcc/Manifest +++ b/sys-devel/gcc/Manifest @@ -1,5 +1,6 @@ AUX gcc-13-fix-cross-fixincludes.patch 854 BLAKE2B 3dc52dc6b1ed7e86ae5a0a48b79dc5020f2abcbb4db6735479595ce88e259eb8fe933a5619408a29997c00966481f5b3cd3a412eb63517aa26b6babb3afac612 SHA512 666f9343594c5ffa4ea01e7cbfb8c79d95ffc3a5215dbc16a3f964cb73de552863aa578758d2ffcb0dfd36764ec65389b5abacf6dd12c941c129f39c8117fff2 AUX gcc-14.0.1_pre20240303-uninit.patch 2047 BLAKE2B edad64293826366fc668da1926dd7a860ee4acb77771cacba043a1ccea3fe1886b4cbc586012026f57e610a0bbebc08120d693786e0cd49c50c80693ced75447 SHA512 9de6b5182086a0abebd8e171ab3b3a9775dac2408684acf27e2d92dce0c44e1622197a00ca72319a0ad4f173279313d6a560f0dbcce8368bc57bb8735bff792f +AUX gcc-14.0.1_pre20240324-PR114439.patch 2806 BLAKE2B a8232abbca4da3a280085d11319f31ba4829439b6121c8a22b91e57487275560f9d4399fb079e53b08155b94392f57434480a508f2ed629ed1a132d9b2251972 SHA512 7e8ad80cc927d15837f6b5ea1c14f1441fecb2ebaeb51c9f84f49a01673b89b6ab8852a4e251d154235f0724267156dfbddb9707d1d15ac5f9de41107d930f45 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 @@ -78,7 +79,7 @@ EBUILD gcc-14.0.1_pre20240225.ebuild 1701 BLAKE2B fd47216c3898270e46d4e9f08a400e EBUILD gcc-14.0.1_pre20240303-r1.ebuild 1741 BLAKE2B 130e45c2007b7e2ee1601cbda587298c43287729bcf3c97316f2b617843dff0cae2f106c69ffa80f71181c7c5b2191e28deaedad8dd1cab271b36f673a2a6979 SHA512 fba3916a7793b76e2cf706393398774e3c6c593b2004220cec5389c75d53cde2734232351ac3ced1a11ec1d9d070c38b58ae0474e1fe5cb75120fe4faefd4e2a EBUILD gcc-14.0.1_pre20240310.ebuild 1701 BLAKE2B b3884316f5d5dfb8f5aeec04952f12b930e69c34acc98a758304ae3d8b10a2cf033dd92fd1ff71924d90095bdaca76b3f076af24d751344da73296d78e6fb2c3 SHA512 f822283f4299c844fbb4ea4e3cbb631562435b4ce37f41a5700a0477970cda8bb4c399a0adcd8fc2b2dd58b82f442b1f86727061849ed57d2debbda1c60e3b76 EBUILD gcc-14.0.1_pre20240317.ebuild 1701 BLAKE2B b3884316f5d5dfb8f5aeec04952f12b930e69c34acc98a758304ae3d8b10a2cf033dd92fd1ff71924d90095bdaca76b3f076af24d751344da73296d78e6fb2c3 SHA512 f822283f4299c844fbb4ea4e3cbb631562435b4ce37f41a5700a0477970cda8bb4c399a0adcd8fc2b2dd58b82f442b1f86727061849ed57d2debbda1c60e3b76 -EBUILD gcc-14.0.1_pre20240324.ebuild 1701 BLAKE2B b3884316f5d5dfb8f5aeec04952f12b930e69c34acc98a758304ae3d8b10a2cf033dd92fd1ff71924d90095bdaca76b3f076af24d751344da73296d78e6fb2c3 SHA512 f822283f4299c844fbb4ea4e3cbb631562435b4ce37f41a5700a0477970cda8bb4c399a0adcd8fc2b2dd58b82f442b1f86727061849ed57d2debbda1c60e3b76 +EBUILD gcc-14.0.1_pre20240324-r1.ebuild 1743 BLAKE2B 2f95379995ab1f1d5984797ac29964b31d4c7c38b4c37f682eab29019df08092ab4ae272f939ad58c4e04e2d272c5206ca4270549c75dd5899d739c064bf9e81 SHA512 fec375ced34cf10dac1e244c117000ba89e81eddce2d7fc1805f8c9626d8e4e67c3d589f77fbaa335fa77f7d2ead6b7bba110378d7a883588842442315d1b410 EBUILD gcc-14.0.9999.ebuild 1368 BLAKE2B 69defab2f5b5ed8bc89f6ba33f8ac053784a9c8210a0f373112ded22c094781a745c7accceb9f79f66887be901c068c1fbc9e2341b46221fd0419c5a72c57cc9 SHA512 2a62edb513ea86e9ddf25f47b7682ae29932e997240bcd0ac5027ab84ad07d11088da84745f3e8bab73fd831d5bf2320dd9657cba8f6ff8f7bce115da90d0492 EBUILD gcc-8.5.0-r1.ebuild 533 BLAKE2B 70a6e6b0b3069eef47e44de127b26b140abfb3a7aab57db3c27c9b30743be20962eeab91654259824c9a3808e30c6dbb48bac4ac3ae18525ce9c4b71eecb03be SHA512 8853dafa3f3e1e5371edddd277f1b2c9f47824fc1fee6a4836ffc8ff9f8bc3dbd126747d62017eef171232db190816b4a8b796d517d3f5ec8bc718f680c7d0ca EBUILD gcc-9.5.0.ebuild 1241 BLAKE2B 856375d942a3e927e1449c2b1d0abcbea0a0a5ef5aca203d914747b0bf1fa54de965e219d8722b635bf844cfbdbc8edd2c0f6ab6bcefceb473a4f629420f476a SHA512 d9d6ab8119dd21a43e98481882f7dd4a58f250ab9296b6d592bae86c825a253b7047ce4b067a53de8ed81254be8e2352fabb167eab656b51bba8f666e247f0f1 diff --git a/sys-devel/gcc/files/gcc-14.0.1_pre20240324-PR114439.patch b/sys-devel/gcc/files/gcc-14.0.1_pre20240324-PR114439.patch new file mode 100644 index 000000000000..2f92ab10cebf --- /dev/null +++ b/sys-devel/gcc/files/gcc-14.0.1_pre20240324-PR114439.patch @@ -0,0 +1,112 @@ +https://bugs.gentoo.org/927657 +https://gcc.gnu.org/PR114439 +https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=de0886d48032332d10e4acb5d15c8789b281b6fe + +From de0886d48032332d10e4acb5d15c8789b281b6fe Mon Sep 17 00:00:00 2001 +From: Marek Polacek +Date: Mon, 25 Mar 2024 15:32:20 -0400 +Subject: [PATCH] c++: broken direct-init with trailing array member [PR114439] + +can_init_array_with_p is wrongly saying that the init for 's' here: + + struct S { + int *list = arr; + int arr[]; + }; + + struct A { + A() {} + S s[2]{}; + }; + +is invalid. But as process_init_constructor_array says, for "non-constant +initialization of trailing elements with no explicit initializers" we use +a VEC_INIT_EXPR wrapped in a TARGET_EXPR, built in process_init_constructor. + +Unfortunately we didn't have a test for this scenario so I didn't +realize can_init_array_with_p must handle it. + + PR c++/114439 + +gcc/cp/ChangeLog: + + * init.cc (can_init_array_with_p): Return true for a VEC_INIT_EXPR + wrapped in a TARGET_EXPR. + +gcc/testsuite/ChangeLog: + + * g++.dg/init/array65.C: New test. +--- + gcc/cp/init.cc | 6 ++++- + gcc/testsuite/g++.dg/init/array65.C | 38 +++++++++++++++++++++++++++++ + 2 files changed, 43 insertions(+), 1 deletion(-) + create mode 100644 gcc/testsuite/g++.dg/init/array65.C + +diff --git a/gcc/cp/init.cc b/gcc/cp/init.cc +index dbd37d47cbf..a93ce00800c 100644 +--- a/gcc/cp/init.cc ++++ b/gcc/cp/init.cc +@@ -950,12 +950,16 @@ can_init_array_with_p (tree type, tree init) + mem-initializers of a constructor. */ + if (DECL_DEFAULTED_FN (current_function_decl)) + return true; +- /* As an extension, we allow copying from a compound literal. */ + if (TREE_CODE (init) == TARGET_EXPR) + { + init = TARGET_EXPR_INITIAL (init); ++ /* As an extension, we allow copying from a compound literal. */ + if (TREE_CODE (init) == CONSTRUCTOR) + return CONSTRUCTOR_C99_COMPOUND_LITERAL (init); ++ /* VEC_INIT_EXPR is used for non-constant initialization of trailing ++ elements with no explicit initializers. */ ++ else if (TREE_CODE (init) == VEC_INIT_EXPR) ++ return true; + } + + return false; +diff --git a/gcc/testsuite/g++.dg/init/array65.C b/gcc/testsuite/g++.dg/init/array65.C +new file mode 100644 +index 00000000000..0b144f45a9d +--- /dev/null ++++ b/gcc/testsuite/g++.dg/init/array65.C +@@ -0,0 +1,38 @@ ++// PR c++/114439 ++// { dg-do compile { target c++11 } } ++ ++struct S { ++ int *list = arr; ++ __extension__ int arr[]; ++}; ++ ++struct R { ++ int *list = arr; ++ int arr[2]; ++}; ++ ++struct A { ++ A() {} ++ S s[2]{}; ++}; ++ ++struct A2 { ++ A2() {} ++ S s[2]{ {}, {} }; ++}; ++ ++struct B { ++ B() {} ++ R r[2]{}; ++}; ++ ++struct B2 { ++ B2() {} ++ R r[2]{ {}, {} }; ++}; ++ ++struct S1 { S1(); }; ++struct S2 { ++ S2() {} ++ S1 a[1] {}; ++}; +-- +2.39.3 diff --git a/sys-devel/gcc/gcc-14.0.1_pre20240324-r1.ebuild b/sys-devel/gcc/gcc-14.0.1_pre20240324-r1.ebuild new file mode 100644 index 000000000000..41416832f8b5 --- /dev/null +++ b/sys-devel/gcc/gcc-14.0.1_pre20240324-r1.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +TOOLCHAIN_PATCH_DEV="sam" +PATCH_GCC_VER="14.0.0" +PATCH_VER="25" +MUSL_VER="1" +MUSL_GCC_VER="14.0.0" +PYTHON_COMPAT=( python3_{10..11} ) + +if [[ ${PV} == *.9999 ]] ; then + MY_PV_2=$(ver_cut 2) + MY_PV_3=1 + if [[ ${MY_PV_2} == 0 ]] ; then + MY_PV_2=0 + MY_PV_3=0 + else + MY_PV_2=$((${MY_PV_2} - 1)) + fi + + # e.g. 12.2.9999 -> 12.1.1 + TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3} +elif [[ -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 ~ia64 ~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}" + BDEPEND="amd64? ( >=${CATEGORY}/binutils-2.30[cet(-)?] )" +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}"/${PN}-13-fix-cross-fixincludes.patch + eapply "${FILESDIR}"/${P}-PR114439.patch + eapply_user +} diff --git a/sys-devel/gcc/gcc-14.0.1_pre20240324.ebuild b/sys-devel/gcc/gcc-14.0.1_pre20240324.ebuild deleted file mode 100644 index e809e40f6564..000000000000 --- a/sys-devel/gcc/gcc-14.0.1_pre20240324.ebuild +++ /dev/null @@ -1,66 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -TOOLCHAIN_PATCH_DEV="sam" -PATCH_GCC_VER="14.0.0" -PATCH_VER="25" -MUSL_VER="1" -MUSL_GCC_VER="14.0.0" -PYTHON_COMPAT=( python3_{10..11} ) - -if [[ ${PV} == *.9999 ]] ; then - MY_PV_2=$(ver_cut 2) - MY_PV_3=1 - if [[ ${MY_PV_2} == 0 ]] ; then - MY_PV_2=0 - MY_PV_3=0 - else - MY_PV_2=$((${MY_PV_2} - 1)) - fi - - # e.g. 12.2.9999 -> 12.1.1 - TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3} -elif [[ -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 ~ia64 ~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}" - BDEPEND="amd64? ( >=${CATEGORY}/binutils-2.30[cet(-)?] )" -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}"/${PN}-13-fix-cross-fixincludes.patch - eapply_user -} -- cgit v1.2.3