From: Jonathan Wakely Date: Wed, 1 Oct 2025 12:31:59 +0000 (+0100) Subject: libstdc++: Fix -Wformat warning in std::string X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3f2a291ef3a5bbf854454f2d2c8559d9f4cb292a;p=thirdparty%2Fgcc.git 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::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. --- diff --git a/libstdc++-v3/include/bits/basic_string.h b/libstdc++-v3/include/bits/basic_string.h index 708104984d2..8ae6569f501 100644 --- a/libstdc++-v3/include/bits/basic_string.h +++ b/libstdc++-v3/include/bits/basic_string.h @@ -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; }