diff options
Diffstat (limited to 'dev-qt/qtwebengine')
| -rw-r--r-- | dev-qt/qtwebengine/files/qtwebengine-6.9.2-clang-21.patch | 42 | ||||
| -rw-r--r-- | dev-qt/qtwebengine/qtwebengine-6.9.2.ebuild | 1 |
2 files changed, 43 insertions, 0 deletions
diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.9.2-clang-21.patch b/dev-qt/qtwebengine/files/qtwebengine-6.9.2-clang-21.patch new file mode 100644 index 000000000000..374ee195dafe --- /dev/null +++ b/dev-qt/qtwebengine/files/qtwebengine-6.9.2-clang-21.patch @@ -0,0 +1,42 @@ +https://issues.chromium.org/issues/423841920 +https://chromium-review.googlesource.com/c/chromium/src/+/6633292 + +From b0ff8c3b258a8816c05bdebf472dbba719d3c491 Mon Sep 17 00:00:00 2001 +From: Hans Wennborg <hans@chromium.org> +Date: Tue, 10 Jun 2025 09:51:47 -0700 +Subject: [PATCH] Don't return an enum from EnumSizeTraits::Count + +`Enum::kMaxValue + 1` may be outside the representable range of the +enum, which Clang will treat as an error in constexpr contexts (see +bug). + +Bug: 423841920 +Change-Id: I629402cf93bd8419a71f94ff9ed9340d4f88a706 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6633292 +Auto-Submit: Hans Wennborg <hans@chromium.org> +Commit-Queue: Nico Weber <thakis@chromium.org> +Reviewed-by: Nico Weber <thakis@chromium.org> +Commit-Queue: Hans Wennborg <hans@chromium.org> +Cr-Commit-Position: refs/heads/main@{#1471871} +--- a/src/3rdparty/chromium/base/metrics/histogram_macros_internal.h ++++ b/src/3rdparty/chromium/base/metrics/histogram_macros_internal.h +@@ -28,16 +28,16 @@ + template <typename Enum> + requires(std::is_enum_v<Enum>) + struct EnumSizeTraits { +- static constexpr Enum Count() { ++ static constexpr uintmax_t Count() { + if constexpr (requires { Enum::kMaxValue; }) { + // Since the UMA histogram macros expect a value one larger than the max + // defined enumerator value, add one. +- return static_cast<Enum>(base::to_underlying(Enum::kMaxValue) + 1); ++ return static_cast<uintmax_t>(base::to_underlying(Enum::kMaxValue) + 1); + } else { + static_assert( + sizeof(Enum) == 0, + "enumerator must define kMaxValue enumerator to use this macro!"); +- return Enum(); ++ return 0; + } + } + }; diff --git a/dev-qt/qtwebengine/qtwebengine-6.9.2.ebuild b/dev-qt/qtwebengine/qtwebengine-6.9.2.ebuild index f3874d0b4c9e..aea5cf9df06d 100644 --- a/dev-qt/qtwebengine/qtwebengine-6.9.2.ebuild +++ b/dev-qt/qtwebengine/qtwebengine-6.9.2.ebuild @@ -108,6 +108,7 @@ PATCHES=( "${WORKDIR}"/patches/${PN} ) PATCHES+=( # add extras as needed here, may merge in set if carries across versions + "${FILESDIR}"/qtwebengine-6.9.2-clang-21.patch ) python_check_deps() { |
