summaryrefslogtreecommitdiff
path: root/boost/boost.3780.aliasing.patch
blob: d9cff1b7aa997c1307ee1f89f175705493cff0a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
--- misc/boost_1_44_0/boost/function/function_base.hpp
+++ misc/build/boost_1_44_0/boost/function/function_base.hpp
@@ -314,17 +322,17 @@
         {
           if (op == clone_functor_tag || op == move_functor_tag) {
             const functor_type* in_functor = 
-              reinterpret_cast<const functor_type*>(&in_buffer.data);
+              static_cast<const functor_type*>(static_cast<void*>(&in_buffer.data));
             new (reinterpret_cast<void*>(&out_buffer.data)) functor_type(*in_functor);
 
             if (op == move_functor_tag) {
-              functor_type* f = reinterpret_cast<functor_type*>(&in_buffer.data);
+              functor_type* f = static_cast<functor_type*>(static_cast<void*>(&in_buffer.data));
               (void)f; // suppress warning about the value of f not being used (MSVC)
               f->~Functor();
             }
           } else if (op == destroy_functor_tag) {
             // Some compilers (Borland, vc6, ...) are unhappy with ~functor_type.
-             functor_type* f = reinterpret_cast<functor_type*>(&out_buffer.data);
+             functor_type* f = static_cast<functor_type*>(static_cast<void*>(&out_buffer.data));
              (void)f; // suppress warning about the value of f not being used (MSVC)
              f->~Functor();
           } else if (op == check_functor_type_tag) {