summaryrefslogtreecommitdiff
path: root/boost/proto/transform/make.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/proto/transform/make.hpp')
-rw-r--r--boost/proto/transform/make.hpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/boost/proto/transform/make.hpp b/boost/proto/transform/make.hpp
index eec3292509..1f183d9343 100644
--- a/boost/proto/transform/make.hpp
+++ b/boost/proto/transform/make.hpp
@@ -29,9 +29,15 @@
#include <boost/proto/traits.hpp>
#include <boost/proto/args.hpp>
#include <boost/proto/transform/impl.hpp>
+#include <boost/proto/transform/detail/pack.hpp>
#include <boost/proto/detail/as_lvalue.hpp>
#include <boost/proto/detail/ignore_unused.hpp>
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma warning(push)
+# pragma warning(disable : 4714) // function 'xxx' marked as __forceinline not inlined
+#endif
+
namespace boost { namespace proto
{
namespace detail
@@ -245,6 +251,12 @@ namespace boost { namespace proto
};
};
+ /// INTERNAL ONLY
+ template<typename Fun>
+ struct make<detail::msvc_fun_workaround<Fun> >
+ : make<Fun>
+ {};
+
// Other specializations generated by the preprocessor.
#include <boost/proto/transform/detail/make.hpp>
#include <boost/proto/transform/detail/make_gcc_workaround.hpp>
@@ -265,4 +277,8 @@ namespace boost { namespace proto
}}
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma warning(pop)
+#endif
+
#endif