From: Jonathan Wakely Date: Sat, 27 Sep 2025 11:47:45 +0000 (+0100) Subject: libstdc++: Fix some -Wsign-compare warnings in headers X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c2ccc43dda153ce707d39c46623b0d30ceca7db8;p=thirdparty%2Fgcc.git libstdc++: Fix some -Wsign-compare warnings in headers 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. --- diff --git a/libstdc++-v3/include/bits/deque.tcc b/libstdc++-v3/include/bits/deque.tcc index c15b046691e..20b23fffc9e 100644 --- a/libstdc++-v3/include/bits/deque.tcc +++ b/libstdc++-v3/include/bits/deque.tcc @@ -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::_S_do_it(*this); diff --git a/libstdc++-v3/include/std/spanstream b/libstdc++-v3/include/std/spanstream index 23a340a746e..fbb40ff1db2 100644 --- a/libstdc++-v3/include/std/spanstream +++ b/libstdc++-v3/include/std/spanstream @@ -152,7 +152,7 @@ template 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 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)