Ticket #13481: boost_strict_aliasing_fix.patch
File boost_strict_aliasing_fix.patch, 1013 bytes (added by , 5 years ago) |
---|
-
boost/function/function_template.hpp
a b namespace boost { 895 895 if (!f.empty()) { 896 896 this->vtable = f.vtable; 897 897 if (this->has_trivial_copy_and_destroy()) 898 this->functor = f.functor;898 std::memcpy(this->functor.data, f.functor.data, sizeof(boost::detail::function::function_buffer)); 899 899 else 900 900 get_vtable()->base.manager(f.functor, this->functor, 901 901 boost::detail::function::clone_functor_tag); … … namespace boost { 983 983 if (!f.empty()) { 984 984 this->vtable = f.vtable; 985 985 if (this->has_trivial_copy_and_destroy()) 986 this->functor = f.functor;986 std::memcpy(this->functor.data, f.functor.data, sizeof(boost::detail::function::function_buffer)); 987 987 else 988 988 get_vtable()->base.manager(f.functor, this->functor, 989 989 boost::detail::function::move_functor_tag);