[GIT] ppl/ppl(devel): Warnings silenced.

Module: ppl/ppl Branch: devel Commit: 246a5455940b54e76a62268a3c6eda74b22f540b URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=246a5455940b5...
Author: Roberto Bagnara roberto.bagnara@bugseng.com Date: Sun Aug 9 20:57:43 2020 +0200
Warnings silenced.
---
src/CO_Tree_defs.hh | 3 +++ src/CO_Tree_inlines.hh | 21 ++++++++++++++++- src/Dense_Row.cc | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 84 insertions(+), 1 deletion(-)
diff --git a/src/CO_Tree_defs.hh b/src/CO_Tree_defs.hh index 63a05c02e..8dfb7c2b6 100644 --- a/src/CO_Tree_defs.hh +++ b/src/CO_Tree_defs.hh @@ -1352,6 +1352,9 @@ public: */ tree_iterator(CO_Tree& tree, dimension_type i);
+ //! Copy constructor. + tree_iterator(const tree_iterator& itr); + //! Constructs a tree_iterator from an iterator. /*! \param itr diff --git a/src/CO_Tree_inlines.hh b/src/CO_Tree_inlines.hh index 290a933ae..20de0cded 100644 --- a/src/CO_Tree_inlines.hh +++ b/src/CO_Tree_inlines.hh @@ -346,6 +346,13 @@ CO_Tree::refresh_cached_iterators() {
inline void CO_Tree::move_data_element(data_type& to, data_type& from) { + +#if defined(__GNUC__) && !defined(__INTEL_COMPILER) \ + && (((__GNUC__ * 100) + __GNUC_MINOR__) >= 800) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wclass-memaccess" +#endif + /* The following code is equivalent (but slower):
@@ -355,8 +362,13 @@ CO_Tree::move_data_element(data_type& to, data_type& from) { </CODE> */ std::memcpy(&to, &from, sizeof(data_type)); -}
+#if defined(__GNUC__) && !defined(__INTEL_COMPILER) \ + && (((__GNUC__ * 100) + __GNUC_MINOR__) >= 800) +#pragma GCC diagnostic pop +#endif + +}
inline CO_Tree::const_iterator::const_iterator() @@ -724,6 +736,13 @@ CO_Tree::tree_iterator::tree_iterator(const iterator& itr, CO_Tree& tree1) PPL_ASSERT(OK()); }
+inline +CO_Tree::tree_iterator::tree_iterator(const tree_iterator& itr) + : tree(itr.tree), + i(itr.i), + offset(itr.offset) { +} + inline CO_Tree::tree_iterator& CO_Tree::tree_iterator::operator=(const tree_iterator& itr) { PPL_ASSERT(&tree == &(itr.tree)); diff --git a/src/Dense_Row.cc b/src/Dense_Row.cc index bd17f6fb7..c7477ca29 100644 --- a/src/Dense_Row.cc +++ b/src/Dense_Row.cc @@ -56,7 +56,20 @@ PPL::Dense_Row::resize(const dimension_type new_size) { Coefficient* const new_vec = impl.coeff_allocator.allocate(new_capacity);
if (impl.vec != nullptr) { + +#if defined(__GNUC__) && !defined(__INTEL_COMPILER) \ + && (((__GNUC__ * 100) + __GNUC_MINOR__) >= 800) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wclass-memaccess" +#endif + memcpy(new_vec, impl.vec, sizeof(Coefficient) * impl.size); + +#if defined(__GNUC__) && !defined(__INTEL_COMPILER) \ + && (((__GNUC__ * 100) + __GNUC_MINOR__) >= 800) +#pragma GCC diagnostic pop +#endif + impl.coeff_allocator.deallocate(impl.vec, impl.capacity); }
@@ -102,8 +115,19 @@ PPL::Dense_Row::resize(const dimension_type new_size,
PPL_ASSERT(impl.vec != 0);
+#if defined(__GNUC__) && !defined(__INTEL_COMPILER) \ + && (((__GNUC__ * 100) + __GNUC_MINOR__) >= 800) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wclass-memaccess" +#endif + memcpy(new_vec, impl.vec, sizeof(Coefficient) * impl.size);
+#if defined(__GNUC__) && !defined(__INTEL_COMPILER) \ + && (((__GNUC__ * 100) + __GNUC_MINOR__) >= 800) +#pragma GCC diagnostic pop +#endif + impl.coeff_allocator.deallocate(impl.vec, impl.capacity);
impl.vec = new_vec; @@ -115,7 +139,20 @@ PPL::Dense_Row::resize(const dimension_type new_size, Coefficient* const new_vec = impl.coeff_allocator.allocate(new_capacity);
if (impl.vec != nullptr) { + +#if defined(__GNUC__) && !defined(__INTEL_COMPILER) \ + && (((__GNUC__ * 100) + __GNUC_MINOR__) >= 800) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wclass-memaccess" +#endif + memcpy(new_vec, impl.vec, sizeof(Coefficient) * impl.size); + +#if defined(__GNUC__) && !defined(__INTEL_COMPILER) \ + && (((__GNUC__ * 100) + __GNUC_MINOR__) >= 800) +#pragma GCC diagnostic pop +#endif + impl.coeff_allocator.deallocate(impl.vec, impl.capacity); }
@@ -167,11 +204,22 @@ PPL::Dense_Row::add_zeroes_and_shift(const dimension_type n, throw; }
+#if defined(__GNUC__) && !defined(__INTEL_COMPILER) \ + && (((__GNUC__ * 100) + __GNUC_MINOR__) >= 800) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wclass-memaccess" +#endif + // Raw-copy the coefficients. memcpy(new_row.impl.vec, impl.vec, sizeof(Coefficient) * i); memcpy(&(new_row.impl.vec[i + n]), &impl.vec[i], sizeof(Coefficient) * (impl.size - i));
+#if defined(__GNUC__) && !defined(__INTEL_COMPILER) \ + && (((__GNUC__ * 100) + __GNUC_MINOR__) >= 800) +#pragma GCC diagnostic pop +#endif + using std::swap; swap(impl.vec, new_row.impl.vec); swap(impl.capacity, new_row.impl.capacity); @@ -183,8 +231,21 @@ PPL::Dense_Row::add_zeroes_and_shift(const dimension_type n,
} else { + +#if defined(__GNUC__) && !defined(__INTEL_COMPILER) \ + && (((__GNUC__ * 100) + __GNUC_MINOR__) >= 800) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wclass-memaccess" +#endif + memmove(&impl.vec[n + i], &impl.vec[i], sizeof(Coefficient) * (impl.size - i)); + +#if defined(__GNUC__) && !defined(__INTEL_COMPILER) \ + && (((__GNUC__ * 100) + __GNUC_MINOR__) >= 800) +#pragma GCC diagnostic pop +#endif + impl.size = i; const dimension_type target_size = impl.size + n; PPL_ASSERT(target_size == i + n);
participants (1)
-
Roberto Bagnara