File boost-strict_aliasing.patch of Package boost

Index: libs/python/build/Jamfile.v2
===================================================================
--- libs/python/build/Jamfile.v2.orig	2010-07-13 00:29:41.000000000 +0200
+++ libs/python/build/Jamfile.v2	2010-08-24 12:51:20.939878260 +0200
@@ -51,6 +51,7 @@ project boost/python
   : requirements
     -<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
     <tag>@$(__name__).tag
+	<cxxflags>-fno-strict-aliasing
   ;
 
 rule tag ( name : type ? : property-set )
Index: boost/function/function_base.hpp
===================================================================
--- boost/function/function_base.hpp.orig	2010-07-05 00:38:38.000000000 +0200
+++ boost/function/function_base.hpp	2010-08-24 12:48:57.271702046 +0200
@@ -318,11 +318,11 @@ namespace boost {
             new ((void*)&out_buffer.data) functor_type(*in_functor);
 
             if (op == move_functor_tag) {
-              reinterpret_cast<functor_type*>(&in_buffer.data)->~Functor();
+              reinterpret_cast<const functor_type*>(&in_buffer)->~Functor();
             }
           } else if (op == destroy_functor_tag) {
             // Some compilers (Borland, vc6, ...) are unhappy with ~functor_type.
-            reinterpret_cast<functor_type*>(&out_buffer.data)->~Functor();
+            reinterpret_cast<const functor_type*>(&out_buffer)->~Functor();
           } else if (op == check_functor_type_tag) {
             const detail::sp_typeinfo& check_type 
               = *out_buffer.type.type;
openSUSE Build Service is sponsored by