zmike pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=bdb8505f3b7318b024530d1f9559c91978a3b421

commit bdb8505f3b7318b024530d1f9559c91978a3b421
Author: Lauro Moura <lauromo...@expertisesolutions.com.br>
Date:   Mon Sep 16 12:41:37 2019 -0400

    cxx: Fix some warnings from -Wextra
    
    Summary:
    - As we don't have C++17's [[fallthrough]], rely on GCC'd detection
      of fallthrough comments.
    
    See 
https://developers.redhat.com/blog/2017/03/10/wimplicit-fallthrough-in-gcc-7/
    
    - Add some missing copy assignment operators as reported by
      -Wdeprecated-copy
    
    - Cast a Eina_Bool/bool narrowing conversion
    
    Reviewers: zmike, brunobelo, felipealmeida
    
    Reviewed By: zmike
    
    Subscribers: cedric, #reviewers, #committers
    
    Tags: #efl
    
    Differential Revision: https://phab.enlightenment.org/D9934
---
 src/bindings/cxx/eina_cxx/eina_inlist.hh           | 15 +++++++++++++++
 src/bindings/cxx/eina_cxx/eina_ptrarray.hh         |  6 ++++++
 src/bindings/cxx/eina_cxx/eina_ptrlist.hh          |  7 +++++++
 src/lib/eolian_cxx/grammar/html_escaped_string.hpp |  3 ++-
 src/lib/eolian_cxx/grammar/klass_def.hpp           |  2 +-
 5 files changed, 31 insertions(+), 2 deletions(-)

diff --git a/src/bindings/cxx/eina_cxx/eina_inlist.hh 
b/src/bindings/cxx/eina_cxx/eina_inlist.hh
index 0092989cb7..9eddd9b0cf 100644
--- a/src/bindings/cxx/eina_cxx/eina_inlist.hh
+++ b/src/bindings/cxx/eina_cxx/eina_inlist.hh
@@ -107,6 +107,21 @@ struct _inlist_iterator
   _inlist_iterator(_inlist_iterator<typename std::remove_const<T>::type> 
const& other)
     : _list(other._list), _node(other._node) {}
 
+  /**
+   * @brief Copy assignment operator.
+   * @param other Other iterator being copied
+   * @return Copy of the iterator
+   */
+  _inlist_iterator<T> & operator=(_inlist_iterator<typename 
std::remove_const<T>::type> const& other)
+  {
+    if (this != &other)
+      {
+          _list = other._list;
+          _node = other._node;
+      }
+    return *this;
+  }
+
   /**
    * @brief Move the iterator to the next position in the list.
    * @return The iterator itself.
diff --git a/src/bindings/cxx/eina_cxx/eina_ptrarray.hh 
b/src/bindings/cxx/eina_cxx/eina_ptrarray.hh
index b5de9d7290..e140544b7e 100644
--- a/src/bindings/cxx/eina_cxx/eina_ptrarray.hh
+++ b/src/bindings/cxx/eina_cxx/eina_ptrarray.hh
@@ -50,6 +50,12 @@ struct _ptr_array_iterator
     : _ptr(other._ptr)
   {
   }
+  _ptr_array_iterator<T>& operator=(_ptr_array_iterator<typename 
remove_cv<value_type>::type> const& other)
+  {
+    if (this != &other)
+      _ptr = other._ptr;
+    return *this;
+  }
   _ptr_array_iterator<T>& operator++()
   {
     ++_ptr;
diff --git a/src/bindings/cxx/eina_cxx/eina_ptrlist.hh 
b/src/bindings/cxx/eina_cxx/eina_ptrlist.hh
index 03b836ab6f..12f7f7ef02 100644
--- a/src/bindings/cxx/eina_cxx/eina_ptrlist.hh
+++ b/src/bindings/cxx/eina_cxx/eina_ptrlist.hh
@@ -67,6 +67,13 @@ struct _ptr_list_iterator : _ptr_list_iterator_base
   {
   }
 
+  _ptr_list_iterator<value_type>& operator=(_ptr_list_iterator<value_type> 
const &other)
+  {
+    if (this != &other)
+      _ptr_list_iterator_base::operator=(other);
+    return *this;
+  }
+
   _ptr_list_iterator<T>& operator++()
   {
     _node = eina_list_next(_node);
diff --git a/src/lib/eolian_cxx/grammar/html_escaped_string.hpp 
b/src/lib/eolian_cxx/grammar/html_escaped_string.hpp
index 371afcda24..5bbad79c0f 100644
--- a/src/lib/eolian_cxx/grammar/html_escaped_string.hpp
+++ b/src/lib/eolian_cxx/grammar/html_escaped_string.hpp
@@ -26,7 +26,8 @@ struct html_escaped_string_generator
                case '\'': out.append("&apos;"); break;
                case '<':  out.append("&lt;"); break;
                case '>':  out.append("&gt;"); break;
-               case '\\': if (pos < input.size() - 1) pos++; // Deliberate 
fallthrough
+               case '\\': if (pos < input.size() - 1) pos++;
+                    // fall through
                default:   out.append(&input[pos], 1); break;
             }
         }
diff --git a/src/lib/eolian_cxx/grammar/klass_def.hpp 
b/src/lib/eolian_cxx/grammar/klass_def.hpp
index a3f3f3d7df..609df6ecea 100644
--- a/src/lib/eolian_cxx/grammar/klass_def.hpp
+++ b/src/lib/eolian_cxx/grammar/klass_def.hpp
@@ -492,7 +492,7 @@ inline void type_def::set(Eolian_Type const* eolian_type, 
Eolian_Unit const* uni
                 complex.subtypes.push_back({stp
                                             , unit
                                             , ::eolian_type_c_type_get(stp)
-                                            , eolian_type_is_move(stp)
+                                            , (bool)eolian_type_is_move(stp)
                                             , is_by::value});
                 stp = eolian_type_next_type_get(stp);
              }

-- 


Reply via email to