Update mdds to 1.6.0.
Change-Id: Iff350b47d5d237e0bb3ffcce0e80ce867c74191d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88191 Tested-by: Kohei Yoshida <kohei@libreoffice.org> Reviewed-by: Kohei Yoshida <kohei@libreoffice.org>
This commit is contained in:
parent
103b14d4fd
commit
618442dc3b
5 changed files with 133 additions and 17 deletions
|
@ -170,8 +170,8 @@ export LXML_SHA256SUM := 940caef1ec7c78e0c34b0f6b94fe42d0f2022915ffc78643d28538a
|
|||
export LXML_TARBALL := lxml-4.1.1.tgz
|
||||
export MARIADB_CONNECTOR_C_SHA256SUM := fd2f751dea049c1907735eb236aeace1d811d6a8218118b00bbaa9b84dc5cd60
|
||||
export MARIADB_CONNECTOR_C_TARBALL := a233181e03d3c307668b4c722d881661-mariadb_client-2.0.0-src.tar.gz
|
||||
export MDDS_SHA256SUM := 144d6debd7be32726f332eac14ef9f17e2d3cf89cb3250eb31a7127e0789680d
|
||||
export MDDS_TARBALL := mdds-1.5.0.tar.bz2
|
||||
export MDDS_SHA256SUM := f1585c9cbd12f83a6d43d395ac1ab6a9d9d5d77f062c7b5f704e24ed72dae07d
|
||||
export MDDS_TARBALL := mdds-1.6.0.tar.bz2
|
||||
export MDNSRESPONDER_SHA256SUM := e777b4d7dbf5eb1552cb80090ad1ede319067ab6e45e3990d68aabf6e8b3f5a0
|
||||
export MDNSRESPONDER_TARBALL := mDNSResponder-878.200.35.tar.gz
|
||||
export MSPUB_SHA256SUM := ef36c1a1aabb2ba3b0bedaaafe717bf4480be2ba8de6f3894be5fd3702b013ba
|
||||
|
|
7
external/mdds/UnpackedTarball_mdds.mk
vendored
7
external/mdds/UnpackedTarball_mdds.mk
vendored
|
@ -11,12 +11,11 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,mdds))
|
|||
|
||||
$(eval $(call gb_UnpackedTarball_set_tarball,mdds,$(MDDS_TARBALL)))
|
||||
|
||||
$(eval $(call gb_UnpackedTarball_set_patchlevel,mdds,0))
|
||||
$(eval $(call gb_UnpackedTarball_set_patchlevel,mdds,1))
|
||||
|
||||
# external/mdds/Wdeprecated-copy.patch upstream at <https://gitlab.com/mdds/mdds/merge_requests/21>
|
||||
# "Remove redundantly user-declared private_data copy constructor":
|
||||
$(eval $(call gb_UnpackedTarball_add_patches,mdds,\
|
||||
external/mdds/Wdeprecated-copy.patch \
|
||||
external/mdds/remove-warnings.diff \
|
||||
external/mdds/delta-signed-int.diff \
|
||||
))
|
||||
|
||||
# vim: set noet sw=4 ts=4:
|
||||
|
|
11
external/mdds/Wdeprecated-copy.patch
vendored
11
external/mdds/Wdeprecated-copy.patch
vendored
|
@ -1,11 +0,0 @@
|
|||
--- include/mdds/multi_type_vector_itr.hpp
|
||||
+++ include/mdds/multi_type_vector_itr.hpp
|
||||
@@ -71,8 +71,6 @@
|
||||
private_data() : block_index(0) {}
|
||||
private_data(size_type _block_index) :
|
||||
block_index(_block_index) {}
|
||||
- private_data(const private_data& other) :
|
||||
- block_index(other.block_index) {}
|
||||
|
||||
void swap(private_data& other)
|
||||
{
|
44
external/mdds/delta-signed-int.diff
vendored
Normal file
44
external/mdds/delta-signed-int.diff
vendored
Normal file
|
@ -0,0 +1,44 @@
|
|||
diff --git a/include/mdds/multi_type_vector.hpp b/include/mdds/multi_type_vector.hpp
|
||||
index d941ee2..71c34f3 100644
|
||||
--- a/include/mdds/multi_type_vector.hpp
|
||||
+++ b/include/mdds/multi_type_vector.hpp
|
||||
@@ -1071,7 +1071,7 @@ public:
|
||||
|
||||
private:
|
||||
|
||||
- void adjust_block_positions(int64_t start_block_index, size_type delta);
|
||||
+ void adjust_block_positions(int64_t start_block_index, int64_t delta);
|
||||
|
||||
/**
|
||||
* Delete only the element block owned by an outer block.
|
||||
diff --git a/include/mdds/multi_type_vector_def.inl b/include/mdds/multi_type_vector_def.inl
|
||||
index d4fff49..7509e3e 100644
|
||||
--- a/include/mdds/multi_type_vector_def.inl
|
||||
+++ b/include/mdds/multi_type_vector_def.inl
|
||||
@@ -503,7 +503,7 @@ multi_type_vector<_CellBlockFunc, _EventFunc>::set(const iterator& pos_hint, siz
|
||||
}
|
||||
|
||||
template<typename _CellBlockFunc, typename _EventFunc>
|
||||
-void multi_type_vector<_CellBlockFunc, _EventFunc>::adjust_block_positions(int64_t start_block_index, size_type delta)
|
||||
+void multi_type_vector<_CellBlockFunc, _EventFunc>::adjust_block_positions(int64_t start_block_index, int64_t delta)
|
||||
{
|
||||
int64_t n = m_blocks.size();
|
||||
|
||||
@@ -2927,7 +2927,7 @@ void multi_type_vector<_CellBlockFunc, _EventFunc>::erase_impl(size_type start_r
|
||||
// Now, erase all blocks in between.
|
||||
delete_element_blocks(it_erase_begin, it_erase_end);
|
||||
auto it_adjust_block = m_blocks.erase(it_erase_begin, it_erase_end);
|
||||
- size_type delta = end_row - start_row + 1;
|
||||
+ int64_t delta = end_row - start_row + 1;
|
||||
m_cur_size -= delta;
|
||||
|
||||
if (m_blocks.empty())
|
||||
@@ -2945,7 +2945,7 @@ void multi_type_vector<_CellBlockFunc, _EventFunc>::erase_in_single_block(
|
||||
{
|
||||
// Range falls within the same block.
|
||||
block* blk = &m_blocks[block_pos];
|
||||
- size_type size_to_erase = end_pos - start_pos + 1;
|
||||
+ int64_t size_to_erase = end_pos - start_pos + 1;
|
||||
if (blk->mp_data)
|
||||
{
|
||||
// Erase data in the data block.
|
84
external/mdds/remove-warnings.diff
vendored
Normal file
84
external/mdds/remove-warnings.diff
vendored
Normal file
|
@ -0,0 +1,84 @@
|
|||
diff --git a/configure.ac b/configure.ac
|
||||
index ef22726..00ab937 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -70,7 +70,7 @@ AC_ARG_ENABLE(openmp,
|
||||
)
|
||||
|
||||
AS_IF([test x"$enable_openmp" == "xyes"], [
|
||||
- CXXFLAGS="$CXXFLAGS -fopenmp"
|
||||
+ CXXFLAGS="$CXXFLAGS -fopenmp -DMDDS_USE_OPENMP=1"
|
||||
LDFLAGS="$LDFLAGS -fopenmp"
|
||||
])
|
||||
|
||||
diff --git a/include/mdds/global.hpp b/include/mdds/global.hpp
|
||||
index f92f0a5..11f0325 100644
|
||||
--- a/include/mdds/global.hpp
|
||||
+++ b/include/mdds/global.hpp
|
||||
@@ -65,6 +65,10 @@
|
||||
#define MDDS_LOOP_UNROLLING 1
|
||||
#endif
|
||||
|
||||
+#ifndef MDDS_USE_OPENMP
|
||||
+#define MDDS_USE_OPENMP 0
|
||||
+#endif
|
||||
+
|
||||
namespace mdds {
|
||||
|
||||
class general_error : public ::std::exception
|
||||
diff --git a/include/mdds/multi_type_vector.hpp b/include/mdds/multi_type_vector.hpp
|
||||
index 1c50a42..d941ee2 100644
|
||||
--- a/include/mdds/multi_type_vector.hpp
|
||||
+++ b/include/mdds/multi_type_vector.hpp
|
||||
@@ -1126,8 +1126,7 @@ private:
|
||||
void append_cell_to_block(size_type block_index, const _T& cell);
|
||||
|
||||
template<typename _T>
|
||||
- iterator set_cell_to_empty_block(
|
||||
- size_type start_row, size_type block_index, size_type pos_in_block, const _T& cell);
|
||||
+ iterator set_cell_to_empty_block(size_type block_index, size_type pos_in_block, const _T& cell);
|
||||
|
||||
template<typename _T>
|
||||
iterator set_cell_to_block_of_size_one(
|
||||
diff --git a/include/mdds/multi_type_vector_def.inl b/include/mdds/multi_type_vector_def.inl
|
||||
index a4cfe6d..d4fff49 100644
|
||||
--- a/include/mdds/multi_type_vector_def.inl
|
||||
+++ b/include/mdds/multi_type_vector_def.inl
|
||||
@@ -516,7 +516,9 @@ void multi_type_vector<_CellBlockFunc, _EventFunc>::adjust_block_positions(int64
|
||||
int64_t rem = len % 8;
|
||||
len -= rem;
|
||||
len += start_block_index;
|
||||
+#if MDDS_USE_OPENMP
|
||||
#pragma omp parallel for
|
||||
+#endif
|
||||
for (int64_t i = start_block_index; i < len; i += 8)
|
||||
{
|
||||
m_blocks[i].m_position += delta;
|
||||
@@ -533,7 +535,9 @@ void multi_type_vector<_CellBlockFunc, _EventFunc>::adjust_block_positions(int64
|
||||
for (int64_t i = len; i < rem; ++i)
|
||||
m_blocks[i].m_position += delta;
|
||||
#else
|
||||
+#if MDDS_USE_OPENMP
|
||||
#pragma omp parallel for
|
||||
+#endif
|
||||
for (int64_t i = start_block_index; i < n; ++i)
|
||||
m_blocks[i].m_position += delta;
|
||||
#endif
|
||||
@@ -583,7 +587,7 @@ multi_type_vector<_CellBlockFunc, _EventFunc>::set_impl(size_type pos, size_type
|
||||
if (!blk->mp_data)
|
||||
{
|
||||
// This is an empty block.
|
||||
- return set_cell_to_empty_block(start_row, block_index, pos_in_block, value);
|
||||
+ return set_cell_to_empty_block(block_index, pos_in_block, value);
|
||||
}
|
||||
|
||||
assert(blk->mp_data);
|
||||
@@ -1027,7 +1031,7 @@ template<typename _CellBlockFunc, typename _EventFunc>
|
||||
template<typename _T>
|
||||
typename multi_type_vector<_CellBlockFunc, _EventFunc>::iterator
|
||||
multi_type_vector<_CellBlockFunc, _EventFunc>::set_cell_to_empty_block(
|
||||
- size_type start_row, size_type block_index, size_type pos_in_block, const _T& cell)
|
||||
+ size_type block_index, size_type pos_in_block, const _T& cell)
|
||||
{
|
||||
block* blk = &m_blocks[block_index];
|
||||
assert(!blk->mp_data); // In this call, the current block is an empty block.
|
Loading…
Reference in a new issue