aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-extended/minifi-cpp/files/0001-Fix-the-constness-issues-around-autovector-iterator_.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-oe/recipes-extended/minifi-cpp/files/0001-Fix-the-constness-issues-around-autovector-iterator_.patch')
-rw-r--r--meta-oe/recipes-extended/minifi-cpp/files/0001-Fix-the-constness-issues-around-autovector-iterator_.patch63
1 files changed, 63 insertions, 0 deletions
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/0001-Fix-the-constness-issues-around-autovector-iterator_.patch b/meta-oe/recipes-extended/minifi-cpp/files/0001-Fix-the-constness-issues-around-autovector-iterator_.patch
new file mode 100644
index 0000000000..acb96f40d5
--- /dev/null
+++ b/meta-oe/recipes-extended/minifi-cpp/files/0001-Fix-the-constness-issues-around-autovector-iterator_.patch
@@ -0,0 +1,63 @@
+From 787d5052a6034cc722b073c652cc610ae037f933 Mon Sep 17 00:00:00 2001
+From: Levi Tamasi <ltamasi@fb.com>
+Date: Fri, 22 Nov 2019 18:12:35 -0800
+Subject: [PATCH 1/2] Fix the constness issues around
+ autovector::iterator_impl's dereference operators (#6057)
+
+Summary:
+As described in detail in issue https://github.com/facebook/rocksdb/issues/6048, iterators' dereference operators
+(`*`, `->`, and `[]`) should return `pointer`s/`reference`s (as opposed to
+`const_pointer`s/`const_reference`s) even if the iterator itself is `const`
+to be in sync with the standard's iterator concept.
+Pull Request resolved: https://github.com/facebook/rocksdb/pull/6057
+
+Test Plan: make check
+
+Differential Revision: D18623235
+
+Pulled By: ltamasi
+
+fbshipit-source-id: 04e82d73bc0c67fb0ded018383af8dfc332050cc
+---
+ thirdparty/rocksdb/util/autovector.h | 15 ++++-----------
+ 1 file changed, 4 insertions(+), 11 deletions(-)
+
+diff --git a/thirdparty/rocksdb/util/autovector.h b/thirdparty/rocksdb/util/autovector.h
+index b5c84712..6d337908 100644
+--- a/thirdparty/rocksdb/util/autovector.h
++++ b/thirdparty/rocksdb/util/autovector.h
+@@ -120,27 +120,20 @@ class autovector {
+ }
+
+ // -- Reference
+- reference operator*() {
++ reference operator*() const {
+ assert(vect_->size() >= index_);
+ return (*vect_)[index_];
+ }
+
+- const_reference operator*() const {
+- assert(vect_->size() >= index_);
+- return (*vect_)[index_];
+- }
+-
+- pointer operator->() {
++ pointer operator->() const {
+ assert(vect_->size() >= index_);
+ return &(*vect_)[index_];
+ }
+
+- const_pointer operator->() const {
+- assert(vect_->size() >= index_);
+- return &(*vect_)[index_];
++ reference operator[](difference_type len) const {
++ return *(*this + len);
+ }
+
+-
+ // -- Logical Operators
+ bool operator==(const self_type& other) const {
+ assert(vect_ == other.vect_);
+--
+2.41.0
+