commit: ccf0a4e094c6cb18fdb7b4eb3dfb4692d2197ba6 Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Tue Oct 3 19:02:53 2023 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Tue Oct 3 19:03:10 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ccf0a4e0
sys-devel/gcc: backport USE=pgo bootstrap fix for 14.0.0_pre20231001 Closes: https://bugs.gentoo.org/914998 Signed-off-by: Sam James <sam <AT> gentoo.org> .../gcc-14.0.0_pre20231001-pgo-bootstrap.patch | 45 ++++++++++++++++++++++ sys-devel/gcc/gcc-14.0.0_pre20231001.ebuild | 1 + 2 files changed, 46 insertions(+) diff --git a/sys-devel/gcc/files/gcc-14.0.0_pre20231001-pgo-bootstrap.patch b/sys-devel/gcc/files/gcc-14.0.0_pre20231001-pgo-bootstrap.patch new file mode 100644 index 000000000000..31ad7d855268 --- /dev/null +++ b/sys-devel/gcc/files/gcc-14.0.0_pre20231001-pgo-bootstrap.patch @@ -0,0 +1,45 @@ +https://bugs.gentoo.org/914998 +https://gcc.gnu.org/PR111642 +https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=e465e5e4a969334f64cf0d6611de5273d73ea732 + +From e465e5e4a969334f64cf0d6611de5273d73ea732 Mon Sep 17 00:00:00 2001 +From: Richard Sandiford <[email protected]> +Date: Mon, 2 Oct 2023 07:20:45 +0100 +Subject: [PATCH] Fix profiledbootstrap poly_int fallout [PR111642] + +rtl-tests.cc and simplify-rtx.cc used partial specialisation +to try to restrict the NUM_POLY_INT_COEFFS>1 tests without +resorting to preprocessor tests. That now triggers an error +in some configurations, since the NUM_POLY_INT_COEFFS>1 tests +used the global poly_int64, whose definition does not depend +on the template parameter. + +This patch uses local types that do depend on the template parameter. + +gcc/ + PR bootstrap/111642 + * rtl-tests.cc (const_poly_int_tests<N>::run): Use a local + poly_int64 typedef. + * simplify-rtx.cc (simplify_const_poly_int_tests<N>::run): Likewise. +--- a/gcc/rtl-tests.cc ++++ b/gcc/rtl-tests.cc +@@ -246,6 +246,7 @@ template<unsigned int N> + void + const_poly_int_tests<N>::run () + { ++ using poly_int64 = poly_int<N, HOST_WIDE_INT>; + rtx x1 = gen_int_mode (poly_int64 (1, 1), QImode); + rtx x255 = gen_int_mode (poly_int64 (1, 255), QImode); + +--- a/gcc/simplify-rtx.cc ++++ b/gcc/simplify-rtx.cc +@@ -8689,6 +8689,7 @@ template<unsigned int N> + void + simplify_const_poly_int_tests<N>::run () + { ++ using poly_int64 = poly_int<N, HOST_WIDE_INT>; + rtx x1 = gen_int_mode (poly_int64 (1, 1), QImode); + rtx x2 = gen_int_mode (poly_int64 (-80, 127), QImode); + rtx x3 = gen_int_mode (poly_int64 (-79, -128), QImode); +-- +2.39.3 diff --git a/sys-devel/gcc/gcc-14.0.0_pre20231001.ebuild b/sys-devel/gcc/gcc-14.0.0_pre20231001.ebuild index 02c5c891469e..b7a4582ecb18 100644 --- a/sys-devel/gcc/gcc-14.0.0_pre20231001.ebuild +++ b/sys-devel/gcc/gcc-14.0.0_pre20231001.ebuild @@ -61,4 +61,5 @@ src_prepare() { toolchain_src_prepare eapply_user + eapply "${FILESDIR}"/${P}-pgo-bootstrap.patch }
