[Libreoffice-commits] core.git: external/skia
Stephan Bergmann (via logerrit)
logerrit at kemper.freedesktop.org
Tue May 19 06:36:57 UTC 2020
external/skia/UnpackedTarball_skia.mk | 1 +
external/skia/c++20.patch.0 | 10 ++++++++++
2 files changed, 11 insertions(+)
New commits:
commit dbdc14dfd90c40b6cc0cd951be236acd85ff4cea
Author: Stephan Bergmann <sbergman at redhat.com>
AuthorDate: Tue May 19 07:47:00 2020 +0200
Commit: Stephan Bergmann <sbergman at redhat.com>
CommitDate: Tue May 19 08:36:16 2020 +0200
external/skia: Adapt to C++20 rewritten equality comparisons
...by avoiding the selection of rewritten ones that would use synthesized
operator== with non-bool return type:
> workdir/UnpackedTarball/skia/src/core/SkVM.cpp:1317:37: error: return type 'skvm::I32' of selected 'operator==' function for rewritten '==' comparison is not 'bool'
> select(s == 0.0f , d * (1-src.a)
> ~ ^ ~~~~
> workdir/UnpackedTarball/skia/src/core/SkVM.cpp:1217:17: note: in instantiation of function template specialization 'skvm::Builder::blend(SkBlendMode, skvm::Color, skvm::Color)::(anonymous class)::operator()<skvm::F32, skvm::F32>' requested here
> fn(src.r, dst.r),
> ^
> workdir/UnpackedTarball/skia/src/core/SkVM.cpp:1311:43: note: in instantiation of function template specialization 'skvm::Builder::blend(SkBlendMode, skvm::Color, skvm::Color)::(anonymous class)::operator()<(lambda at workdir/UnpackedTarball/skia/src/core/SkVM.cpp:1311:44)>' requested here
> return apply_rgb_srcover_a([&](auto s, auto d) {
> ^
> workdir/UnpackedTarball/skia/src/core/SkVM.h:912:23: note: declared here
> static inline I32 operator==(float x, F32 y) { return y->eq(x,y); }
> ^
(There are more such operators here that could cause similar issues, but I only
adapted the one that caused the overall build of LibreOffice to fail.)
Change-Id: Ib880191f8bfa44dacb65692e27f32d2e62a96371
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94473
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
diff --git a/external/skia/UnpackedTarball_skia.mk b/external/skia/UnpackedTarball_skia.mk
index c4a248610ce4..1ac4c9b24061 100644
--- a/external/skia/UnpackedTarball_skia.mk
+++ b/external/skia/UnpackedTarball_skia.mk
@@ -36,6 +36,7 @@ skia_patches := \
windows-typeface-directwrite.patch.0 \
windows-raster-surface-no-copies.patch.1 \
fix-windows-dwrite.patch.1 \
+ c++20.patch.0 \
$(eval $(call gb_UnpackedTarball_set_patchlevel,skia,1))
diff --git a/external/skia/c++20.patch.0 b/external/skia/c++20.patch.0
new file mode 100644
index 000000000000..167c8d89c92d
--- /dev/null
+++ b/external/skia/c++20.patch.0
@@ -0,0 +1,10 @@
+--- src/core/SkVM.h
++++ src/core/SkVM.h
+@@ -909,6 +909,7 @@
+ static inline F32 max(float x, F32 y) { return y->max(x,y); }
+
+ static inline I32 operator==(F32 x, F32a y) { return x->eq(x,y); }
++ static inline I32 operator==(F32 x, float y) { return x->eq(x,y); }
+ static inline I32 operator==(float x, F32 y) { return y->eq(x,y); }
+ static inline I32 eq_op(float x, F32 y) { return y->eq(x,y); }
+
More information about the Libreoffice-commits
mailing list