Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions pkgs/boost/boost.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,13 @@ build_stages:
bash: |
./bootstrap.sh --with-toolset={{toolset}} --prefix=${ARTIFACT}

- name: call_once_variadic
before: bjam
after: bootstrap
handler: bash
files: [call_once_variadic.patch]
bash: |
patch -p2 < _hashdist/call_once_variadic.patch

- name: 128bitIntegerSupport1
before: bjam
Expand Down
62 changes: 62 additions & 0 deletions pkgs/boost/call_once_variadic.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
include/boost/thread/pthread/once.hpp | 6 +++---
include/boost/thread/pthread/once_atomic.hpp | 2 +-
include/boost/thread/win32/once.hpp | 2 +-
3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/include/boost/thread/pthread/once.hpp b/include/boost/thread/pthread/once.hpp
index ccfb051..0bef038 100644
--- a/include/boost/thread/pthread/once.hpp
+++ b/include/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/include/boost/thread/pthread/once_atomic.hpp b/include/boost/thread/pthread/once_atomic.hpp
index 9e2f876..923f07b 100644
--- a/include/boost/thread/pthread/once_atomic.hpp
+++ b/include/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/include/boost/thread/win32/once.hpp b/include/boost/thread/win32/once.hpp
index cafcfd4..9b37b31 100644
--- a/include/boost/thread/win32/once.hpp
+++ b/include/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)())
{