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

Roberto Bagnara roberto.bagnara at bugseng.com
Sun Aug 9 20:58:02 CEST 2020


Module: ppl/ppl
Branch: devel
Commit: 246a5455940b54e76a62268a3c6eda74b22f540b
URL:    http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=246a5455940b54e76a62268a3c6eda74b22f540b

Author: Roberto Bagnara <roberto.bagnara at 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);




More information about the PPL-devel mailing list