summaryrefslogtreecommitdiff
path: root/boost/fusion/support/config.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/fusion/support/config.hpp')
-rw-r--r--boost/fusion/support/config.hpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/boost/fusion/support/config.hpp b/boost/fusion/support/config.hpp
index 10dc29df54..23554531b5 100644
--- a/boost/fusion/support/config.hpp
+++ b/boost/fusion/support/config.hpp
@@ -2,7 +2,7 @@
Copyright (c) 2014 Eric Niebler
Copyright (c) 2014 Kohei Takahashi
- Distributed under the Boost Software License, Version 1.0. (See accompanying
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/
#if !defined(FUSION_SUPPORT_CONFIG_01092014_1718)
@@ -10,6 +10,7 @@
#include <boost/config.hpp>
#include <boost/detail/workaround.hpp>
+#include <utility>
#ifndef BOOST_FUSION_GPU_ENABLED
#define BOOST_FUSION_GPU_ENABLED BOOST_GPU_ENABLED
@@ -78,7 +79,7 @@ namespace boost { namespace fusion { namespace detail
// - MSVC 10.0 implements iterator intrinsics; MSVC 13.0 implements LWG2408.
#if (defined(BOOST_LIBSTDCXX_VERSION) && (BOOST_LIBSTDCXX_VERSION < 40500) && \
defined(BOOST_LIBSTDCXX11)) || \
- (defined(BOOST_MSVC) && (1600 <= BOOST_MSVC || BOOST_MSVC < 1900))
+ (defined(BOOST_MSVC) && (1600 <= BOOST_MSVC && BOOST_MSVC < 1900))
# define BOOST_FUSION_WORKAROUND_FOR_LWG_2408
namespace std
{
@@ -87,4 +88,12 @@ namespace std
}
#endif
+
+// Workaround for older GCC that doesn't accept `this` in constexpr.
+#if BOOST_WORKAROUND(BOOST_GCC, < 40700)
+#define BOOST_FUSION_CONSTEXPR_THIS
+#else
+#define BOOST_FUSION_CONSTEXPR_THIS BOOST_CONSTEXPR
+#endif
+
#endif