[committed] libstdc++: Fix -Wsign-compare warnings in headers
Jonathan Wakely
jwakely@redhat.com
Tue Oct 27 16:34:19 GMT 2020
libstdc++-v3/ChangeLog:
* include/bits/locale_conv.h (__str_codecvt_out_all):
Add cast to compare operands of the same signedness.
* include/bits/locale_facets_nonio.tcc
(time_get::_M_extract_wday_or_month): Likewise.
* include/bits/sstream.tcc (basic_stringbuf::overflow):
Likewise.
* include/tr1/legendre_function.tcc (__sph_legendre): Use
unsigned for loop variable.
Tested x86_64-linux. Committed to trunk.
-------------- next part --------------
commit 2232b6136822cc44d835f2b788e8d2d77b898878
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Tue Oct 27 16:32:53 2020
libstdc++: Fix -Wsign-compare warnings in headers
libstdc++-v3/ChangeLog:
* include/bits/locale_conv.h (__str_codecvt_out_all):
Add cast to compare operands of the same signedness.
* include/bits/locale_facets_nonio.tcc
(time_get::_M_extract_wday_or_month): Likewise.
* include/bits/sstream.tcc (basic_stringbuf::overflow):
Likewise.
* include/tr1/legendre_function.tcc (__sph_legendre): Use
unsigned for loop variable.
diff --git a/libstdc++-v3/include/bits/locale_conv.h b/libstdc++-v3/include/bits/locale_conv.h
index f1d7032e8bc..52c37a4feac 100644
--- a/libstdc++-v3/include/bits/locale_conv.h
+++ b/libstdc++-v3/include/bits/locale_conv.h
@@ -185,7 +185,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_State __state = {};
size_t __n;
return __str_codecvt_out(__first, __last, __outstr, __cvt, __state, __n)
- && (__n == (__last - __first));
+ && (__n == size_t(__last - __first));
}
#ifdef _GLIBCXX_USE_CHAR8_T
diff --git a/libstdc++-v3/include/bits/locale_facets_nonio.tcc b/libstdc++-v3/include/bits/locale_facets_nonio.tcc
index ff84d7349cd..a8639f6ba28 100644
--- a/libstdc++-v3/include/bits/locale_facets_nonio.tcc
+++ b/libstdc++-v3/include/bits/locale_facets_nonio.tcc
@@ -1046,8 +1046,8 @@ _GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11
if ((__nmatches == 1 && __matches_lengths[0] == __pos)
|| (__nmatches == 2 && (__matches_lengths[0] == __pos
|| __matches_lengths[1] == __pos)))
- __member = (__matches[0] >= __indexlen
- ? __matches[0] - __indexlen : __matches[0]);
+ __member = (__matches[0] >= (int)__indexlen
+ ? __matches[0] - (int)__indexlen : __matches[0]);
else
__err |= ios_base::failbit;
diff --git a/libstdc++-v3/include/bits/sstream.tcc b/libstdc++-v3/include/bits/sstream.tcc
index 9e70c36d071..5dd06002a0c 100644
--- a/libstdc++-v3/include/bits/sstream.tcc
+++ b/libstdc++-v3/include/bits/sstream.tcc
@@ -90,7 +90,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
const __size_type __capacity = _M_string.capacity();
#if _GLIBCXX_USE_CXX11_ABI
- if ((this->epptr() - this->pbase()) < __capacity)
+ if (size_t(this->epptr() - this->pbase()) < __capacity)
{
// There is additional capacity in _M_string that can be used.
char_type* __base = const_cast<char_type*>(_M_string.data());
diff --git a/libstdc++-v3/include/tr1/legendre_function.tcc b/libstdc++-v3/include/tr1/legendre_function.tcc
index 126355beb31..1e66a5a2e57 100644
--- a/libstdc++-v3/include/tr1/legendre_function.tcc
+++ b/libstdc++-v3/include/tr1/legendre_function.tcc
@@ -274,7 +274,7 @@ namespace tr1
_Tp __y_lm = _Tp(0);
// Compute Y_l^m, l > m+1, upward recursion on l.
- for (int __ll = __m + 2; __ll <= __l; ++__ll)
+ for (unsigned int __ll = __m + 2; __ll <= __l; ++__ll)
{
const _Tp __rat1 = _Tp(__ll - __m) / _Tp(__ll + __m);
const _Tp __rat2 = _Tp(__ll - __m - 1) / _Tp(__ll + __m - 1);
More information about the Libstdc++
mailing list