summaryrefslogtreecommitdiffstats
path: root/external/skia
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2020-07-20 14:03:13 +0200
committerStephan Bergmann <sbergman@redhat.com>2020-07-20 20:26:13 +0200
commit84c412cb8392d306ab87fc06855677612f9938a6 (patch)
tree06ff6739004f66867b12caf4568365f9610a06ad /external/skia
parentUpdate git submodules (diff)
downloadcore-84c412cb8392d306ab87fc06855677612f9938a6.tar.gz
core-84c412cb8392d306ab87fc06855677612f9938a6.zip
external/skia: Deprecated std::result_of_t has been removed from C++20
...and is no longer provided at least by VS 2019 16.6.4 when using --with-latest-c++ Change-Id: I4655e2a2b3c4c9411ee6f5b9b42137e1bd7ac3fb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99046 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'external/skia')
-rw-r--r--external/skia/UnpackedTarball_skia.mk1
-rw-r--r--external/skia/c++20.patch.017
2 files changed, 18 insertions, 0 deletions
diff --git a/external/skia/UnpackedTarball_skia.mk b/external/skia/UnpackedTarball_skia.mk
index 5caeff270e0c..8ea1fa992a99 100644
--- a/external/skia/UnpackedTarball_skia.mk
+++ b/external/skia/UnpackedTarball_skia.mk
@@ -39,6 +39,7 @@ skia_patches := \
windows-raster-surface-no-copies.patch.1 \
fix-windows-dwrite.patch.1 \
public-make-from-backend-texture.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..71b384fcc2da
--- /dev/null
+++ b/external/skia/c++20.patch.0
@@ -0,0 +1,17 @@
+--- include/private/SkTemplates.h
++++ include/private/SkTemplates.h
+@@ -453,12 +453,12 @@
+
+ template<typename C, std::size_t... Is>
+ constexpr auto SkMakeArrayFromIndexSequence(C c, std::index_sequence<Is...>)
+--> std::array<std::result_of_t<C(std::size_t)>, sizeof...(Is)> {
++-> std::array<std::invoke_result_t<C(std::size_t)>, sizeof...(Is)> {
+ return {{ c(Is)... }};
+ }
+
+ template<size_t N, typename C> constexpr auto SkMakeArray(C c)
+--> std::array<std::result_of_t<C(std::size_t)>, N> {
++-> std::array<std::invoke_result_t<C(std::size_t)>, N> {
+ return SkMakeArrayFromIndexSequence(c, std::make_index_sequence<N>{});
+ }
+