]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libstdc++: Fix some -Wsign-compare warnings in headers
authorJonathan Wakely <jwakely@redhat.com>
Sat, 27 Sep 2025 11:47:45 +0000 (12:47 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Sat, 27 Sep 2025 20:18:42 +0000 (21:18 +0100)
In all these cases we know the value with signed type is not negative so
the cast is safe.

libstdc++-v3/ChangeLog:

* include/bits/deque.tcc (deque::_M_shrink_to_fit): Cast
difference_type to size_type to avoid -Wsign-compare warning.
* include/std/spanstream (basic_spanbuf::seekoff): Cast
streamoff to size_t to avoid -Wsign-compare warning.

libstdc++-v3/include/bits/deque.tcc
libstdc++-v3/include/std/spanstream

index c15b046691ea63e60b7c9aa8f48b3bf4f24e3bb3..20b23fffc9e17db0a57b3c7f6da9ebe3fe0d9cac 100644 (file)
@@ -381,7 +381,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
 
       const difference_type __back_capacity
        = (this->_M_impl._M_finish._M_last - this->_M_impl._M_finish._M_cur);
-      if (__front_capacity + __back_capacity < _S_buffer_size())
+      if (size_type(__front_capacity + __back_capacity) < _S_buffer_size())
        return false;
 
       return std::__shrink_to_fit_aux<deque>::_S_do_it(*this);
index 23a340a746e886b5923e3e67c6159e63b04db7b7..fbb40ff1db26aab63fc790fec0a2cc299a731e00 100644 (file)
@@ -152,7 +152,7 @@ template<typename _CharT, typename _Traits>
 
       if (__way == ios_base::beg)
        {
-         if (0 <= __off && __off <= _M_buf.size())
+         if (0 <= __off && (size_t)__off <= _M_buf.size())
            {
              if (__which & ios_base::in)
                this->setg(this->eback(), this->eback() + __off, this->egptr());
@@ -188,7 +188,7 @@ template<typename _CharT, typename _Traits>
          if (__builtin_add_overflow(__base, __off, &__off)) [[unlikely]]
            return __ret;
 
-         if (__off < 0 || __off > _M_buf.size()) [[unlikely]]
+         if (__off < 0 || (size_t)__off > _M_buf.size()) [[unlikely]]
            return __ret;
 
          if (__which & ios_base::in)