libstdc++: Don't check always-true condition [PR101965]
authorJonathan Wakely <jwakely@redhat.com>
Thu, 19 Aug 2021 12:05:54 +0000 (13:05 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Thu, 19 Aug 2021 13:57:41 +0000 (14:57 +0100)
Signed-off-by: Jonathan Wakely <jwakely@redhat.com>
libstdc++-v3/ChangeLog:

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

libstdc++-v3/include/std/charconv

index ac9c34d..2e36884 100644 (file)
@@ -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);
          }