From 96eea9e2637ed2475e44a8cb9c18e22edafd7162 Mon Sep 17 00:00:00 2001 From: Alfred Wingate Date: Thu, 28 Aug 2025 06:48:50 +0300 Subject: dev-qt/qtwebengine: fix clang-21 Signed-off-by: Alfred Wingate Part-of: https://github.com/gentoo/gentoo/pull/43590 Closes: https://github.com/gentoo/gentoo/pull/43590 Signed-off-by: Ionen Wolkens --- .../files/qtwebengine-6.9.2-clang-21.patch | 42 ++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 dev-qt/qtwebengine/files/qtwebengine-6.9.2-clang-21.patch (limited to 'dev-qt/qtwebengine/files/qtwebengine-6.9.2-clang-21.patch') 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 +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 +Commit-Queue: Nico Weber +Reviewed-by: Nico Weber +Commit-Queue: Hans Wennborg +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 + requires(std::is_enum_v) + 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(base::to_underlying(Enum::kMaxValue) + 1); ++ return static_cast(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; + } + } + }; -- cgit v1.2.3