From: Jonathan Wakely Date: Tue, 27 Oct 2020 16:32:53 +0000 (+0000) Subject: libstdc++: Fix -Wsign-compare warnings in headers X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2232b6136822cc44d835f2b788e8d2d77b898878;p=gcc.git 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(_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);