From c98006280149a7d5d72405cad4cd0a599dc1f895 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ion=20Gazta=C3=B1aga?= Date: Sat, 22 Sep 2007 06:15:21 +0000 Subject: [PATCH] Sign extension bug. Not should be applied after the constant has been expanded to size_t. Thanks to Glenn Schrader. [SVN r39470] --- include/boost/intrusive/pointer_plus_bit.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/intrusive/pointer_plus_bit.hpp b/include/boost/intrusive/pointer_plus_bit.hpp index 35542b2..02290e6 100644 --- a/include/boost/intrusive/pointer_plus_bit.hpp +++ b/include/boost/intrusive/pointer_plus_bit.hpp @@ -54,7 +54,7 @@ struct pointer_plus_bit typedef T* pointer; static pointer get_pointer(pointer n) - { return pointer(std::size_t(n) & std::size_t(~1u)); } + { return pointer(std::size_t(n) & ~std::size_t(1u)); } static void set_pointer(pointer &n, pointer p) {