summaryrefslogtreecommitdiff
path: root/boost/context/detail/config.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/context/detail/config.hpp')
-rw-r--r--boost/context/detail/config.hpp32
1 files changed, 20 insertions, 12 deletions
diff --git a/boost/context/detail/config.hpp b/boost/context/detail/config.hpp
index 28edf1f953..ea23a5f9db 100644
--- a/boost/context/detail/config.hpp
+++ b/boost/context/detail/config.hpp
@@ -7,6 +7,9 @@
#ifndef BOOST_CONTEXT_DETAIL_CONFIG_H
#define BOOST_CONTEXT_DETAIL_CONFIG_H
+// required for SD-6 compile-time integer sequences
+#include <utility>
+
#include <boost/config.hpp>
#include <boost/detail/workaround.hpp>
@@ -55,19 +58,24 @@
#endif
#undef BOOST_CONTEXT_NO_EXECUTION_CONTEXT
-#if defined( BOOST_NO_CXX11_DECLTYPE) || \
- defined( BOOST_NO_CXX11_DELETED_FUNCTIONS) || \
- defined( BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS) || \
- defined( BOOST_NO_CXX11_HDR_TUPLE) || \
- defined( BOOST_NO_CXX11_LAMBDAS) || \
- defined( BOOST_NO_CXX11_NOEXCEPT) || \
- defined( BOOST_NO_CXX11_NULLPTR) || \
- defined( BOOST_NO_CXX11_TEMPLATE_ALIASES) || \
- defined( BOOST_NO_CXX11_RVALUE_REFERENCES) || \
- defined( BOOST_NO_CXX11_VARIADIC_MACROS) || \
- defined( BOOST_NO_CXX11_VARIADIC_TEMPLATES) || \
- defined( BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES)
+#if defined(BOOST_NO_CXX11_DECLTYPE) || \
+ defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) || \
+ defined(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS) || \
+ defined(BOOST_NO_CXX11_HDR_TUPLE) || \
+ defined(BOOST_NO_CXX11_LAMBDAS) || \
+ defined(BOOST_NO_CXX11_NOEXCEPT) || \
+ defined(BOOST_NO_CXX11_NULLPTR) || \
+ defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) || \
+ defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \
+ defined(BOOST_NO_CXX11_VARIADIC_MACROS) || \
+ defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || \
+ defined(BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES) || \
+ ! defined(__cpp_lib_integer_sequence) && __cpp_lib_integer_sequence < 201304
# define BOOST_CONTEXT_NO_EXECUTION_CONTEXT
#endif
+// workaroud: MSVC 14 does not provide macros to test for compile-time integer sequence
+#if _MSC_VER > 1800 // _MSC_VER == 1800 -> MS Visual Studio 2013
+# undef BOOST_CONTEXT_NO_EXECUTION_CONTEXT
+#endif
#endif // BOOST_CONTEXT_DETAIL_CONFIG_H