]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libstdc++: Cast -1 to size_t in <format> [PR119429]
authorJonathan Wakely <jwakely@redhat.com>
Mon, 24 Mar 2025 21:25:20 +0000 (21:25 +0000)
committerJonathan Wakely <redi@gcc.gnu.org>
Wed, 26 Mar 2025 14:41:23 +0000 (14:41 +0000)
This avoids a runtime error from Clang's annoying -fsanitize=integer
(even though it's not undefined and behaves correctly).

libstdc++-v3/ChangeLog:

PR libstdc++/119429
* include/std/format (__format::_Scanner::_Scanner): Cast
default argument to size_t.

(cherry picked from commit 039cc50867000e6427924ca490dc810eaa44cf08)

libstdc++-v3/include/std/format

index 5720bf069b4aa5ee0770ecef34355d90266689b6..f64947a0e2935170c9f987efca6f8ecf02b966c4 100644 (file)
@@ -3903,7 +3903,7 @@ namespace __format
       basic_format_parse_context<_CharT> _M_pc;
 
       constexpr explicit
-      _Scanner(basic_string_view<_CharT> __str, size_t __nargs = -1)
+      _Scanner(basic_string_view<_CharT> __str, size_t __nargs = (size_t)-1)
       : _M_pc(__str, __nargs)
       { }