summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Markmann <tm@ayena.de>2014-10-19 20:22:58 (GMT)
committerTobias Markmann <tm@ayena.de>2014-10-20 13:49:33 (GMT)
commit6b22dfcf59474dd016a0355a3102a1dd3692d92c (patch)
tree2b1fd33be433a91e81fee84fdc2bf1b52575d934 /3rdParty/Boost/src/boost/proto/operators.hpp
parent38b0cb785fea8eae5e48fae56440695fdfd10ee1 (diff)
downloadswift-contrib-6b22dfcf59474dd016a0355a3102a1dd3692d92c.zip
swift-contrib-6b22dfcf59474dd016a0355a3102a1dd3692d92c.tar.bz2
Update Boost in 3rdParty to version 1.56.0.
This updates Boost in our 3rdParty directory to version 1.56.0. Updated our update.sh script to stop on error. Changed error reporting in SwiftTools/CrashReporter.cpp to SWIFT_LOG due to missing include of <iostream> with newer Boost. Change-Id: I4b35c77de951333979a524097f35f5f83d325edc
Diffstat (limited to '3rdParty/Boost/src/boost/proto/operators.hpp')
-rw-r--r--3rdParty/Boost/src/boost/proto/operators.hpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/3rdParty/Boost/src/boost/proto/operators.hpp b/3rdParty/Boost/src/boost/proto/operators.hpp
index 1f2bad8..7d4195c 100644
--- a/3rdParty/Boost/src/boost/proto/operators.hpp
+++ b/3rdParty/Boost/src/boost/proto/operators.hpp
@@ -1,59 +1,59 @@
///////////////////////////////////////////////////////////////////////////////
/// \file operators.hpp
/// Contains all the overloaded operators that make it possible to build
/// Proto expression trees.
//
// Copyright 2008 Eric Niebler. 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)
#ifndef BOOST_PROTO_OPERATORS_HPP_EAN_04_01_2005
#define BOOST_PROTO_OPERATORS_HPP_EAN_04_01_2005
#include <boost/config.hpp>
#include <boost/preprocessor/punctuation/comma.hpp>
#include <boost/mpl/logical.hpp>
#include <boost/utility/enable_if.hpp>
#include <boost/proto/proto_fwd.hpp>
#include <boost/proto/tags.hpp>
#include <boost/proto/domain.hpp>
#include <boost/proto/matches.hpp>
#include <boost/proto/generate.hpp>
#include <boost/proto/make_expr.hpp>
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+#if defined(_MSC_VER)
# pragma warning(push)
# pragma warning(disable : 4714) // function 'xxx' marked as __forceinline not inlined
#endif
namespace boost { namespace proto
{
namespace detail
{
template<typename MakeExpr, typename Grammar>
struct lazy_matches
: proto::matches<typename MakeExpr::type, Grammar>
{};
template<typename Domain, typename Grammar, typename Trait, typename Tag, typename Arg>
struct enable_unary
: boost::lazy_enable_if_c<
boost::mpl::and_<
Trait
, lazy_matches<result_of::make_expr<Tag, basic_default_domain, Arg>, Grammar>
>::value
, result_of::make_expr<Tag, Domain, Arg>
>
{};
template<typename Domain, typename Trait, typename Tag, typename Arg>
struct enable_unary<Domain, proto::_, Trait, Tag, Arg &>
: boost::lazy_enable_if_c<
Trait::value
, result_of::make_expr<Tag, Domain, Arg &>
>
{};
template<typename Trait, typename Tag, typename Arg>
struct enable_unary<deduce_domain, not_a_grammar, Trait, Tag, Arg &>
: enable_unary<
@@ -69,71 +69,71 @@ namespace boost { namespace proto
struct enable_binary
: boost::lazy_enable_if_c<
boost::mpl::and_<
Trait
, lazy_matches<result_of::make_expr<Tag, basic_default_domain, Left, Right>, Grammar>
>::value
, result_of::make_expr<Tag, Domain, Left, Right>
>
{};
template<typename Domain, typename Trait, typename Tag, typename Left, typename Right>
struct enable_binary<Domain, proto::_, Trait, Tag, Left &, Right &>
: boost::lazy_enable_if_c<
Trait::value
, result_of::make_expr<Tag, Domain, Left &, Right &>
>
{};
template<typename Trait, typename Tag, typename Left, typename Right>
struct enable_binary<deduce_domain, not_a_grammar, Trait, Tag, Left &, Right &>
: enable_binary<
typename deduce_domain2<Left, Right>::type
, typename deduce_domain2<Left, Right>::type::proto_grammar
, Trait
, Tag
, Left &
, Right &
>
{};
} // detail
#define BOOST_PROTO_UNARY_OP_IS_POSTFIX_0
#define BOOST_PROTO_UNARY_OP_IS_POSTFIX_1 , int
-#ifdef BOOST_NO_RVALUE_REFERENCES
+#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES
#define BOOST_PROTO_DEFINE_UNARY_OPERATOR(OP, TAG, TRAIT, DOMAIN, POST) \
template<typename Arg> \
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE \
typename boost::proto::detail::enable_unary< \
DOMAIN \
, DOMAIN::proto_grammar \
, BOOST_PROTO_APPLY_UNARY_(TRAIT, Arg) \
, TAG \
, Arg & \
>::type const \
operator OP(Arg &arg BOOST_PROTO_UNARY_OP_IS_POSTFIX_ ## POST) \
{ \
return boost::proto::detail::make_expr_<TAG, DOMAIN, Arg &>()(arg); \
} \
\
template<typename Arg> \
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE \
typename boost::proto::detail::enable_unary< \
DOMAIN \
, DOMAIN::proto_grammar \
, BOOST_PROTO_APPLY_UNARY_(TRAIT, Arg) \
, TAG \
, Arg const & \
>::type const \
operator OP(Arg const &arg BOOST_PROTO_UNARY_OP_IS_POSTFIX_ ## POST) \
{ \
return boost::proto::detail::make_expr_<TAG, DOMAIN, Arg const &>()(arg); \
} \
/**/
#define BOOST_PROTO_DEFINE_BINARY_OPERATOR(OP, TAG, TRAIT, DOMAIN) \
template<typename Left, typename Right> \
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE \
typename boost::proto::detail::enable_binary< \
@@ -293,86 +293,86 @@ namespace boost { namespace proto
{
// This defines all of Proto's built-in free operator overloads
BOOST_PROTO_DEFINE_OPERATORS(is_extension, deduce_domain)
// if_else, for the non-overloadable ternary conditional operator ?:
template<typename A0, typename A1, typename A2>
BOOST_FORCEINLINE
typename result_of::make_expr<
tag::if_else_
, deduce_domain
, A0 const &
, A1 const &
, A2 const &
>::type const
if_else(A0 const &a0, A1 const &a1, A2 const &a2)
{
return proto::detail::make_expr_<
tag::if_else_
, deduce_domain
, A0 const &
, A1 const &
, A2 const &
>()(a0, a1, a2);
}
}
using exprns_::if_else;
#undef BOOST_PROTO_APPLY_UNARY_
#undef BOOST_PROTO_APPLY_BINARY_
// Redefine BOOST_PROTO_APPLY_UNARY_ and BOOST_PROTO_APPLY_BINARY_ so that end users
// can use BOOST_PROTO_DEFINE_OPERATORS to define Proto operator overloads that work
// with their own terminal types.
-#ifdef BOOST_NO_RVALUE_REFERENCES
+#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES
#define BOOST_PROTO_APPLY_UNARY_(TRAIT, ARG) \
boost::mpl::and_< \
TRAIT<ARG> \
, boost::mpl::not_<boost::proto::is_extension<ARG> > \
> \
/**/
#define BOOST_PROTO_APPLY_BINARY_(TRAIT, LEFT, RIGHT) \
boost::mpl::and_< \
boost::mpl::or_<TRAIT<LEFT>, TRAIT<RIGHT> > \
, boost::mpl::not_< \
boost::mpl::or_< \
boost::proto::is_extension<LEFT> \
, boost::proto::is_extension<RIGHT> \
> \
> \
> \
/**/
#else
#define BOOST_PROTO_APPLY_UNARY_(TRAIT, ARG) \
boost::mpl::and_< \
TRAIT<BOOST_PROTO_UNCVREF(ARG) > \
, boost::mpl::not_<boost::proto::is_extension<ARG> > \
> \
/**/
#define BOOST_PROTO_APPLY_BINARY_(TRAIT, LEFT, RIGHT) \
boost::mpl::and_< \
boost::mpl::or_<TRAIT<BOOST_PROTO_UNCVREF(LEFT) >, TRAIT<BOOST_PROTO_UNCVREF(RIGHT) > > \
, boost::mpl::not_< \
boost::mpl::or_< \
boost::proto::is_extension<LEFT> \
, boost::proto::is_extension<RIGHT> \
> \
> \
> \
/**/
#endif
}}
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+#if defined(_MSC_VER)
# pragma warning(pop)
#endif
#endif