[gcc r15-3934] libstdc++: Fix -Wsign-compare warning in std::string::resize_for_overwrite

Jonathan Wakely redi@gcc.gnu.org
Fri Sep 27 20:41:54 GMT 2024


https://gcc.gnu.org/g:7040c207baa6b5d5f6065a47dd3559f3d3974a1b

commit r15-3934-g7040c207baa6b5d5f6065a47dd3559f3d3974a1b
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Fri Sep 27 15:51:56 2024 +0100

    libstdc++: Fix -Wsign-compare warning in std::string::resize_for_overwrite
    
    libstdc++-v3/ChangeLog:
    
            * include/bits/basic_string.tcc (resize_for_overwrite): Fix
            -Wsign-compare warning.
            * include/bits/cow_string.h (resize_for_overwrite): Likewise.

Diff:
---
 libstdc++-v3/include/bits/basic_string.tcc | 2 +-
 libstdc++-v3/include/bits/cow_string.h     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/libstdc++-v3/include/bits/basic_string.tcc b/libstdc++-v3/include/bits/basic_string.tcc
index 2c17d258bfe4..caeddaf2f5be 100644
--- a/libstdc++-v3/include/bits/basic_string.tcc
+++ b/libstdc++-v3/include/bits/basic_string.tcc
@@ -611,7 +611,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       static_assert(__gnu_cxx::__is_integer_nonstrict<decltype(__r)>::__value,
 		    "resize_and_overwrite operation must return an integer");
 #endif
-      _GLIBCXX_DEBUG_ASSERT(__r >= 0 && __r <= __n);
+      _GLIBCXX_DEBUG_ASSERT(__r >= 0 && size_type(__r) <= __n);
       __term._M_r = size_type(__r);
       if (__term._M_r > __n)
 	__builtin_unreachable();
diff --git a/libstdc++-v3/include/bits/cow_string.h b/libstdc++-v3/include/bits/cow_string.h
index b78aa74fbfaf..087ddf81dd86 100644
--- a/libstdc++-v3/include/bits/cow_string.h
+++ b/libstdc++-v3/include/bits/cow_string.h
@@ -3800,7 +3800,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       static_assert(__gnu_cxx::__is_integer_nonstrict<decltype(__r)>::__value,
 		    "resize_and_overwrite operation must return an integer");
 #endif
-      _GLIBCXX_DEBUG_ASSERT(__r >= 0 && __r <= __n);
+      _GLIBCXX_DEBUG_ASSERT(__r >= 0 && size_type(__r) <= __n);
       __term._M_r = size_type(__r);
       if (__term._M_r > __n)
 	__builtin_unreachable();


More information about the Gcc-cvs mailing list