diff options
| author | Ionen Wolkens <ionen@gentoo.org> | 2024-12-03 00:29:09 -0500 |
|---|---|---|
| committer | Ionen Wolkens <ionen@gentoo.org> | 2024-12-03 03:57:58 -0500 |
| commit | f1cb4bf462145013b084e59f912a3c84adcd8726 (patch) | |
| tree | 63dc0dd540a3509fc414a572ad2577227cd443f7 /dev-qt/qtwebengine/files | |
| parent | 6039113506bb36c5b7fdade4d9f3e196704d944a (diff) | |
| download | gentoo-f1cb4bf462145013b084e59f912a3c84adcd8726.tar.gz gentoo-f1cb4bf462145013b084e59f912a3c84adcd8726.tar.bz2 gentoo-f1cb4bf462145013b084e59f912a3c84adcd8726.zip | |
dev-qt/qtwebengine: add temporary workaround for a gcc ICE
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Diffstat (limited to 'dev-qt/qtwebengine/files')
| -rw-r--r-- | dev-qt/qtwebengine/files/qtwebengine-6.8.1-gcc-ICE-workaround.patch | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.8.1-gcc-ICE-workaround.patch b/dev-qt/qtwebengine/files/qtwebengine-6.8.1-gcc-ICE-workaround.patch new file mode 100644 index 000000000000..8d35bb8caade --- /dev/null +++ b/dev-qt/qtwebengine/files/qtwebengine-6.8.1-gcc-ICE-workaround.patch @@ -0,0 +1,36 @@ +Patch status: temporary (see below) + +Workaround[1] proposed by GCC's upstream for a ICE that can newly occur +when compiling chromium-122 in Qt 6.8.x (possibly only for gcc15+arm64, +but could in theory trigger with other arches or gcc14 as well). + +May be some time before GCC is fixed and furthermore for it to be +propagated on users' systems (we're not going to depend on a fixed +version to enforce the upgrade), so it is simpler to workaround here +for a while. + +Not yet merged as of writing of this, but Qt may include the same +fix in a future version[2]. + +Thanks-to: Andrew Pinski <pinskia@gmail.com> +Thanks-to: Sam James <sam@gentoo.org> + +[1] https://gcc.gnu.org/PR117887#c11 +[2] https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/608812 +--- a/src/3rdparty/chromium/base/containers/flat_tree.h ++++ b/src/3rdparty/chromium/base/containers/flat_tree.h +@@ -491,8 +491,11 @@ + + // If the compare is not transparent we want to construct key_type once. +- template <typename K> +- using KeyTypeOrK = std::conditional_t<requires { ++ static constexpr bool key_compare_is_transparent = requires { + typename key_compare::is_transparent; +- }, K, key_type>; ++ }; ++ ++ // If the compare is not transparent we want to construct key_type once. ++ template <typename K> ++ using KeyTypeOrK = std::conditional_t<key_compare_is_transparent, K, key_type>; + }; + |
