浏览代码

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 年之前
父节点
当前提交
7b3464320f
共有 2 个文件被更改,包括 8 次插入6 次删除
  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());