boost/boost-strict_aliasing.patch

33 lines
1.6 KiB
Diff

Index: libs/python/build/Jamfile.v2
===================================================================
--- libs/python/build/Jamfile.v2.orig 2009-10-14 00:37:59.000000000 +0200
+++ libs/python/build/Jamfile.v2 2010-03-26 16:49:22.348016732 +0100
@@ -41,7 +41,8 @@ py3-version = [ find-py3-version ] ;
project boost/python
: source-location ../src
- ;
+ : requirements <cxxflags>-fno-strict-aliasing
+ ;
rule cond ( test ? : yes * : no * ) { if $(test) { return $(yes) ; } else { return $(no) ; } }
rule unless ( test ? : yes * : no * ) { if ! $(test) { return $(yes) ; } else { return $(no) ; } }
Index: boost/function/function_base.hpp
===================================================================
--- boost/function/function_base.hpp.orig 2009-12-06 18:50:28.000000000 +0100
+++ boost/function/function_base.hpp 2010-03-31 14:24:45.259010848 +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;