08f935ac45
* add changelog and Signed-off-by to patches * use correct name for patch 0002 Signed-off-by: Michael Nosthoff <buildroot@heine.tech> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
53 lines
2.3 KiB
Diff
53 lines
2.3 KiB
Diff
From 32bd6197353f6ea8e5bef01f09e25c944141acfc Mon Sep 17 00:00:00 2001
|
|
From: jzmaddock <john@johnmaddock.co.uk>
|
|
Date: Wed, 1 Sep 2021 18:54:54 +0100
|
|
Subject: [PATCH] Allow definition of BOOST_MATH_NO_ATOMIC_INT on the command
|
|
line. Allows us to test/emulate platforms with no atomic integers.
|
|
|
|
[buildroot@heine.tech:
|
|
- backport from boostorg/math 32bd6197353f6ea8e5bef01f09e25c944141acfc
|
|
- alter path to match boost release
|
|
]
|
|
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
|
|
---
|
|
boost/math/tools/atomic.hpp | 10 +++++-----
|
|
1 file changed, 5 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/boost/math/tools/atomic.hpp b/boost/math/tools/atomic.hpp
|
|
index cc76ed269f..e3cbf5db89 100644
|
|
--- a/boost/math/tools/atomic.hpp
|
|
+++ b/boost/math/tools/atomic.hpp
|
|
@@ -16,27 +16,27 @@
|
|
namespace boost {
|
|
namespace math {
|
|
namespace detail {
|
|
-#if ATOMIC_INT_LOCK_FREE == 2
|
|
+#if (ATOMIC_INT_LOCK_FREE == 2) && !defined(BOOST_MATH_NO_ATOMIC_INT)
|
|
typedef std::atomic<int> atomic_counter_type;
|
|
typedef std::atomic<unsigned> atomic_unsigned_type;
|
|
typedef int atomic_integer_type;
|
|
typedef unsigned atomic_unsigned_integer_type;
|
|
-#elif ATOMIC_SHORT_LOCK_FREE == 2
|
|
+#elif (ATOMIC_SHORT_LOCK_FREE == 2) && !defined(BOOST_MATH_NO_ATOMIC_INT)
|
|
typedef std::atomic<short> atomic_counter_type;
|
|
typedef std::atomic<unsigned short> atomic_unsigned_type;
|
|
typedef short atomic_integer_type;
|
|
typedef unsigned short atomic_unsigned_type;
|
|
-#elif ATOMIC_LONG_LOCK_FREE == 2
|
|
+#elif (ATOMIC_LONG_LOCK_FREE == 2) && !defined(BOOST_MATH_NO_ATOMIC_INT)
|
|
typedef std::atomic<long> atomic_unsigned_integer_type;
|
|
typedef std::atomic<unsigned long> atomic_unsigned_type;
|
|
typedef unsigned long atomic_unsigned_type;
|
|
typedef long atomic_integer_type;
|
|
-#elif ATOMIC_LLONG_LOCK_FREE == 2
|
|
+#elif (ATOMIC_LLONG_LOCK_FREE == 2) && !defined(BOOST_MATH_NO_ATOMIC_INT)
|
|
typedef std::atomic<long long> atomic_unsigned_integer_type;
|
|
typedef std::atomic<unsigned long long> atomic_unsigned_type;
|
|
typedef long long atomic_integer_type;
|
|
typedef unsigned long long atomic_unsigned_integer_type;
|
|
-#else
|
|
+#elif !defined(BOOST_MATH_NO_ATOMIC_INT)
|
|
# define BOOST_MATH_NO_ATOMIC_INT
|
|
#endif
|
|
} // Namespace detail
|