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/spirit/home/lex
parent38b0cb785fea8eae5e48fae56440695fdfd10ee1 (diff)
downloadswift-6b22dfcf59474dd016a0355a3102a1dd3692d92c.zip
swift-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/spirit/home/lex')
-rw-r--r--3rdParty/Boost/src/boost/spirit/home/lex/argument.hpp87
-rw-r--r--3rdParty/Boost/src/boost/spirit/home/lex/argument_phoenix.hpp3
-rw-r--r--3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexer.hpp2
-rw-r--r--3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexertl/functor_data.hpp2
-rw-r--r--3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexertl/iterator.hpp30
-rw-r--r--3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexertl/token.hpp6
-rw-r--r--3rdParty/Boost/src/boost/spirit/home/lex/lexer/support_functions.hpp6
-rw-r--r--3rdParty/Boost/src/boost/spirit/home/lex/lexer/support_functions_expression.hpp33
8 files changed, 35 insertions, 134 deletions
diff --git a/3rdParty/Boost/src/boost/spirit/home/lex/argument.hpp b/3rdParty/Boost/src/boost/spirit/home/lex/argument.hpp
index edfee0b..fbac3c1 100644
--- a/3rdParty/Boost/src/boost/spirit/home/lex/argument.hpp
+++ b/3rdParty/Boost/src/boost/spirit/home/lex/argument.hpp
@@ -110,12 +110,6 @@ namespace boost { namespace spirit { namespace lex
state_setter(Actor const& actor)
: actor_(actor) {}
- // see explanation for this constructor at the end of this file
-#ifndef BOOST_SPIRIT_USE_PHOENIX_V3
- state_setter(phoenix::actor<state_getter>, Actor const& actor)
- : actor_(actor) {}
-#endif
-
Actor actor_;
};
@@ -190,12 +184,6 @@ namespace boost { namespace spirit { namespace lex
value_setter(Actor const& actor)
: actor_(actor) {}
-#ifndef BOOST_SPIRIT_USE_PHOENIX_V3
- // see explanation for this constructor at the end of this file
- value_setter(phoenix::actor<value_getter>, Actor const& actor)
- : actor_(actor) {}
-#endif
-
Actor actor_;
};
@@ -281,81 +269,6 @@ namespace boost { namespace spirit { namespace lex
#endif
}}}
-///////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_SPIRIT_USE_PHOENIX_V3
-namespace boost { namespace phoenix
-{
- ///////////////////////////////////////////////////////////////////////////
- // The specialization of as_actor_base<> below is needed to convert all
- // occurrences of _state in places where it's used as a rvalue into the
- // proper Phoenix actor (spirit::state_getter) accessing the lexer state.
- template<>
- struct as_actor_base<actor<spirit::lex::state_context> >
- {
- typedef spirit::lex::state_getter type;
-
- static spirit::lex::state_getter
- convert(actor<spirit::lex::state_context>)
- {
- return spirit::lex::state_getter();
- }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // The specialization of as_composite<> below is needed to convert all
- // assignments to _state (places where it's used as a lvalue) into the
- // proper Phoenix actor (spirit::state_setter) allowing to change the
- // lexer state.
- template <typename RHS>
- struct as_composite<assign_eval, actor<spirit::lex::state_context>, RHS>
- {
- // For an assignment to _state (a spirit::state_context actor), this
- // specialization makes Phoenix's compose() function construct a
- // spirit::state_setter actor from 1. the LHS, a spirit::state_getter
- // actor (due to the specialization of as_actor_base<> above),
- // and 2. the RHS actor.
- // This is why spirit::state_setter needs a constructor which takes
- // a dummy spirit::state_getter as its first argument in addition
- // to its real, second argument (the RHS actor).
- typedef spirit::lex::state_setter<typename as_actor<RHS>::type> type;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // The specialization of as_actor_base<> below is needed to convert all
- // occurrences of _val in places where it's used as a rvalue into the
- // proper Phoenix actor (spirit::value_getter) accessing the token value.
- template<>
- struct as_actor_base<actor<spirit::lex::value_context> >
- {
- typedef spirit::lex::value_getter type;
-
- static spirit::lex::value_getter
- convert(actor<spirit::lex::value_context>)
- {
- return spirit::lex::value_getter();
- }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // The specialization of as_composite<> below is needed to convert all
- // assignments to _val (places where it's used as a lvalue) into the
- // proper Phoenix actor (spirit::value_setter) allowing to change the
- // token value.
- template <typename RHS>
- struct as_composite<assign_eval, actor<spirit::lex::value_context>, RHS>
- {
- // For an assignment to _val (a spirit::value_context actor), this
- // specialization makes Phoenix's compose() function construct a
- // spirit::value_setter actor from 1. the LHS, a spirit::value_getter
- // actor (due to the specialization of as_actor_base<> above),
- // and 2. the RHS actor.
- // This is why spirit::value_setter needs a constructor which takes
- // a dummy spirit::value_getter as its first argument in addition
- // to its real, second argument (the RHS actor).
- typedef spirit::lex::value_setter<typename as_actor<RHS>::type> type;
- };
-}}
-#endif
#undef SPIRIT_DECLARE_ARG
#endif
diff --git a/3rdParty/Boost/src/boost/spirit/home/lex/argument_phoenix.hpp b/3rdParty/Boost/src/boost/spirit/home/lex/argument_phoenix.hpp
index da24503..7989b01 100644
--- a/3rdParty/Boost/src/boost/spirit/home/lex/argument_phoenix.hpp
+++ b/3rdParty/Boost/src/boost/spirit/home/lex/argument_phoenix.hpp
@@ -82,7 +82,6 @@ namespace boost { namespace spirit { namespace lex
}}}
///////////////////////////////////////////////////////////////////////////////
-#ifdef BOOST_SPIRIT_USE_PHOENIX_V3
BOOST_PHOENIX_DEFINE_EXPRESSION(
(boost)(spirit)(lex)(value_setter)
@@ -246,6 +245,4 @@ namespace boost { namespace phoenix
{};
}}
-#endif // BOOST_SPIRIT_USE_PHOENIX_V3
-
#endif
diff --git a/3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexer.hpp b/3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexer.hpp
index 93412ce..e733533 100644
--- a/3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexer.hpp
+++ b/3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexer.hpp
@@ -285,7 +285,7 @@ namespace boost { namespace spirit { namespace lex
lexer_def_& operator= (lexer_def_ const&);
};
-#if defined(BOOST_NO_RVALUE_REFERENCES)
+#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
// allow to assign a token definition expression
template <typename LexerDef, typename Expr>
inline lexer_def_<LexerDef>&
diff --git a/3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexertl/functor_data.hpp b/3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexertl/functor_data.hpp
index 207b374..dfad49b 100644
--- a/3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexertl/functor_data.hpp
+++ b/3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexertl/functor_data.hpp
@@ -300,7 +300,7 @@ namespace boost { namespace spirit { namespace lex { namespace lexertl
data (IterData const& data_, Iterator& first, Iterator const& last)
: base_type(data_, first, last)
, actions_(data_.actions_), hold_()
- , value_(iterator_range<Iterator>(first, last))
+ , value_(iterator_range<Iterator>(last, last))
, has_value_(false), has_hold_(false) {}
// invoke attached semantic actions, if defined
diff --git a/3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexertl/iterator.hpp b/3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexertl/iterator.hpp
index f2793ba..1b05720 100644
--- a/3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexertl/iterator.hpp
+++ b/3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexertl/iterator.hpp
@@ -10,6 +10,7 @@
#pragma once
#endif
+#include <boost/spirit/home/support/multi_pass_wrapper.hpp>
#if defined(BOOST_SPIRIT_DEBUG)
#include <boost/spirit/home/support/iterators/detail/buf_id_check_policy.hpp>
#else
@@ -115,7 +116,34 @@ namespace boost { namespace spirit { namespace lex { namespace lexertl
: 0;
}
};
+}}
-}}}}
+namespace traits
+{
+ template <typename Functor>
+ struct is_multi_pass<spirit::lex::lexertl::iterator<Functor> >
+ : mpl::true_ {};
+
+ template <typename Functor>
+ void clear_queue(spirit::lex::lexertl::iterator<Functor> & mp
+ , BOOST_SCOPED_ENUM(traits::clear_mode) mode)
+ {
+ mp.clear_queue(mode);
+ }
+
+ template <typename Functor>
+ void inhibit_clear_queue(spirit::lex::lexertl::iterator<Functor>& mp, bool flag)
+ {
+ mp.inhibit_clear_queue(flag);
+ }
+
+ template <typename Functor>
+ bool inhibit_clear_queue(spirit::lex::lexertl::iterator<Functor>& mp)
+ {
+ return mp.inhibit_clear_queue();
+ }
+}
+
+}}
#endif
diff --git a/3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexertl/token.hpp b/3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexertl/token.hpp
index 90961af..9f4bdb3 100644
--- a/3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexertl/token.hpp
+++ b/3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexertl/token.hpp
@@ -35,9 +35,7 @@
#include <boost/mpl/or.hpp>
#include <boost/type_traits/is_same.hpp>
#include <boost/range/iterator_range.hpp>
-#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
#include <boost/static_assert.hpp>
-#endif
#if defined(BOOST_SPIRIT_DEBUG)
#include <iosfwd>
@@ -330,14 +328,12 @@ namespace boost { namespace spirit { namespace lex { namespace lexertl
struct token : token<Iterator, lex::omit, HasState, Idtype>
{
private: // precondition assertions
-#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
BOOST_STATIC_ASSERT((mpl::is_sequence<AttributeTypes>::value ||
is_same<AttributeTypes, lex::omit>::value));
-#endif
typedef token<Iterator, lex::omit, HasState, Idtype> base_type;
protected:
- // If no additional token value types are given, the the token will
+ // If no additional token value types are given, the token will
// hold the plain pair of iterators pointing to the matched range
// in the underlying input sequence. Otherwise the token value is
// stored as a variant and will again hold the pair of iterators but
diff --git a/3rdParty/Boost/src/boost/spirit/home/lex/lexer/support_functions.hpp b/3rdParty/Boost/src/boost/spirit/home/lex/lexer/support_functions.hpp
index f3987c6..8467560 100644
--- a/3rdParty/Boost/src/boost/spirit/home/lex/lexer/support_functions.hpp
+++ b/3rdParty/Boost/src/boost/spirit/home/lex/lexer/support_functions.hpp
@@ -47,11 +47,11 @@ namespace boost { namespace spirit { namespace lex
template <typename Env>
struct result
{
- typedef typename
- remove_const<
+ typedef typename remove_reference<
+ typename remove_const<
typename mpl::at_c<typename Env::args_type, 4>::type
>::type
- context_type;
+ >::type context_type;
typedef typename context_type::base_iterator_type type;
};
diff --git a/3rdParty/Boost/src/boost/spirit/home/lex/lexer/support_functions_expression.hpp b/3rdParty/Boost/src/boost/spirit/home/lex/lexer/support_functions_expression.hpp
index 613a4a4..3c7572d 100644
--- a/3rdParty/Boost/src/boost/spirit/home/lex/lexer/support_functions_expression.hpp
+++ b/3rdParty/Boost/src/boost/spirit/home/lex/lexer/support_functions_expression.hpp
@@ -21,37 +21,6 @@ namespace boost { namespace spirit { namespace lex
}}}
///////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_SPIRIT_USE_PHOENIX_V3
-
-namespace boost { namespace spirit { namespace lex
-{
- namespace expression
- {
- template <typename Eval>
- struct less
- {
- typedef phoenix::actor<lex::less_type<Eval> > type;
-
- static type make(Eval const & eval)
- {
- return lex::less_type<Eval>(eval);
- }
- };
-
- template <typename IdType, typename State>
- struct lookahead
- {
- typedef phoenix::actor<lex::lookahead_type<IdType, State> > type;
-
- static type make(IdType const & id_type, State const & state)
- {
- return lex::lookahead_type<IdType, State>(id_type, state);
- }
- };
- }
-}}}
-
-#else // BOOST_SPIRIT_USE_PHOENIX_V3
BOOST_PHOENIX_DEFINE_EXPRESSION(
(boost)(spirit)(lex)(less)
@@ -130,6 +99,4 @@ namespace boost { namespace phoenix
{};
}}
-#endif // BOOST_SPIRIT_USE_PHOENIX_V3
-
#endif