Ver código fonte

Reduce sign conversion warnings

Add some static casts to make explicit some sign conversions in order to
avoid warnings about the same. This is by no means an attempt to fix all
such warnings, but these instances were especially egregious as they
would be raised across many source files.

Also change a post-increment of an iterator to pre-increment. At worst,
this does nothing, but pre-increment is potentially more efficient.
Matthew Woehlke 2 anos atrás
pai
commit
7b3464320f
2 arquivos alterados com 8 adições e 6 exclusões
  1. 6 4
      Source/cmList.h
  2. 2 2
      Source/cmString.hxx

+ 6 - 4
Source/cmList.h

@@ -747,8 +747,10 @@ public:
                        ExpandElements expandElements = ExpandElements::Yes,
                        EmptyElements emptyElements = EmptyElements::No)
   {
-    this->insert(this->begin() + this->ComputeInsertIndex(index), first, last,
-                 expandElements, emptyElements);
+    auto const offset =
+      static_cast<difference_type>(this->ComputeInsertIndex(index));
+    this->insert(this->begin() + offset, first, last, expandElements,
+                 emptyElements);
     return *this;
   }
   template <typename InputIterator>
@@ -1186,13 +1188,13 @@ private:
         auto size = container.size();
         insertPos = cmList::Insert(container, insertPos, *first,
                                    expandElements, emptyElements);
-        insertPos += container.size() - size;
+        insertPos += static_cast<decltype(delta)>(container.size() - size);
       }
     } else {
       for (; first != last; ++first) {
         if (!first->empty() || emptyElements == EmptyElements::Yes) {
           insertPos = container.insert(insertPos, *first);
-          insertPos++;
+          ++insertPos;
         }
       }
     }

+ 2 - 2
Source/cmString.hxx

@@ -493,8 +493,8 @@ public:
                   char ch)
   {
     std::string out;
-    out.reserve((first - this->view_.begin()) + count2 +
-                (this->view_.end() - last));
+    out.reserve(static_cast<size_type>(first - this->view_.begin()) + count2 +
+                static_cast<size_type>(this->view_.end() - last));
     out.append(this->view_.begin(), first);
     out.append(count2, ch);
     out.append(last, this->view_.end());