Mercurial > hg > orthanc
comparison Resources/Patches/boost-1.55.0-clang-atomic.patch @ 1096:44f139b62108
patch for XCode 5.1
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 05 Aug 2014 16:13:33 +0200 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
1095:ed5069aa1f50 | 1096:44f139b62108 |
---|---|
1 --- boost/atomic/detail/cas128strong.hpp | |
2 +++ boost/atomic/detail/cas128strong.hpp | |
3 @@ -196,15 +196,17 @@ class base_atomic<T, void, 16, Sign> | |
4 | |
5 public: | |
6 BOOST_DEFAULTED_FUNCTION(base_atomic(void), {}) | |
7 - explicit base_atomic(value_type const& v) BOOST_NOEXCEPT : v_(0) | |
8 + explicit base_atomic(value_type const& v) BOOST_NOEXCEPT | |
9 { | |
10 + memset(&v_, 0, sizeof(v_)); | |
11 memcpy(&v_, &v, sizeof(value_type)); | |
12 } | |
13 | |
14 void | |
15 store(value_type const& value, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT | |
16 { | |
17 - storage_type value_s = 0; | |
18 + storage_type value_s; | |
19 + memset(&value_s, 0, sizeof(value_s)); | |
20 memcpy(&value_s, &value, sizeof(value_type)); | |
21 platform_fence_before_store(order); | |
22 platform_store128(value_s, &v_); | |
23 @@ -247,7 +249,9 @@ class base_atomic<T, void, 16, Sign> | |
24 memory_order success_order, | |
25 memory_order failure_order) volatile BOOST_NOEXCEPT | |
26 { | |
27 - storage_type expected_s = 0, desired_s = 0; | |
28 + storage_type expected_s, desired_s; | |
29 + memset(&expected_s, 0, sizeof(expected_s)); | |
30 + memset(&desired_s, 0, sizeof(desired_s)); | |
31 memcpy(&expected_s, &expected, sizeof(value_type)); | |
32 memcpy(&desired_s, &desired, sizeof(value_type)); | |
33 | |
34 --- boost/atomic/detail/gcc-atomic.hpp | |
35 +++ boost/atomic/detail/gcc-atomic.hpp | |
36 @@ -958,14 +958,16 @@ class base_atomic<T, void, 16, Sign> | |
37 | |
38 public: | |
39 BOOST_DEFAULTED_FUNCTION(base_atomic(void), {}) | |
40 - explicit base_atomic(value_type const& v) BOOST_NOEXCEPT : v_(0) | |
41 + explicit base_atomic(value_type const& v) BOOST_NOEXCEPT | |
42 { | |
43 + memset(&v_, 0, sizeof(v_)); | |
44 memcpy(&v_, &v, sizeof(value_type)); | |
45 } | |
46 | |
47 void store(value_type const& v, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT | |
48 { | |
49 - storage_type tmp = 0; | |
50 + storage_type tmp; | |
51 + memset(&tmp, 0, sizeof(tmp)); | |
52 memcpy(&tmp, &v, sizeof(value_type)); | |
53 __atomic_store_n(&v_, tmp, atomics::detail::convert_memory_order_to_gcc(order)); | |
54 } | |
55 @@ -980,7 +982,8 @@ class base_atomic<T, void, 16, Sign> | |
56 | |
57 value_type exchange(value_type const& v, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT | |
58 { | |
59 - storage_type tmp = 0; | |
60 + storage_type tmp; | |
61 + memset(&tmp, 0, sizeof(tmp)); | |
62 memcpy(&tmp, &v, sizeof(value_type)); | |
63 tmp = __atomic_exchange_n(&v_, tmp, atomics::detail::convert_memory_order_to_gcc(order)); | |
64 value_type res; | |
65 @@ -994,7 +997,9 @@ class base_atomic<T, void, 16, Sign> | |
66 memory_order success_order, | |
67 memory_order failure_order) volatile BOOST_NOEXCEPT | |
68 { | |
69 - storage_type expected_s = 0, desired_s = 0; | |
70 + storage_type expected_s, desired_s; | |
71 + memset(&expected_s, 0, sizeof(expected_s)); | |
72 + memset(&desired_s, 0, sizeof(desired_s)); | |
73 memcpy(&expected_s, &expected, sizeof(value_type)); | |
74 memcpy(&desired_s, &desired, sizeof(value_type)); | |
75 const bool success = __atomic_compare_exchange_n(&v_, &expected_s, desired_s, false, | |
76 @@ -1010,7 +1015,9 @@ class base_atomic<T, void, 16, Sign> | |
77 memory_order success_order, | |
78 memory_order failure_order) volatile BOOST_NOEXCEPT | |
79 { | |
80 - storage_type expected_s = 0, desired_s = 0; | |
81 + storage_type expected_s, desired_s; | |
82 + memset(&expected_s, 0, sizeof(expected_s)); | |
83 + memset(&desired_s, 0, sizeof(desired_s)); | |
84 memcpy(&expected_s, &expected, sizeof(value_type)); | |
85 memcpy(&desired_s, &desired, sizeof(value_type)); | |
86 const bool success = __atomic_compare_exchange_n(&v_, &expected_s, desired_s, true, | |
87 -- |