From 005ee639342ea65a89d06afc5c33a218c0287b12 Mon Sep 17 00:00:00 2001
From: Ozkan Sezer <[EMAIL REDACTED]>
Date: Wed, 26 Jan 2022 18:55:02 +0300
Subject: [PATCH] external libs, harfbuzz: applied a warning fix from
mainstream:
https://github.com/harfbuzz/harfbuzz/pull/2973
https://github.com/harfbuzz/harfbuzz/pull/2972
https://github.com/harfbuzz/harfbuzz/commit/b54d9b695a17afb86f022084e12d72bb4a199673
Fixes the following warning:
In file included from ../external/harfbuzz-2.8.0/src/hb-ot-shape-complex-use.cc:33:0:
hb-ot-shape-complex-use-machine.rl: In instantiation of 'machine_index_t<Iter>::machine_index_t(const machine_index_t<Iter>&) [with Iter = hb_zip_iter_t<hb_iota_iter_t<unsigned int, unsigned int>, hb_filter_iter_t<hb_filter_iter_t<hb_zip_iter_t<hb_iota_iter_t<unsigned int, unsigned int>, hb_array_t<hb_glyph_info_t> >, find_syllables_use(hb_buffer_t*)::<lambda(const hb_glyph_info_t&)>, const<anonymous struct>&, 0u>, find_syllables_use(hb_buffer_t*)::<lambda(hb_pair_t<unsigned int, const hb_glyph_info_t&>)>, const<anonymous struct>&, 0u> >]':
hb-ot-shape-complex-use-machine.rl:249:4: required from here
hb-ot-shape-complex-use-machine.rl:194:2: warning: base class 'struct hb_iter_with_fallback_t<machine_index_t<hb_zip_iter_t<hb_iota_iter_t<unsigned int, unsigned int>, hb_filter_iter_t<hb_filter_iter_t<hb_zip_iter_t<hb_iota_iter_t<unsigned int, unsigned int>, hb_array_t<hb_glyph_info_t> >, find_syllables_use(hb_buffer_t*)::<lambda(const hb_glyph_info_t&)>, const<anonymous struct>&, 0u>, find_syllables_use(hb_buffer_t*)::<lambda(hb_pair_t<unsigned int, const hb_glyph_info_t&>)>, const<anonymous struct>&, 0u> > >, hb_pair_t<unsigned int, hb_pair_t<unsigned int, hb_glyph_info_t&> > >' should be explicitly initialized in the copy constructor [-Wextra]
---
...9b695a17afb86f022084e12d72bb4a199673.patch | 27 +++++++++++++++++++
.../src/hb-ot-shape-complex-use-machine.hh | 4 ++-
2 files changed, 30 insertions(+), 1 deletion(-)
create mode 100644 external/harfbuzz-2.8.0/harfbuzz.git-b54d9b695a17afb86f022084e12d72bb4a199673.patch
diff --git a/external/harfbuzz-2.8.0/harfbuzz.git-b54d9b695a17afb86f022084e12d72bb4a199673.patch b/external/harfbuzz-2.8.0/harfbuzz.git-b54d9b695a17afb86f022084e12d72bb4a199673.patch
new file mode 100644
index 0000000..c682a42
--- /dev/null
+++ b/external/harfbuzz-2.8.0/harfbuzz.git-b54d9b695a17afb86f022084e12d72bb4a199673.patch
@@ -0,0 +1,27 @@
+From b54d9b695a17afb86f022084e12d72bb4a199673 Mon Sep 17 00:00:00 2001
+From: tstuefe <thomas.stuefe@gmail.com>
+Date: Thu, 6 May 2021 06:22:48 +0200
+Subject: [PATCH] start
+
+---
+ src/hb-ot-shape-complex-use-machine.hh | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/hb-ot-shape-complex-use-machine.hh b/src/hb-ot-shape-complex-use-machine.hh
+index b4b2b75100..96bebcef0c 100644
+--- a/src/hb-ot-shape-complex-use-machine.hh
++++ b/src/hb-ot-shape-complex-use-machine.hh
+@@ -375,7 +375,9 @@ hb_iter_with_fallback_t<machine_index_t<Iter>,
+ typename Iter::item_t>
+ {
+ machine_index_t (const Iter& it) : it (it) {}
+- machine_index_t (const machine_index_t& o) : it (o.it) {}
++ machine_index_t (const machine_index_t& o) :
++ hb_iter_with_fallback_t<machine_index_t<Iter>, typename Iter::item_t>(o),
++ it (o.it) {}
+
+ static constexpr bool is_random_access_iterator = Iter::is_random_access_iterator;
+ static constexpr bool is_sorted_iterator = Iter::is_sorted_iterator;
+
+https://github.com/harfbuzz/harfbuzz/pull/2973
+https://github.com/harfbuzz/harfbuzz/pull/2972
diff --git a/external/harfbuzz-2.8.0/src/hb-ot-shape-complex-use-machine.hh b/external/harfbuzz-2.8.0/src/hb-ot-shape-complex-use-machine.hh
index b4b2b75..96bebce 100644
--- a/external/harfbuzz-2.8.0/src/hb-ot-shape-complex-use-machine.hh
+++ b/external/harfbuzz-2.8.0/src/hb-ot-shape-complex-use-machine.hh
@@ -375,7 +375,9 @@ hb_iter_with_fallback_t<machine_index_t<Iter>,
typename Iter::item_t>
{
machine_index_t (const Iter& it) : it (it) {}
- machine_index_t (const machine_index_t& o) : it (o.it) {}
+ machine_index_t (const machine_index_t& o) :
+ hb_iter_with_fallback_t<machine_index_t<Iter>, typename Iter::item_t>(o),
+ it (o.it) {}
static constexpr bool is_random_access_iterator = Iter::is_random_access_iterator;
static constexpr bool is_sorted_iterator = Iter::is_sorted_iterator;