office-gobmx/external/mdds/remove-warnings.diff
Kohei Yoshida 618442dc3b 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>
2020-02-09 22:21:30 +01:00

84 lines
3 KiB
Diff

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.