Tested powerpc64le-linux, pushed to trunk.

libstdc++-v3/ChangeLog:

        PR libstdc++/103848
        * include/bits/stl_deque.h (operator-): Do not use 0 as null
        pointer constant.
---
 libstdc++-v3/include/bits/stl_deque.h | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/libstdc++-v3/include/bits/stl_deque.h 
b/libstdc++-v3/include/bits/stl_deque.h
index e4c53d56068..7fa9b0b3c09 100644
--- a/libstdc++-v3/include/bits/stl_deque.h
+++ b/libstdc++-v3/include/bits/stl_deque.h
@@ -370,7 +370,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
       operator-(const _Self& __x, const _Self& __y) _GLIBCXX_NOEXCEPT
       {
        return difference_type(_S_buffer_size())
-         * (__x._M_node - __y._M_node - int(__x._M_node != 0))
+         * (__x._M_node - __y._M_node - bool(__x._M_node))
          + (__x._M_cur - __x._M_first)
          + (__y._M_last - __y._M_cur);
       }
@@ -383,10 +383,11 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        _GLIBCXX_NODISCARD
        friend difference_type
        operator-(const _Self& __x,
-                 const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) 
_GLIBCXX_NOEXCEPT
+                 const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
+       _GLIBCXX_NOEXCEPT
        {
          return difference_type(_S_buffer_size())
-           * (__x._M_node - __y._M_node - int(__x._M_node != 0))
+           * (__x._M_node - __y._M_node - bool(__x._M_node))
            + (__x._M_cur - __x._M_first)
            + (__y._M_last - __y._M_cur);
        }
-- 
2.31.1

Reply via email to