MarcoFalke
9 years ago
3 changed files with 0 additions and 127 deletions
@ -1,35 +0,0 @@ |
|||||||
diff --git a/include/boost/atomic/detail/cas128strong.hpp b/include/boost/atomic/detail/cas128strong.hpp
|
|
||||||
index 906c13e..dcb4d7d 100644
|
|
||||||
--- a/include/boost/atomic/detail/cas128strong.hpp
|
|
||||||
+++ b/include/boost/atomic/detail/cas128strong.hpp
|
|
||||||
@@ -196,15 +196,17 @@ class base_atomic<T, void, 16, Sign>
|
|
||||||
|
|
||||||
public: |
|
||||||
BOOST_DEFAULTED_FUNCTION(base_atomic(void), {}) |
|
||||||
- explicit base_atomic(value_type const& v) BOOST_NOEXCEPT : v_(0)
|
|
||||||
+ explicit base_atomic(value_type const& v) BOOST_NOEXCEPT
|
|
||||||
{ |
|
||||||
+ memset(&v_, 0, sizeof(v_));
|
|
||||||
memcpy(&v_, &v, sizeof(value_type)); |
|
||||||
} |
|
||||||
|
|
||||||
void |
|
||||||
store(value_type const& value, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT |
|
||||||
{ |
|
||||||
- storage_type value_s = 0;
|
|
||||||
+ storage_type value_s;
|
|
||||||
+ memset(&value_s, 0, sizeof(value_s));
|
|
||||||
memcpy(&value_s, &value, sizeof(value_type)); |
|
||||||
platform_fence_before_store(order); |
|
||||||
platform_store128(value_s, &v_); |
|
||||||
@@ -247,7 +249,9 @@ class base_atomic<T, void, 16, Sign>
|
|
||||||
memory_order success_order, |
|
||||||
memory_order failure_order) volatile BOOST_NOEXCEPT |
|
||||||
{ |
|
||||||
- storage_type expected_s = 0, desired_s = 0;
|
|
||||||
+ storage_type expected_s, desired_s;
|
|
||||||
+ memset(&expected_s, 0, sizeof(expected_s));
|
|
||||||
+ memset(&desired_s, 0, sizeof(desired_s));
|
|
||||||
memcpy(&expected_s, &expected, sizeof(value_type)); |
|
||||||
memcpy(&desired_s, &desired, sizeof(value_type)); |
|
||||||
|
|
@ -1,55 +0,0 @@ |
|||||||
diff --git a/include/boost/atomic/detail/gcc-atomic.hpp b/include/boost/atomic/detail/gcc-atomic.hpp
|
|
||||||
index a130590..4af99a1 100644
|
|
||||||
--- a/include/boost/atomic/detail/gcc-atomic.hpp
|
|
||||||
+++ b/include/boost/atomic/detail/gcc-atomic.hpp
|
|
||||||
@@ -958,14 +958,16 @@ class base_atomic<T, void, 16, Sign>
|
|
||||||
|
|
||||||
public: |
|
||||||
BOOST_DEFAULTED_FUNCTION(base_atomic(void), {}) |
|
||||||
- explicit base_atomic(value_type const& v) BOOST_NOEXCEPT : v_(0)
|
|
||||||
+ explicit base_atomic(value_type const& v) BOOST_NOEXCEPT
|
|
||||||
{ |
|
||||||
+ memset(&v_, 0, sizeof(v_));
|
|
||||||
memcpy(&v_, &v, sizeof(value_type)); |
|
||||||
} |
|
||||||
|
|
||||||
void store(value_type const& v, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT |
|
||||||
{ |
|
||||||
- storage_type tmp = 0;
|
|
||||||
+ storage_type tmp;
|
|
||||||
+ memset(&tmp, 0, sizeof(tmp));
|
|
||||||
memcpy(&tmp, &v, sizeof(value_type)); |
|
||||||
__atomic_store_n(&v_, tmp, atomics::detail::convert_memory_order_to_gcc(order)); |
|
||||||
} |
|
||||||
@@ -980,7 +982,8 @@ class base_atomic<T, void, 16, Sign>
|
|
||||||
|
|
||||||
value_type exchange(value_type const& v, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT |
|
||||||
{ |
|
||||||
- storage_type tmp = 0;
|
|
||||||
+ storage_type tmp;
|
|
||||||
+ memset(&tmp, 0, sizeof(tmp));
|
|
||||||
memcpy(&tmp, &v, sizeof(value_type)); |
|
||||||
tmp = __atomic_exchange_n(&v_, tmp, atomics::detail::convert_memory_order_to_gcc(order)); |
|
||||||
value_type res; |
|
||||||
@@ -994,7 +997,9 @@ class base_atomic<T, void, 16, Sign>
|
|
||||||
memory_order success_order, |
|
||||||
memory_order failure_order) volatile BOOST_NOEXCEPT |
|
||||||
{ |
|
||||||
- storage_type expected_s = 0, desired_s = 0;
|
|
||||||
+ storage_type expected_s, desired_s;
|
|
||||||
+ memset(&expected_s, 0, sizeof(expected_s));
|
|
||||||
+ memset(&desired_s, 0, sizeof(desired_s));
|
|
||||||
memcpy(&expected_s, &expected, sizeof(value_type)); |
|
||||||
memcpy(&desired_s, &desired, sizeof(value_type)); |
|
||||||
const bool success = __atomic_compare_exchange_n(&v_, &expected_s, desired_s, false, |
|
||||||
@@ -1010,7 +1015,9 @@ class base_atomic<T, void, 16, Sign>
|
|
||||||
memory_order success_order, |
|
||||||
memory_order failure_order) volatile BOOST_NOEXCEPT |
|
||||||
{ |
|
||||||
- storage_type expected_s = 0, desired_s = 0;
|
|
||||||
+ storage_type expected_s, desired_s;
|
|
||||||
+ memset(&expected_s, 0, sizeof(expected_s));
|
|
||||||
+ memset(&desired_s, 0, sizeof(desired_s));
|
|
||||||
memcpy(&expected_s, &expected, sizeof(value_type)); |
|
||||||
memcpy(&desired_s, &desired, sizeof(value_type)); |
|
||||||
const bool success = __atomic_compare_exchange_n(&v_, &expected_s, desired_s, true, |
|
@ -1,37 +0,0 @@ |
|||||||
From eec808554936ae068b23df07ab54d4dc6302a695 Mon Sep 17 00:00:00 2001 |
|
||||||
From: jzmaddock <jzmaddock@gmail.com> |
|
||||||
Date: Sat, 23 Aug 2014 09:38:02 +0100 |
|
||||||
Subject: [PATCH] Fix BOOST_NO_CXX11_VARIADIC_TEMPLATES definition - the |
|
||||||
feature was introduced in GCC 4.4. |
|
||||||
|
|
||||||
---
|
|
||||||
include/boost/config/compiler/gcc.hpp | 9 +-------- |
|
||||||
1 file changed, 1 insertion(+), 8 deletions(-) |
|
||||||
|
|
||||||
diff --git a/include/boost/config/compiler/gcc.hpp b/include/boost/config/compiler/gcc.hpp
|
|
||||||
index f37159d..97d8a18 100644
|
|
||||||
--- a/include/boost/config/compiler/gcc.hpp
|
|
||||||
+++ b/include/boost/config/compiler/gcc.hpp
|
|
||||||
@@ -154,14 +154,6 @@
|
|
||||||
# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS |
|
||||||
# define BOOST_NO_CXX11_RVALUE_REFERENCES |
|
||||||
# define BOOST_NO_CXX11_STATIC_ASSERT |
|
||||||
-
|
|
||||||
-// Variadic templates compiler:
|
|
||||||
-// http://www.generic-programming.org/~dgregor/cpp/variadic-templates.html
|
|
||||||
-# if defined(__VARIADIC_TEMPLATES) || (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4) && defined(__GXX_EXPERIMENTAL_CXX0X__))
|
|
||||||
-# define BOOST_HAS_VARIADIC_TMPL
|
|
||||||
-# else
|
|
||||||
-# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
|
||||||
-# endif
|
|
||||||
#endif |
|
||||||
|
|
||||||
// C++0x features in 4.4.n and later |
|
||||||
@@ -176,6 +168,7 @@
|
|
||||||
# define BOOST_NO_CXX11_DELETED_FUNCTIONS |
|
||||||
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES |
|
||||||
# define BOOST_NO_CXX11_INLINE_NAMESPACES |
|
||||||
+# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
|
||||||
#endif |
|
||||||
|
|
||||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) |
|
Loading…
Reference in new issue