https://gcc.gnu.org/g:3a1a3ba916a6e5d795f0f07dea2bdd76c30740a1
commit r14-11047-g3a1a3ba916a6e5d795f0f07dea2bdd76c30740a1 Author: Jason Merrill <ja...@redhat.com> Date: Tue Aug 27 13:17:20 2024 -0400 libstdc++: avoid -Wsign-compare -Wsign-compare complained about these comparisons between (unsigned) size_t and (signed) streamsize, or between (unsigned) native_handle_type and (signed) -1. Fixed by adding casts to unify the types. libstdc++-v3/ChangeLog: * include/std/istream: Add cast to avoid -Wsign-compare. * include/std/stacktrace: Likewise. (cherry picked from commit 4246cf4f18053eeb47cb2a241fffa9a41573916e) Diff: --- libstdc++-v3/include/std/istream | 2 +- libstdc++-v3/include/std/stacktrace | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/libstdc++-v3/include/std/istream b/libstdc++-v3/include/std/istream index a2b207dae78c..730e413c290b 100644 --- a/libstdc++-v3/include/std/istream +++ b/libstdc++-v3/include/std/istream @@ -909,7 +909,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION __n /= sizeof(_CharT); streamsize __w = __in.width(); std::__istream_extract(__in, __s, __n); - if (__in.good() && (__w <= 0 || __n < __w)) + if (__in.good() && (__w <= 0 || __n < (size_t)__w)) { // Stopped extracting early to avoid overflowing the buffer, // but might have stopped anyway (and set eofbit) if at EOF. diff --git a/libstdc++-v3/include/std/stacktrace b/libstdc++-v3/include/std/stacktrace index 8c645a8540a8..dcff886c095f 100644 --- a/libstdc++-v3/include/std/stacktrace +++ b/libstdc++-v3/include/std/stacktrace @@ -79,7 +79,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr native_handle_type native_handle() const noexcept { return _M_pc; } - constexpr explicit operator bool() const noexcept { return _M_pc != -1; } + constexpr explicit operator bool() const noexcept + { return _M_pc != (native_handle_type)-1; } // [stacktrace.entry.query], query [[nodiscard]]