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.
This commit is contained in:
Jason Merrill 2024-08-27 13:17:20 -04:00
parent 3f51f0dc88
commit 4246cf4f18
2 changed files with 3 additions and 2 deletions

View file

@ -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.

View file

@ -80,7 +80,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]]