afd37d9251
Our higher versions have fix integrated upstream.
(cherry picked from commit 4e8da0747c
)
65 lines
2.5 KiB
Diff
65 lines
2.5 KiB
Diff
https://svn.boost.org/trac/boost/ticket/10125
|
|
|
|
boost/thread/pthread/once.hpp | 6 +++---
|
|
boost/thread/pthread/once_atomic.hpp | 2 +-
|
|
boost/thread/win32/once.hpp | 2 +-
|
|
3 files changed, 5 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/boost/thread/pthread/once.hpp b/boost/thread/pthread/once.hpp
|
|
index ccfb051..0bef038 100644
|
|
--- a/boost/thread/pthread/once.hpp
|
|
+++ b/boost/thread/pthread/once.hpp
|
|
@@ -42,7 +42,7 @@ namespace boost
|
|
}
|
|
|
|
#ifdef BOOST_THREAD_PROVIDES_ONCE_CXX11
|
|
-#ifndef BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
|
+#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
|
template<typename Function, class ...ArgTypes>
|
|
inline void call_once(once_flag& flag, BOOST_THREAD_RV_REF(Function) f, BOOST_THREAD_RV_REF(ArgTypes)... args);
|
|
#else
|
|
@@ -65,7 +65,7 @@ namespace boost
|
|
private:
|
|
volatile thread_detail::uintmax_atomic_t epoch;
|
|
|
|
-#ifndef BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
|
+#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
|
template<typename Function, class ...ArgTypes>
|
|
friend void call_once(once_flag& flag, BOOST_THREAD_RV_REF(Function) f, BOOST_THREAD_RV_REF(ArgTypes)... args);
|
|
#else
|
|
@@ -118,7 +118,7 @@ namespace boost
|
|
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2444.html
|
|
|
|
|
|
-#ifndef BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
|
+#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
|
|
|
|
|
template<typename Function, class ...ArgTypes>
|
|
diff --git a/boost/thread/pthread/once_atomic.hpp b/boost/thread/pthread/once_atomic.hpp
|
|
index 9e2f876..923f07b 100644
|
|
--- a/boost/thread/pthread/once_atomic.hpp
|
|
+++ b/boost/thread/pthread/once_atomic.hpp
|
|
@@ -115,7 +115,7 @@ namespace boost
|
|
#endif
|
|
|
|
|
|
-#ifndef BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
|
+#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
|
|
|
template<typename Function, class ...ArgTypes>
|
|
inline void call_once(once_flag& flag, BOOST_THREAD_RV_REF(Function) f, BOOST_THREAD_RV_REF(ArgTypes)... args)
|
|
diff --git a/boost/thread/win32/once.hpp b/boost/thread/win32/once.hpp
|
|
index cafcfd4..9b37b31 100644
|
|
--- a/boost/thread/win32/once.hpp
|
|
+++ b/boost/thread/win32/once.hpp
|
|
@@ -227,7 +227,7 @@ namespace boost
|
|
}
|
|
}
|
|
|
|
-#ifndef BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
|
+#if !defined BOOST_NO_CXX11_VARIADIC_TEMPLATES && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
|
//#if defined(BOOST_THREAD_RVALUE_REFERENCES_DONT_MATCH_FUNTION_PTR)
|
|
inline void call_once(once_flag& flag, void (*f)())
|
|
{
|