Signed-off-by: Jonathan Wakely <jwak...@redhat.com>

libstdc++-v3/ChangeLog:

        PR libstdc++/101965
        * include/std/charconv (__to_chars_i): Remove redundant check.

Tested powerpc64le-linux. Committed to trunk.

commit 85a709595005b5df4b2ee9d81717a5df19c0023f
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Thu Aug 19 13:05:54 2021

    libstdc++: Don't check always-true condition [PR101965]
    
    Signed-off-by: Jonathan Wakely <jwak...@redhat.com>
    
    libstdc++-v3/ChangeLog:
    
            PR libstdc++/101965
            * include/std/charconv (__to_chars_i): Remove redundant check.

diff --git a/libstdc++-v3/include/std/charconv 
b/libstdc++-v3/include/std/charconv
index ac9c34d4601..2e368843fc9 100644
--- a/libstdc++-v3/include/std/charconv
+++ b/libstdc++-v3/include/std/charconv
@@ -336,12 +336,10 @@ namespace __detail
          *__first = '0';
          return { __first + 1, errc{} };
        }
-
-      if _GLIBCXX17_CONSTEXPR (std::is_signed<_Tp>::value)
+      else if _GLIBCXX17_CONSTEXPR (std::is_signed<_Tp>::value)
        if (__value < 0)
          {
-           if (__builtin_expect(__first != __last, 1))
-             *__first++ = '-';
+           *__first++ = '-';
            __unsigned_val = _Up(~__value) + _Up(1);
          }
 

Reply via email to