diff options
author | Caolán McNamara <cmc@openoffice.org> | 2010-07-16 10:13:25 +0100 |
---|---|---|
committer | Caolán McNamara <cmc@openoffice.org> | 2010-07-16 10:13:25 +0100 |
commit | f00511ad259831acbc08e35d5d65537f523b3541 (patch) | |
tree | 200a3ddc8b275f4039f7f8866a8c1fff29ee6949 /boost/aliasing.patch | |
parent | ee8b95397dc847114a6e4a4165174b4088975dc7 (diff) |
cmcfixes77: #i113177# remove strict aliasing warnings
Diffstat (limited to 'boost/aliasing.patch')
-rw-r--r-- | boost/aliasing.patch | 20 |
1 files changed, 3 insertions, 17 deletions
diff --git a/boost/aliasing.patch b/boost/aliasing.patch index 798c4393c2a0..8e3dc4107344 100644 --- a/boost/aliasing.patch +++ b/boost/aliasing.patch @@ -8,7 +8,7 @@ // Use, modification and distribution is subject to the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) -@@ -44,6 +45,13 @@ +@@ -41,6 +42,13 @@ # pragma warning( disable : 4127 ) // "conditional expression is constant" #endif @@ -22,7 +22,7 @@ // Define BOOST_FUNCTION_STD_NS to the namespace that contains type_info. #ifdef BOOST_NO_STD_TYPEINFO // Embedded VC++ does not have type_info in namespace std -@@ -314,15 +322,15 @@ +@@ -303,15 +311,15 @@ { if (op == clone_functor_tag || op == move_functor_tag) { const functor_type* in_functor = @@ -39,19 +39,5 @@ - reinterpret_cast<functor_type*>(&out_buffer.data)->~Functor(); + static_cast<functor_type*>(static_cast<void*>(&out_buffer.data))->~Functor(); } else if (op == check_functor_type_tag) { - const detail::sp_typeinfo& check_type + const BOOST_FUNCTION_STD_NS::type_info& check_type = *out_buffer.type.type; -@@ -714,8 +722,11 @@ - - public: // should be protected, but GCC 2.95.3 will fail to allow access - detail::function::vtable_base* get_vtable() const { -- return reinterpret_cast<detail::function::vtable_base*>( -- reinterpret_cast<std::size_t>(vtable) & ~(std::size_t)0x01); -+ return static_cast<detail::function::vtable_base*>( -+ (void*)( -+ (std::size_t(static_cast<void*>(vtable)) & ~(std::size_t(0x01))) -+ ) -+ ); - } - - bool has_trivial_copy_and_destroy() const { |