summaryrefslogtreecommitdiff
path: root/boost/fusion/container/deque/deque_fwd.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/fusion/container/deque/deque_fwd.hpp')
-rw-r--r--boost/fusion/container/deque/deque_fwd.hpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/boost/fusion/container/deque/deque_fwd.hpp b/boost/fusion/container/deque/deque_fwd.hpp
index 639c00e52d..ebbeb4c1d7 100644
--- a/boost/fusion/container/deque/deque_fwd.hpp
+++ b/boost/fusion/container/deque/deque_fwd.hpp
@@ -11,9 +11,8 @@
#include <boost/fusion/support/config.hpp>
#include <boost/config.hpp>
-#if (defined(BOOST_NO_CXX11_DECLTYPE) \
- || defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) \
- || defined(BOOST_NO_CXX11_RVALUE_REFERENCES)) \
+#if (defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) \
+ || defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS)) \
|| (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES))
# if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE)
# undef BOOST_FUSION_HAS_VARIADIC_DEQUE
@@ -24,8 +23,15 @@
# endif
#endif
+// MSVC variadics at this point in time is not ready yet (ICE!)
+#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1900))
+# if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE)
+# undef BOOST_FUSION_HAS_VARIADIC_DEQUE
+# endif
+#endif
+
///////////////////////////////////////////////////////////////////////////////
-// With no decltype and variadics, we will use the C++03 version
+// With no variadics, we will use the C++03 version
///////////////////////////////////////////////////////////////////////////////
#if !defined(BOOST_FUSION_HAS_VARIADIC_DEQUE)
# include <boost/fusion/container/deque/detail/cpp03/deque_fwd.hpp>