[gcc r11-9899] libstdc++: Avoid -Wzero-as-null-pointer-constant warning [PR103848]
Jonathan Wakely
redi@gcc.gnu.org
Thu Apr 21 12:32:22 GMT 2022
https://gcc.gnu.org/g:b59435ff6069583290c8e0953a58044f598a348c
commit r11-9899-gb59435ff6069583290c8e0953a58044f598a348c
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Tue Jan 4 21:57:16 2022 +0000
libstdc++: Avoid -Wzero-as-null-pointer-constant warning [PR103848]
libstdc++-v3/ChangeLog:
PR libstdc++/103848
* include/bits/stl_deque.h (operator-): Do not use 0 as null
pointer constant.
(cherry picked from commit 76a45931ab7c831e32cebf13a6317e5e142f8151)
Diff:
---
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 20c73b4fc3c..8236fe35ce7 100644
--- a/libstdc++-v3/include/bits/stl_deque.h
+++ b/libstdc++-v3/include/bits/stl_deque.h
@@ -353,7 +353,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);
}
@@ -365,10 +365,11 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
template<typename _RefR, typename _PtrR>
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);
}
More information about the Gcc-cvs
mailing list