mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2025-12-14 06:16:04 +01:00
leveldb: Fix cast warnings seen with clang-21
backport needed patch for googletest Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
parent
512cc1172e
commit
0972715e30
|
|
@ -0,0 +1,49 @@
|
||||||
|
From fa8438ae6b70c57010177de47a9f13d7041a6328 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Abseil Team <absl-team@google.com>
|
||||||
|
Date: Mon, 19 May 2025 09:01:54 -0700
|
||||||
|
Subject: [PATCH] Use static_cast instead of ImplicitCast_ for character
|
||||||
|
conversions
|
||||||
|
|
||||||
|
Clang has recently added "warnings when mixing different charN_t types" [1].
|
||||||
|
The rationale is that "charN_t represent code units of different UTF encodings.
|
||||||
|
Therefore the values of 2 different charN_t objects do not represent the same
|
||||||
|
characters."
|
||||||
|
|
||||||
|
Note that the warning here may be legitimate - from https://github.com/google/googletest/issues/4762:
|
||||||
|
"[...] This is incorrect for values that do not represent valid codepoints."
|
||||||
|
|
||||||
|
For the time being, silence the warning by being more explicit about the
|
||||||
|
conversion being intentional by using static_cast.
|
||||||
|
|
||||||
|
Link: https://github.com/llvm/llvm-project/pull/138708 [1]
|
||||||
|
PiperOrigin-RevId: 760644157
|
||||||
|
Change-Id: I2e6cc1871975455cecac8731b2f93fd5beeaf0e1
|
||||||
|
|
||||||
|
Upstream-Status: Backport [https://github.com/google/googletest/commit/fa8438ae6b70c57010177de47a9f13d7041a6328]
|
||||||
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
|
---
|
||||||
|
third_party/googletest/googletest/include/gtest/gtest-printers.h | 8 ++++++--
|
||||||
|
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
Index: leveldb-1.23/third_party/googletest/googletest/include/gtest/gtest-printers.h
|
||||||
|
===================================================================
|
||||||
|
--- leveldb-1.23.orig/third_party/googletest/googletest/include/gtest/gtest-printers.h
|
||||||
|
+++ leveldb-1.23/third_party/googletest/googletest/include/gtest/gtest-printers.h
|
||||||
|
@@ -471,11 +471,15 @@ GTEST_API_ void PrintTo(wchar_t wc, ::st
|
||||||
|
|
||||||
|
GTEST_API_ void PrintTo(char32_t c, ::std::ostream* os);
|
||||||
|
inline void PrintTo(char16_t c, ::std::ostream* os) {
|
||||||
|
- PrintTo(ImplicitCast_<char32_t>(c), os);
|
||||||
|
+ // TODO(b/418738869): Incorrect for values not representing valid codepoints.
|
||||||
|
+ // Also see https://github.com/google/googletest/issues/4762.
|
||||||
|
+ PrintTo(static_cast<char32_t>(c), os);
|
||||||
|
}
|
||||||
|
#ifdef __cpp_char8_t
|
||||||
|
inline void PrintTo(char8_t c, ::std::ostream* os) {
|
||||||
|
- PrintTo(ImplicitCast_<char32_t>(c), os);
|
||||||
|
+ // TODO(b/418738869): Incorrect for values not representing valid codepoints.
|
||||||
|
+ // Also see https://github.com/google/googletest/issues/4762.
|
||||||
|
+ PrintTo(static_cast<char32_t>(c), os);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
@ -7,6 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=92d1b128950b11ba8495b64938fc164d"
|
||||||
SRC_URI = "gitsm://github.com/google/${BPN}.git;branch=main;protocol=https \
|
SRC_URI = "gitsm://github.com/google/${BPN}.git;branch=main;protocol=https \
|
||||||
file://0001-CMakeLists.txt-fix-googletest-related-options.patch \
|
file://0001-CMakeLists.txt-fix-googletest-related-options.patch \
|
||||||
file://0001-Fix-printing-64-bit-integer-types.patch \
|
file://0001-Fix-printing-64-bit-integer-types.patch \
|
||||||
|
file://0001-Use-static_cast-instead-of-ImplicitCast_-for-charact.patch \
|
||||||
file://run-ptest \
|
file://run-ptest \
|
||||||
"
|
"
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user