help msvc -analyzer out wrt SkASSERT
Change-Id: I32387c80273d0bc080e47a1d9ccf7454a4a3d79a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167518 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
This commit is contained in:
parent
0ec327662a
commit
52a06992f1
2 changed files with 26 additions and 0 deletions
1
external/skia/UnpackedTarball_skia.mk
vendored
1
external/skia/UnpackedTarball_skia.mk
vendored
|
@ -42,6 +42,7 @@ skia_patches := \
|
|||
incomplete-type-SkImageGenerator.patch.1 \
|
||||
0001-AvoidCombiningExtrememelyLargeMeshes.patch.1 \
|
||||
sort-comparison-assumption.patch.0 \
|
||||
help-msvc-analyzer.patch \
|
||||
|
||||
$(eval $(call gb_UnpackedTarball_set_patchlevel,skia,1))
|
||||
|
||||
|
|
25
external/skia/help-msvc-analyzer.patch
vendored
Normal file
25
external/skia/help-msvc-analyzer.patch
vendored
Normal file
|
@ -0,0 +1,25 @@
|
|||
--- skia/include/private/base/SkAssert.h.orig
|
||||
+++ skia/include/private/base/SkAssert.h
|
||||
@@ -43,6 +43,13 @@
|
||||
} while (false)
|
||||
#endif
|
||||
|
||||
+// when building with msvc and only when using these headers outside the skia build
|
||||
+#if defined(_MSC_VER) && !defined(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 stand alone assertion expressions, e.g.
|
||||
// uint32_t foo(int x) {
|
||||
// SkASSERT(x > 4);
|
||||
@@ -54,7 +60,7 @@
|
||||
// x - 4;
|
||||
// }
|
||||
#define SkASSERT_RELEASE(cond) \
|
||||
- static_cast<void>( (cond) ? (void)0 : []{ SK_ABORT("assert(%s)", #cond); }() )
|
||||
+ static_cast<void>( (cond) ? (void)0 : [&]{ SK_ABORT("assert(%s)", #cond); SkANALYSIS_ASSUME(cond); }() )
|
||||
|
||||
#if defined(SK_DEBUG)
|
||||
#define SkASSERT(cond) SkASSERT_RELEASE(cond)
|
Loading…
Reference in a new issue