external/skia/UnpackedTarball_skia.mk | 1 external/skia/help-msvc-analyzer.patch | 42 +++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+)
New commits: commit 247b3e3260da7f50402eaafc3fe14ff0f54542f1 Author: Xisco Fauli <[email protected]> AuthorDate: Fri Feb 20 17:37:48 2026 +0100 Commit: Xisco Fauli <[email protected]> CommitDate: Fri Feb 20 22:14:35 2026 +0100 Revert "skia: drop unneeded patch" This reverts commit 3324e909e8c5251b30a21bd781da1d6229478a16. Reason for revert: still needed https://ci.libreoffice.org/job/lo_tb_master_win_analyze/ fails with E:\jenkins\workspace\lo_tb_master_win_analyze\workdir\UnpackedTarball\skia\include/core/SkString.h(34): error C2220: the following warning is treated as an error E:\jenkins\workspace\lo_tb_master_win_analyze\workdir\UnpackedTarball\skia\include [build CXX] vcl/win/gdi/winlayout.cxx Change-Id: I1b6d7e2920df6e267b1e215c820b848f3997d3a6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199896 Reviewed-by: Xisco Fauli <[email protected]> Tested-by: Jenkins diff --git a/external/skia/UnpackedTarball_skia.mk b/external/skia/UnpackedTarball_skia.mk index 29134a7d0386..6dbeaf9cbfee 100644 --- a/external/skia/UnpackedTarball_skia.mk +++ b/external/skia/UnpackedTarball_skia.mk @@ -35,6 +35,7 @@ skia_patches := \ 0001-Added-missing-include-cstdio.patch \ fix-SkDebugf-link-error.patch.1 \ ubsan-missing-typeinfo.patch.1 \ + help-msvc-analyzer.patch \ windows-define-conflict.patch.1 \ 0002-loong64-Honor-existing-LASX-LSX-settings.patch \ 0003-loong64-Fix-missing-rounding-in-loong64-scaled_mult-.patch \ diff --git a/external/skia/help-msvc-analyzer.patch b/external/skia/help-msvc-analyzer.patch new file mode 100644 index 000000000000..a1a3878c81ff --- /dev/null +++ b/external/skia/help-msvc-analyzer.patch @@ -0,0 +1,42 @@ +diff -ur skia.org/include/private/base/SkAssert.h skia/include/private/base/SkAssert.h +--- skia.org/include/private/base/SkAssert.h 2024-10-07 14:41:12.295957640 +0200 ++++ skia/include/private/base/SkAssert.h 2024-10-07 14:44:36.271140309 +0200 +@@ -60,6 +60,13 @@ + } while (false) + #endif + ++// when building with msvc and only when using these headers outside the skia build ++#if defined(_MSC_VER) && !SKIA_IMPLEMENTATION ++# define SkANALYSIS_ASSUME(condition) __analysis_assume(condition) ++#else ++# define SkANALYSIS_ASSUME(condition) static_cast<void>(0) ++#endif ++ + // SkASSERT, SkASSERTF and SkASSERT_RELEASE can be used as standalone assertion expressions, e.g. + // uint32_t foo(int x) { + // SkASSERT(x > 4); +@@ -74,20 +81,20 @@ + #define SkASSERT_RELEASE(cond) \ + static_cast<void>( __builtin_expect(static_cast<bool>(cond), 1) \ + ? static_cast<void>(0) \ +- : []{ SK_ABORT("check(%s)", #cond); }() ) ++ : [&]{ SK_ABORT("check(%s)", #cond); SkANALYSIS_ASSUME(cond); }() ) + + #define SkASSERTF_RELEASE(cond, fmt, ...) \ + static_cast<void>( __builtin_expect(static_cast<bool>(cond), 1) \ + ? static_cast<void>(0) \ +- : [&]{ SK_ABORT("assertf(%s): " fmt, #cond, ##__VA_ARGS__); }() ) ++ : [&]{ SK_ABORT("assertf(%s): " fmt, #cond, ##__VA_ARGS__); SkANALYSIS_ASSUME(cond); }() ) + #else + #define SkASSERT_RELEASE(cond) \ +- static_cast<void>( (cond) ? static_cast<void>(0) : []{ SK_ABORT("check(%s)", #cond); }() ) ++ static_cast<void>( (cond) ? static_cast<void>(0) : [&]{ SK_ABORT("check(%s)", #cond); SkANALYSIS_ASSUME(cond); }() ) + + #define SkASSERTF_RELEASE(cond, fmt, ...) \ + static_cast<void>( (cond) \ + ? static_cast<void>(0) \ +- : [&]{ SK_ABORT("assertf(%s): " fmt, #cond, ##__VA_ARGS__); }() ) ++ : [&]{ SK_ABORT("assertf(%s): " fmt, #cond, ##__VA_ARGS__); SkANALYSIS_ASSUME(cond); }() ) + #endif + + #if defined(SK_DEBUG)
