libstdc++: Fix -Wformat warning in std::string

The __throw_out_of_range_fmt function works like fprintf and so the
arguments corresponding to %zu specifiers need to be size_t. The
std::basic_string<C,T,A>::size_type type is A::size_type which is not
necessarily size_t. Add explicit casts to avoid a -Wformat warning with
-Wsystem-headers.

libstdc++-v3/ChangeLog:

	* include/bits/basic_string.h (basic_string::_M_check): Cast
	size_type arguments to size_t.
This commit is contained in:
Jonathan Wakely 2025-10-01 13:31:59 +01:00 committed by Jonathan Wakely
parent bb23a04417
commit 3f2a291ef3
No known key found for this signature in database
1 changed files with 1 additions and 1 deletions

View File

@ -411,7 +411,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
if (__pos > this->size())
__throw_out_of_range_fmt(__N("%s: __pos (which is %zu) > "
"this->size() (which is %zu)"),
__s, __pos, this->size());
__s, (size_t)__pos, (size_t)this->size());
return __pos;
}