Ticket #7431: spirit-warnings.diff

File spirit-warnings.diff, 97.6 KB (added by Franz Detro <franz.detro@…>, 10 years ago)
  • boost/spirit/home/phoenix/core/value.hpp

    From fa666b5328704f147dcc60be45f1bcdf3826bfcb Mon Sep 17 00:00:00 2001
    From: Franz Detro <franz.detro@native-instruments.de>
    Date: Tue, 4 Sep 2012 15:16:56 +0200
    Subject: [PATCH] fix warnings in boost spirit
    
    ---
     boost/spirit/home/phoenix/core/value.hpp           |  4 +-
     boost/spirit/home/phoenix/function/function.hpp    |  2 +-
     boost/spirit/home/phoenix/object/construct.hpp     |  2 +-
     boost/spirit/home/qi/action/action.hpp             |  4 +-
     boost/spirit/home/qi/auxiliary/attr.hpp            |  4 +-
     boost/spirit/home/qi/auxiliary/attr_cast.hpp       | 12 ++---
     boost/spirit/home/qi/auxiliary/eps.hpp             |  4 +-
     boost/spirit/home/qi/auxiliary/lazy.hpp            | 14 +++---
     boost/spirit/home/qi/binary/binary.hpp             | 12 ++---
     boost/spirit/home/qi/char/char.hpp                 |  8 +--
     boost/spirit/home/qi/char/char_parser.hpp          |  8 +--
     .../spirit/home/qi/detail/alternative_function.hpp | 14 +++---
     boost/spirit/home/qi/detail/expect_function.hpp    | 12 ++---
     boost/spirit/home/qi/detail/fail_function.hpp      | 12 ++---
     boost/spirit/home/qi/detail/pass_container.hpp     |  4 +-
     boost/spirit/home/qi/detail/pass_function.hpp      | 12 ++---
     boost/spirit/home/qi/detail/permute_function.hpp   | 12 ++---
     boost/spirit/home/qi/detail/unused_skipper.hpp     |  4 +-
     boost/spirit/home/qi/directive/as.hpp              | 12 ++---
     boost/spirit/home/qi/directive/hold.hpp            | 10 ++--
     boost/spirit/home/qi/directive/lexeme.hpp          |  8 +--
     boost/spirit/home/qi/directive/matches.hpp         |  8 +--
     boost/spirit/home/qi/directive/no_skip.hpp         |  8 +--
     boost/spirit/home/qi/directive/omit.hpp            |  8 +--
     boost/spirit/home/qi/directive/raw.hpp             |  8 +--
     boost/spirit/home/qi/directive/repeat.hpp          | 28 +++++------
     boost/spirit/home/qi/directive/skip.hpp            | 16 +++---
     boost/spirit/home/qi/nonterminal/debug_handler.hpp | 12 ++---
     .../home/qi/nonterminal/detail/parameterized.hpp   |  8 +--
     .../home/qi/nonterminal/detail/parser_binder.hpp   |  8 +--
     boost/spirit/home/qi/nonterminal/error_handler.hpp |  6 +--
     boost/spirit/home/qi/nonterminal/grammar.hpp       |  8 +--
     boost/spirit/home/qi/nonterminal/rule.hpp          | 26 +++++-----
     .../spirit/home/qi/nonterminal/success_handler.hpp |  6 +--
     boost/spirit/home/qi/numeric/bool.hpp              |  8 +--
     boost/spirit/home/qi/numeric/bool_policies.hpp     | 16 +++---
     boost/spirit/home/qi/numeric/int.hpp               |  8 +--
     boost/spirit/home/qi/numeric/numeric_utils.hpp     | 22 ++++----
     boost/spirit/home/qi/numeric/real.hpp              | 14 +++---
     boost/spirit/home/qi/numeric/real_policies.hpp     | 20 ++++----
     boost/spirit/home/qi/numeric/uint.hpp              |  8 +--
     boost/spirit/home/qi/operator/alternative.hpp      |  8 +--
     boost/spirit/home/qi/operator/and_predicate.hpp    |  4 +-
     boost/spirit/home/qi/operator/difference.hpp       |  8 +--
     boost/spirit/home/qi/operator/expect.hpp           |  4 +-
     boost/spirit/home/qi/operator/kleene.hpp           | 10 ++--
     boost/spirit/home/qi/operator/list.hpp             | 10 ++--
     boost/spirit/home/qi/operator/not_predicate.hpp    |  4 +-
     boost/spirit/home/qi/operator/optional.hpp         | 16 +++---
     boost/spirit/home/qi/operator/permutation.hpp      |  8 +--
     boost/spirit/home/qi/operator/plus.hpp             | 10 ++--
     boost/spirit/home/qi/operator/sequence_base.hpp    | 12 ++---
     boost/spirit/home/qi/operator/sequential_or.hpp    |  8 +--
     boost/spirit/home/qi/parse_attr.hpp                |  8 +--
     boost/spirit/home/qi/reference.hpp                 |  4 +-
     boost/spirit/home/qi/stream/stream.hpp             |  4 +-
     boost/spirit/home/qi/string/detail/tst.hpp         |  4 +-
     boost/spirit/home/qi/string/lit.hpp                | 12 ++---
     boost/spirit/home/qi/string/symbols.hpp            | 12 ++---
     boost/spirit/home/support/attributes.hpp           |  6 +--
     boost/spirit/home/support/char_set/range.hpp       |  2 +-
     boost/spirit/home/support/context.hpp              |  4 +-
     boost/spirit/home/support/detail/what_function.hpp |  4 +-
     boost/spirit/home/support/info.hpp                 | 36 +++++++-------
     .../spirit/home/support/nonterminal/expand_arg.hpp |  4 +-
     boost/spirit/home/support/terminal.hpp             | 58 +++++++++++-----------
     66 files changed, 340 insertions(+), 340 deletions(-)
    
    diff --git a/boost/spirit/home/phoenix/core/value.hpp b/boost/spirit/home/phoenix/core/value.hpp
    index a275a7d..5cfd94a 100644
    a b namespace boost { namespace phoenix  
    8888            type;
    8989        };
    9090
    91         actor_value(Actor const& actor)
    92             : actor(actor) {}
     91        actor_value(Actor const& actor_)
     92            : actor(actor_) {}
    9393
    9494        template <typename Env>
    9595        typename result<Env>::type
  • boost/spirit/home/phoenix/function/function.hpp

    diff --git a/boost/spirit/home/phoenix/function/function.hpp b/boost/spirit/home/phoenix/function/function.hpp
    index 1cf4701..e33d02d 100644
    a b namespace boost { namespace phoenix  
    1616    struct function
    1717    {
    1818        function() : f() {}
    19         function(F const& f) : f(f) {}
     19        function(F const& f_) : f(f_) {}
    2020
    2121        actor<typename as_composite<detail::function_eval<0>, F>::type>
    2222        operator()() const
  • boost/spirit/home/phoenix/object/construct.hpp

    diff --git a/boost/spirit/home/phoenix/object/construct.hpp b/boost/spirit/home/phoenix/object/construct.hpp
    index d26d6a4..ec743b5 100644
    a b namespace boost { namespace phoenix  
    2727
    2828            template <typename RT, typename Env>
    2929            static RT
    30             eval(Env const& env)
     30            eval(Env const& /*env*/)
    3131            {
    3232                return RT();
    3333            }
  • boost/spirit/home/qi/action/action.hpp

    diff --git a/boost/spirit/home/qi/action/action.hpp b/boost/spirit/home/qi/action/action.hpp
    index 746dd84..2bdf7d8 100644
    a b namespace boost { namespace spirit { namespace qi  
    4141          : traits::attribute_of<Subject, Context, Iterator>
    4242        {};
    4343
    44         action(Subject const& subject, Action f)
    45           : subject(subject), f(f) {}
     44        action(Subject const& subject_, Action f_)
     45          : subject(subject_), f(f_) {}
    4646
    4747#ifndef BOOST_SPIRIT_ACTIONS_ALLOW_ATTR_COMPAT
    4848        template <typename Iterator, typename Context
  • boost/spirit/home/qi/auxiliary/attr.hpp

    diff --git a/boost/spirit/home/qi/auxiliary/attr.hpp b/boost/spirit/home/qi/auxiliary/attr.hpp
    index 2778a68..fb018e7 100644
    a b namespace boost { namespace spirit { namespace qi  
    5959          , typename Skipper, typename Attribute>
    6060        bool parse(Iterator& /*first*/, Iterator const& /*last*/
    6161          , Context& /*context*/, Skipper const& /*skipper*/
    62           , Attribute& attr) const
     62          , Attribute& attr_) const
    6363        {
    64             spirit::traits::assign_to(value_, attr);
     64            spirit::traits::assign_to(value_, attr_);
    6565            return true;        // never consume any input, succeed always
    6666        }
    6767
  • boost/spirit/home/qi/auxiliary/attr_cast.hpp

    diff --git a/boost/spirit/home/qi/auxiliary/attr_cast.hpp b/boost/spirit/home/qi/auxiliary/attr_cast.hpp
    index a8fc688..b53c64f 100644
    a b namespace boost { namespace spirit { namespace qi  
    5353          , traits::attribute_of<subject_type> >::type
    5454        transformed_attribute_type;
    5555
    56         attr_cast_parser(Subject const& subject)
    57           : subject(subject)
     56        attr_cast_parser(Subject const& subject_)
     57          : subject(subject_)
    5858        {
    5959            // If you got an error_invalid_expression error message here,
    6060            // then the expression (Subject) is not a valid spirit qi
    namespace boost { namespace spirit { namespace qi  
    7575          , typename Attribute>
    7676        bool parse(Iterator& first, Iterator const& last
    7777          , Context& context, Skipper const& skipper
    78           , Attribute& attr) const
     78          , Attribute& attr_param) const
    7979        {
    8080            // Find the real exposed attribute. If exposed is given, we use it
    8181            // otherwise we assume the exposed attribute type to be the actual
    namespace boost { namespace spirit { namespace qi  
    9090                exposed_attribute_type, transformed_attribute_type, domain>
    9191            transform;
    9292
    93             typename transform::type attr_ = transform::pre(attr);
     93            typename transform::type attr_ = transform::pre(attr_param);
    9494
    9595            if (!compile<qi::domain>(subject).
    9696                    parse(first, last, context, skipper, attr_))
    9797            {
    98                 transform::fail(attr);
     98                transform::fail(attr_param);
    9999                return false;
    100100            }
    101101
    102102            // do up-stream transformation, this mainly integrates the results
    103103            // back into the original attribute value, if appropriate
    104             traits::post_transform(attr, attr_);
     104            traits::post_transform(attr_param, attr_);
    105105            return true;
    106106        }
    107107
  • boost/spirit/home/qi/auxiliary/eps.hpp

    diff --git a/boost/spirit/home/qi/auxiliary/eps.hpp b/boost/spirit/home/qi/auxiliary/eps.hpp
    index fe23935..4ba6aa4 100644
    a b namespace boost { namespace spirit { namespace qi  
    8080            typedef unused_type type;
    8181        };
    8282
    83         semantic_predicate(bool predicate)
    84           : predicate(predicate) {}
     83        semantic_predicate(bool predicate_)
     84          : predicate(predicate_) {}
    8585
    8686        template <typename Iterator, typename Context
    8787          , typename Skipper, typename Attribute>
  • boost/spirit/home/qi/auxiliary/lazy.hpp

    diff --git a/boost/spirit/home/qi/auxiliary/lazy.hpp b/boost/spirit/home/qi/auxiliary/lazy.hpp
    index b935261..60b61d4 100644
    a b namespace boost { namespace spirit { namespace qi  
    6060        bool lazy_parse_impl(Parser const& p
    6161          , Iterator& first, Iterator const& last
    6262          , Context& context, Skipper const& skipper
    63           , Attribute& attr, mpl::true_)
     63          , Attribute& /*attr*/, mpl::true_)
    6464        {
    6565            // If DeducedAuto is false (semantic actions is present), the
    6666            // component's attribute is unused.
    namespace boost { namespace spirit { namespace qi  
    111111            type;
    112112        };
    113113
    114         lazy_parser(Function const& function, Modifiers const& modifiers)
    115           : function(function), modifiers(modifiers) {}
     114        lazy_parser(Function const& function_, Modifiers const& modifiers_)
     115          : function(function_), modifiers(modifiers_) {}
    116116
    117117        template <typename Iterator, typename Context
    118118          , typename Skipper, typename Attribute>
    namespace boost { namespace spirit { namespace qi  
    183183        };
    184184
    185185        lazy_directive(
    186             Function const& function
    187           , Subject const& subject
    188           , Modifiers const& modifiers)
    189           : function(function), subject(subject), modifiers(modifiers) {}
     186            Function const& function_
     187          , Subject const& subject_
     188          , Modifiers const& modifiers_)
     189          : function(function_), subject(subject_), modifiers(modifiers_) {}
    190190
    191191        template <typename Iterator, typename Context
    192192          , typename Skipper, typename Attribute>
  • boost/spirit/home/qi/binary/binary.hpp

    diff --git a/boost/spirit/home/qi/binary/binary.hpp b/boost/spirit/home/qi/binary/binary.hpp
    index 7d47a6e..a4e83f0 100644
    a b namespace boost { namespace spirit { namespace qi  
    241241          , typename Skipper, typename Attribute>
    242242        bool parse(Iterator& first, Iterator const& last
    243243          , Context& /*context*/, Skipper const& skipper
    244           , Attribute& attr) const
     244          , Attribute& attr_param) const
    245245        {
    246246            qi::skip_over(first, last, skipper);
    247247
    namespace boost { namespace spirit { namespace qi  
    257257            }
    258258
    259259            first = it;
    260             spirit::traits::assign_to(attr_, attr);
     260            spirit::traits::assign_to(attr_, attr_param);
    261261            return true;
    262262        }
    263263
    namespace boost { namespace spirit { namespace qi  
    280280            typedef unused_type type;
    281281        };
    282282
    283         binary_lit_parser(V n)
    284           : n(n) {}
     283        binary_lit_parser(V n_)
     284          : n(n_) {}
    285285
    286286        template <typename Iterator, typename Context
    287287          , typename Skipper, typename Attribute>
    288288        bool parse(Iterator& first, Iterator const& last
    289289          , Context& /*context*/, Skipper const& skipper
    290           , Attribute& attr) const
     290          , Attribute& attr_param) const
    291291        {
    292292            qi::skip_over(first, last, skipper);
    293293
    namespace boost { namespace spirit { namespace qi  
    317317            }
    318318
    319319            first = it;
    320             spirit::traits::assign_to(attr_, attr);
     320            spirit::traits::assign_to(attr_, attr_param);
    321321            return true;
    322322        }
    323323
  • boost/spirit/home/qi/char/char.hpp

    diff --git a/boost/spirit/home/qi/char/char.hpp b/boost/spirit/home/qi/char/char.hpp
    index 7269da4..8c22aaa 100644
    a b namespace boost { namespace spirit { namespace qi  
    123123        typedef CharEncoding char_encoding;
    124124
    125125        template <typename Char>
    126         literal_char(Char ch)
    127           : ch(static_cast<char_type>(ch)) {}
     126        literal_char(Char ch_)
     127          : ch(static_cast<char_type>(ch_)) {}
    128128
    129129        template <typename Context, typename Iterator>
    130130        struct attribute
    namespace boost { namespace spirit { namespace qi  
    201201        typedef typename CharEncoding::char_type char_type;
    202202        typedef CharEncoding char_encoding;
    203203
    204         char_range(char_type from, char_type to)
    205           : from(from), to(to) {}
     204        char_range(char_type from_, char_type to_)
     205          : from(from_), to(to_) {}
    206206
    207207        template <typename CharParam, typename Context>
    208208        bool test(CharParam ch_, Context&) const
  • boost/spirit/home/qi/char/char_parser.hpp

    diff --git a/boost/spirit/home/qi/char/char_parser.hpp b/boost/spirit/home/qi/char/char_parser.hpp
    index b896f73..1d06d7c 100644
    a b namespace boost { namespace spirit { namespace qi  
    6161
    6262        template <typename Iterator, typename Context, typename Skipper, typename Attribute>
    6363        bool parse(Iterator& first, Iterator const& last
    64           , Context& context, Skipper const& skipper, Attribute& attr) const
     64          , Context& context, Skipper const& skipper, Attribute& attr_) const
    6565        {
    6666            qi::skip_over(first, last, skipper);
    6767
    6868            if (first != last && this->derived().test(*first, context))
    6969            {
    70                 spirit::traits::assign_to(*first, attr);
     70                spirit::traits::assign_to(*first, attr_);
    7171                ++first;
    7272                return true;
    7373            }
    namespace boost { namespace spirit { namespace qi  
    8787    struct negated_char_parser :
    8888        char_parser<negated_char_parser<Positive>, typename Positive::char_type>
    8989    {
    90         negated_char_parser(Positive const& positive)
    91           : positive(positive) {}
     90        negated_char_parser(Positive const& positive_)
     91          : positive(positive_) {}
    9292
    9393        template <typename CharParam, typename Context>
    9494        bool test(CharParam ch, Context& context) const
  • boost/spirit/home/qi/detail/alternative_function.hpp

    diff --git a/boost/spirit/home/qi/detail/alternative_function.hpp b/boost/spirit/home/qi/detail/alternative_function.hpp
    index aad0c54..e2223b8 100644
    a b namespace boost { namespace spirit { namespace qi { namespace detail  
    5656    struct alternative_function
    5757    {
    5858        alternative_function(
    59             Iterator& first, Iterator const& last, Context& context,
    60             Skipper const& skipper, Attribute& attr)
    61           : first(first), last(last), context(context), skipper(skipper),
    62             attr(attr)
     59            Iterator& first_, Iterator const& last_, Context& context_,
     60            Skipper const& skipper_, Attribute& attr_)
     61          : first(first_), last(last_), context(context_), skipper(skipper_),
     62            attr(attr_)
    6363        {
    6464        }
    6565
    namespace boost { namespace spirit { namespace qi { namespace detail  
    185185    struct alternative_function<Iterator, Context, Skipper, unused_type const>
    186186    {
    187187        alternative_function(
    188             Iterator& first, Iterator const& last, Context& context,
    189             Skipper const& skipper, unused_type)
    190           : first(first), last(last), context(context), skipper(skipper)
     188            Iterator& first_, Iterator const& last_, Context& context_,
     189            Skipper const& skipper_, unused_type)
     190          : first(first_), last(last_), context(context_), skipper(skipper_)
    191191        {
    192192        }
    193193
  • boost/spirit/home/qi/detail/expect_function.hpp

    diff --git a/boost/spirit/home/qi/detail/expect_function.hpp b/boost/spirit/home/qi/detail/expect_function.hpp
    index 34dd910..920e309 100644
    a b namespace boost { namespace spirit { namespace qi { namespace detail  
    2626        typedef Context context_type;
    2727
    2828        expect_function(
    29             Iterator& first, Iterator const& last
    30           , Context& context, Skipper const& skipper)
    31           : first(first)
    32           , last(last)
    33           , context(context)
    34           , skipper(skipper)
     29            Iterator& first_, Iterator const& last_
     30          , Context& context_, Skipper const& skipper_)
     31          : first(first_)
     32          , last(last_)
     33          , context(context_)
     34          , skipper(skipper_)
    3535          , is_first(true)
    3636        {
    3737        }
  • boost/spirit/home/qi/detail/fail_function.hpp

    diff --git a/boost/spirit/home/qi/detail/fail_function.hpp b/boost/spirit/home/qi/detail/fail_function.hpp
    index fca03b3..7ab8d82 100644
    a b namespace boost { namespace spirit { namespace qi { namespace detail  
    2222        typedef Context context_type;
    2323
    2424        fail_function(
    25             Iterator& first, Iterator const& last
    26           , Context& context, Skipper const& skipper)
    27           : first(first)
    28           , last(last)
    29           , context(context)
    30           , skipper(skipper)
     25            Iterator& first_, Iterator const& last_
     26          , Context& context_, Skipper const& skipper_)
     27          : first(first_)
     28          , last(last_)
     29          , context(context_)
     30          , skipper(skipper_)
    3131        {
    3232        }
    3333
  • boost/spirit/home/qi/detail/pass_container.hpp

    diff --git a/boost/spirit/home/qi/detail/pass_container.hpp b/boost/spirit/home/qi/detail/pass_container.hpp
    index 82e153a..93dcde2 100644
    a b namespace boost { namespace spirit { namespace qi { namespace detail  
    247247        typedef typename F::context_type context_type;
    248248        typedef typename F::iterator_type iterator_type;
    249249
    250         pass_container(F const& f, Attr& attr)
    251           : f(f), attr(attr) {}
     250        pass_container(F const& f_, Attr& attr_)
     251          : f(f_), attr(attr_) {}
    252252
    253253        // this is for the case when the current element exposes an attribute
    254254        // which is pushed back onto the container
  • boost/spirit/home/qi/detail/pass_function.hpp

    diff --git a/boost/spirit/home/qi/detail/pass_function.hpp b/boost/spirit/home/qi/detail/pass_function.hpp
    index 2d9e6ba..555adb8 100644
    a b namespace boost { namespace spirit { namespace qi { namespace detail  
    2020    struct pass_function
    2121    {
    2222        pass_function(
    23             Iterator& first, Iterator const& last
    24           , Context& context, Skipper const& skipper)
    25           : first(first)
    26           , last(last)
    27           , context(context)
    28           , skipper(skipper)
     23            Iterator& first_, Iterator const& last_
     24          , Context& context_, Skipper const& skipper_)
     25          : first(first_)
     26          , last(last_)
     27          , context(context_)
     28          , skipper(skipper_)
    2929        {
    3030        }
    3131
  • boost/spirit/home/qi/detail/permute_function.hpp

    diff --git a/boost/spirit/home/qi/detail/permute_function.hpp b/boost/spirit/home/qi/detail/permute_function.hpp
    index 13c1b8c..8b1ed8a 100644
    a b namespace boost { namespace spirit { namespace qi { namespace detail  
    2020    struct permute_function
    2121    {
    2222        permute_function(
    23             Iterator& first, Iterator const& last
    24           , Context& context, Skipper const& skipper)
    25           : first(first)
    26           , last(last)
    27           , context(context)
    28           , skipper(skipper)
     23            Iterator& first_, Iterator const& last_
     24          , Context& context_, Skipper const& skipper_)
     25          : first(first_)
     26          , last(last_)
     27          , context(context_)
     28          , skipper(skipper_)
    2929        {
    3030        }
    3131
  • boost/spirit/home/qi/detail/unused_skipper.hpp

    diff --git a/boost/spirit/home/qi/detail/unused_skipper.hpp b/boost/spirit/home/qi/detail/unused_skipper.hpp
    index c1405d6..6fc7f8d 100644
    a b namespace boost { namespace spirit { namespace qi { namespace detail  
    1717    template <typename Skipper>
    1818    struct unused_skipper : unused_type
    1919    {
    20         unused_skipper(Skipper const& skipper)
    21           : skipper(skipper) {}
     20        unused_skipper(Skipper const& skipper_)
     21          : skipper(skipper_) {}
    2222        Skipper const& skipper;
    2323
    2424    private:
  • boost/spirit/home/qi/directive/as.hpp

    diff --git a/boost/spirit/home/qi/directive/as.hpp b/boost/spirit/home/qi/directive/as.hpp
    index 9ace587..e0376eb 100644
    a b namespace boost { namespace spirit { namespace qi  
    7676    struct as_directive : unary_parser<as_directive<Subject, T> >
    7777    {
    7878        typedef Subject subject_type;
    79         as_directive(Subject const& subject)
    80           : subject(subject) {}
     79        as_directive(Subject const& subject_)
     80          : subject(subject_) {}
    8181
    8282        template <typename Context, typename Iterator>
    8383        struct attribute
    namespace boost { namespace spirit { namespace qi  
    8888        template <typename Iterator, typename Context
    8989          , typename Skipper, typename Attribute>
    9090        bool parse(Iterator& first, Iterator const& last
    91           , Context& context, Skipper const& skipper, Attribute& attr) const
     91          , Context& context, Skipper const& skipper, Attribute& attr_) const
    9292        {
    9393            Iterator i = first;
    9494            T as_attr;
    9595            if (subject.parse(i, last, context, skipper, as_attr))
    9696            {
    97                 spirit::traits::assign_to(as_attr, attr);
     97                spirit::traits::assign_to(as_attr, attr_);
    9898                first = i;
    9999                return true;
    100100            }
    namespace boost { namespace spirit { namespace qi  
    103103
    104104        template <typename Iterator, typename Context, typename Skipper>
    105105        bool parse(Iterator& first, Iterator const& last
    106           , Context& context, Skipper const& skipper, T& attr) const
     106          , Context& context, Skipper const& skipper, T& attr_) const
    107107        {
    108108            Iterator i = first;
    109             if (subject.parse(i, last, context, skipper, attr))
     109            if (subject.parse(i, last, context, skipper, attr_))
    110110            {
    111111                first = i;
    112112                return true;
  • boost/spirit/home/qi/directive/hold.hpp

    diff --git a/boost/spirit/home/qi/directive/hold.hpp b/boost/spirit/home/qi/directive/hold.hpp
    index d5b2ed5..9cd905c 100644
    a b namespace boost { namespace spirit { namespace qi  
    4242    struct hold_directive : unary_parser<hold_directive<Subject> >
    4343    {
    4444        typedef Subject subject_type;
    45         hold_directive(Subject const& subject)
    46           : subject(subject) {}
     45        hold_directive(Subject const& subject_)
     46          : subject(subject_) {}
    4747
    4848        template <typename Context, typename Iterator>
    4949        struct attribute
    namespace boost { namespace spirit { namespace qi  
    5656        template <typename Iterator, typename Context
    5757          , typename Skipper, typename Attribute>
    5858        bool parse(Iterator& first, Iterator const& last
    59           , Context& context, Skipper const& skipper, Attribute& attr) const
     59          , Context& context, Skipper const& skipper, Attribute& attr_) const
    6060        {
    61             Attribute copy(attr);
     61            Attribute copy(attr_);
    6262            if (subject.parse(first, last, context, skipper, copy))
    6363            {
    64                 traits::swap_impl(copy, attr);
     64                traits::swap_impl(copy, attr_);
    6565                return true;
    6666            }
    6767            return false;
  • boost/spirit/home/qi/directive/lexeme.hpp

    diff --git a/boost/spirit/home/qi/directive/lexeme.hpp b/boost/spirit/home/qi/directive/lexeme.hpp
    index f0b8399..e39fc74 100644
    a b namespace boost { namespace spirit { namespace qi  
    4242    struct lexeme_directive : unary_parser<lexeme_directive<Subject> >
    4343    {
    4444        typedef Subject subject_type;
    45         lexeme_directive(Subject const& subject)
    46           : subject(subject) {}
     45        lexeme_directive(Subject const& subject_)
     46          : subject(subject_) {}
    4747
    4848        template <typename Context, typename Iterator>
    4949        struct attribute
    namespace boost { namespace spirit { namespace qi  
    5757          , typename Skipper, typename Attribute>
    5858        bool parse(Iterator& first, Iterator const& last
    5959          , Context& context, Skipper const& skipper
    60           , Attribute& attr) const
     60          , Attribute& attr_) const
    6161        {
    6262            qi::skip_over(first, last, skipper);
    6363            return subject.parse(first, last, context
    64               , detail::unused_skipper<Skipper>(skipper), attr);
     64              , detail::unused_skipper<Skipper>(skipper), attr_);
    6565        }
    6666
    6767        template <typename Context>
  • boost/spirit/home/qi/directive/matches.hpp

    diff --git a/boost/spirit/home/qi/directive/matches.hpp b/boost/spirit/home/qi/directive/matches.hpp
    index b534927..b6fecb9 100644
    a b namespace boost { namespace spirit { namespace qi  
    4444    struct matches_directive : unary_parser<matches_directive<Subject> >
    4545    {
    4646        typedef Subject subject_type;
    47         matches_directive(Subject const& subject)
    48           : subject(subject) {}
     47        matches_directive(Subject const& subject_)
     48          : subject(subject_) {}
    4949
    5050        template <typename Context, typename Iterator>
    5151        struct attribute
    namespace boost { namespace spirit { namespace qi  
    5656        template <typename Iterator, typename Context
    5757          , typename Skipper, typename Attribute>
    5858        bool parse(Iterator& first, Iterator const& last
    59           , Context& context, Skipper const& skipper, Attribute& attr) const
     59          , Context& context, Skipper const& skipper, Attribute& attr_) const
    6060        {
    6161            bool result = subject.parse(first, last, context, skipper, unused);
    62             spirit::traits::assign_to(result, attr);
     62            spirit::traits::assign_to(result, attr_);
    6363            return true;
    6464        }
    6565
  • boost/spirit/home/qi/directive/no_skip.hpp

    diff --git a/boost/spirit/home/qi/directive/no_skip.hpp b/boost/spirit/home/qi/directive/no_skip.hpp
    index 9764d4a..eeeb33b 100644
    a b namespace boost { namespace spirit { namespace qi  
    4545    struct no_skip_directive : unary_parser<no_skip_directive<Subject> >
    4646    {
    4747        typedef Subject subject_type;
    48         no_skip_directive(Subject const& subject)
    49           : subject(subject) {}
     48        no_skip_directive(Subject const& subject_)
     49          : subject(subject_) {}
    5050
    5151        template <typename Context, typename Iterator>
    5252        struct attribute
    namespace boost { namespace spirit { namespace qi  
    6060          , typename Skipper, typename Attribute>
    6161        bool parse(Iterator& first, Iterator const& last
    6262          , Context& context, Skipper const& skipper
    63           , Attribute& attr) const
     63          , Attribute& attr_) const
    6464        {
    6565            return subject.parse(first, last, context
    66               , detail::unused_skipper<Skipper>(skipper), attr);
     66              , detail::unused_skipper<Skipper>(skipper), attr_);
    6767        }
    6868
    6969        template <typename Context>
  • boost/spirit/home/qi/directive/omit.hpp

    diff --git a/boost/spirit/home/qi/directive/omit.hpp b/boost/spirit/home/qi/directive/omit.hpp
    index b0ed86b..05a6a76 100644
    a b namespace boost { namespace spirit { namespace qi  
    4545    struct omit_directive : unary_parser<omit_directive<Subject> >
    4646    {
    4747        typedef Subject subject_type;
    48         omit_directive(Subject const& subject)
    49           : subject(subject) {}
     48        omit_directive(Subject const& subject_)
     49          : subject(subject_) {}
    5050
    5151        template <typename Context, typename Iterator>
    5252        struct attribute
    namespace boost { namespace spirit { namespace qi  
    5757        template <typename Iterator, typename Context
    5858          , typename Skipper, typename Attribute>
    5959        bool parse(Iterator& first, Iterator const& last
    60           , Context& context, Skipper const& skipper, Attribute& attr) const
     60          , Context& context, Skipper const& skipper, Attribute& attr_) const
    6161        {
    62             return subject.parse(first, last, context, skipper, attr);
     62            return subject.parse(first, last, context, skipper, attr_);
    6363        }
    6464
    6565        template <typename Context>
  • boost/spirit/home/qi/directive/raw.hpp

    diff --git a/boost/spirit/home/qi/directive/raw.hpp b/boost/spirit/home/qi/directive/raw.hpp
    index b88458e..e1d208e 100644
    a b namespace boost { namespace spirit { namespace qi  
    4444    struct raw_directive : unary_parser<raw_directive<Subject> >
    4545    {
    4646        typedef Subject subject_type;
    47         raw_directive(Subject const& subject)
    48           : subject(subject) {}
     47        raw_directive(Subject const& subject_)
     48          : subject(subject_) {}
    4949
    5050        template <typename Context, typename Iterator>
    5151        struct attribute
    namespace boost { namespace spirit { namespace qi  
    5656        template <typename Iterator, typename Context
    5757          , typename Skipper, typename Attribute>
    5858        bool parse(Iterator& first, Iterator const& last
    59           , Context& context, Skipper const& skipper, Attribute& attr) const
     59          , Context& context, Skipper const& skipper, Attribute& attr_) const
    6060        {
    6161            qi::skip_over(first, last, skipper);
    6262            Iterator i = first;
    6363            if (subject.parse(i, last, context, skipper, unused))
    6464            {
    65                 spirit::traits::assign_to(first, i, attr);
     65                spirit::traits::assign_to(first, i, attr_);
    6666                first = i;
    6767                return true;
    6868            }
  • boost/spirit/home/qi/directive/repeat.hpp

    diff --git a/boost/spirit/home/qi/directive/repeat.hpp b/boost/spirit/home/qi/directive/repeat.hpp
    index 252e18f..72c3a99 100644
    a b namespace boost { namespace spirit { namespace qi  
    8181    template <typename T>
    8282    struct exact_iterator // handles repeat(exact)[p]
    8383    {
    84         exact_iterator(T const exact)
    85           : exact(exact) {}
     84        exact_iterator(T const exact_)
     85          : exact(exact_) {}
    8686
    8787        typedef T type;
    8888        T start() const { return 0; }
    namespace boost { namespace spirit { namespace qi  
    9999    template <typename T>
    100100    struct finite_iterator // handles repeat(min, max)[p]
    101101    {
    102         finite_iterator(T const min, T const max)
    103           : min BOOST_PREVENT_MACRO_SUBSTITUTION (min)
    104           , max BOOST_PREVENT_MACRO_SUBSTITUTION (max) {}
     102        finite_iterator(T const min_, T const max_)
     103          : min BOOST_PREVENT_MACRO_SUBSTITUTION (min_)
     104          , max BOOST_PREVENT_MACRO_SUBSTITUTION (max_) {}
    105105
    106106        typedef T type;
    107107        T start() const { return 0; }
    namespace boost { namespace spirit { namespace qi  
    119119    template <typename T>
    120120    struct infinite_iterator // handles repeat(min, inf)[p]
    121121    {
    122         infinite_iterator(T const min)
    123           : min BOOST_PREVENT_MACRO_SUBSTITUTION (min) {}
     122        infinite_iterator(T const min_)
     123          : min BOOST_PREVENT_MACRO_SUBSTITUTION (min_) {}
    124124
    125125        typedef T type;
    126126        T start() const { return 0; }
    namespace boost { namespace spirit { namespace qi  
    153153            type;
    154154        };
    155155
    156         repeat_parser(Subject const& subject, LoopIter const& iter)
    157           : subject(subject), iter(iter) {}
     156        repeat_parser(Subject const& subject_, LoopIter const& iter_)
     157          : subject(subject_), iter(iter_) {}
    158158
    159159        template <typename F>
    160160        bool parse_container(F f) const
    namespace boost { namespace spirit { namespace qi  
    183183          , typename Skipper, typename Attribute>
    184184        bool parse(Iterator& first, Iterator const& last
    185185          , Context& context, Skipper const& skipper
    186           , Attribute& attr) const
     186          , Attribute& attr_) const
    187187        {
    188188            typedef detail::fail_function<Iterator, Context, Skipper>
    189189                fail_function;
    190190
    191191            // ensure the attribute is actually a container type
    192             traits::make_container(attr);
     192            traits::make_container(attr_);
    193193
    194             Iterator iter = first;
    195             fail_function f(iter, last, context, skipper);
    196             if (!parse_container(detail::make_pass_container(f, attr)))
     194            Iterator iter_local = first;
     195            fail_function f(iter_local, last, context, skipper);
     196            if (!parse_container(detail::make_pass_container(f, attr_)))
    197197                return false;
    198198
    199199            first = f.first;
  • boost/spirit/home/qi/directive/skip.hpp

    diff --git a/boost/spirit/home/qi/directive/skip.hpp b/boost/spirit/home/qi/directive/skip.hpp
    index 28539da..ecf1df2 100644
    a b namespace boost { namespace spirit { namespace qi  
    7070            type;
    7171        };
    7272
    73         reskip_parser(Subject const& subject)
    74           : subject(subject) {}
     73        reskip_parser(Subject const& subject_)
     74          : subject(subject_) {}
    7575
    7676        template <typename Iterator, typename Context
    7777          , typename Skipper, typename Attribute>
    7878        bool parse(Iterator& first, Iterator const& last
    7979          , Context& context, Skipper const& u // --> The skipper is reintroduced
    80           , Attribute& attr) const
     80          , Attribute& attr_) const
    8181        {
    8282            return subject.parse(first, last, context
    83               , detail::get_skipper(u), attr);
     83              , detail::get_skipper(u), attr_);
    8484        }
    8585
    8686        template <typename Context>
    namespace boost { namespace spirit { namespace qi  
    106106            type;
    107107        };
    108108
    109         skip_parser(Subject const& subject, Skipper const& skipper)
    110           : subject(subject), skipper(skipper) {}
     109        skip_parser(Subject const& subject_, Skipper const& skipper_)
     110          : subject(subject_), skipper(skipper_) {}
    111111
    112112        template <typename Iterator, typename Context
    113113          , typename Skipper_, typename Attribute>
    114114        bool parse(Iterator& first, Iterator const& last
    115115          , Context& context, Skipper_ const& //skipper --> bypass the supplied skipper
    116           , Attribute& attr) const
     116          , Attribute& attr_) const
    117117        {
    118             return subject.parse(first, last, context, skipper, attr);
     118            return subject.parse(first, last, context, skipper, attr_);
    119119        }
    120120
    121121        template <typename Context>
  • boost/spirit/home/qi/nonterminal/debug_handler.hpp

    diff --git a/boost/spirit/home/qi/nonterminal/debug_handler.hpp b/boost/spirit/home/qi/nonterminal/debug_handler.hpp
    index 3328732..6a9f536 100644
    a b namespace boost { namespace spirit { namespace qi  
    3636        function_type;
    3737
    3838        debug_handler(
    39             function_type subject
    40           , F f
    41           , std::string const& rule_name)
    42           : subject(subject)
    43           , f(f)
    44           , rule_name(rule_name)
     39            function_type subject_
     40          , F f_
     41          , std::string const& rule_name_)
     42          : subject(subject_)
     43          , f(f_)
     44          , rule_name(rule_name_)
    4545        {
    4646        }
    4747
  • boost/spirit/home/qi/nonterminal/detail/parameterized.hpp

    diff --git a/boost/spirit/home/qi/nonterminal/detail/parameterized.hpp b/boost/spirit/home/qi/nonterminal/detail/parameterized.hpp
    index 0300a06..825fa40 100644
    a b namespace boost { namespace spirit { namespace qi  
    2727    struct parameterized_nonterminal
    2828      : parser<parameterized_nonterminal<Subject, Params> >
    2929    {
    30         parameterized_nonterminal(Subject const& subject, Params const& params)
    31           : ref(subject), params(params)
     30        parameterized_nonterminal(Subject const& subject, Params const& params_)
     31          : ref(subject), params(params_)
    3232        {
    3333        }
    3434
    namespace boost { namespace spirit { namespace qi  
    4141          , typename Skipper, typename Attribute>
    4242        bool parse(Iterator& first, Iterator const& last
    4343          , Context& context, Skipper const& skipper
    44           , Attribute& attr) const
     44          , Attribute& attr_) const
    4545        {
    4646            // Forward to subject, passing the additional
    4747            // params argument to parse.
    48             return ref.get().parse(first, last, context, skipper, attr, params);
     48            return ref.get().parse(first, last, context, skipper, attr_, params);
    4949        }
    5050
    5151        template <typename Context>
  • boost/spirit/home/qi/nonterminal/detail/parser_binder.hpp

    diff --git a/boost/spirit/home/qi/nonterminal/detail/parser_binder.hpp b/boost/spirit/home/qi/nonterminal/detail/parser_binder.hpp
    index 91bceba..87d8e84 100644
    a b namespace boost { namespace spirit { namespace qi { namespace detail  
    2121    template <typename Parser, typename Auto>
    2222    struct parser_binder
    2323    {
    24         parser_binder(Parser const& p)
    25           : p(p) {}
     24        parser_binder(Parser const& p_)
     25          : p(p_) {}
    2626
    2727        template <typename Iterator, typename Skipper, typename Context>
    2828        bool call(Iterator& first, Iterator const& last
    namespace boost { namespace spirit { namespace qi { namespace detail  
    6060    template <typename Parser>
    6161    struct parser_binder<Parser, mpl::true_>
    6262    {
    63         parser_binder(Parser const& p)
    64           : p(p) {}
     63        parser_binder(Parser const& p_)
     64          : p(p_) {}
    6565
    6666        template <typename Iterator, typename Skipper, typename Context>
    6767        bool operator()(
  • boost/spirit/home/qi/nonterminal/error_handler.hpp

    diff --git a/boost/spirit/home/qi/nonterminal/error_handler.hpp b/boost/spirit/home/qi/nonterminal/error_handler.hpp
    index 6dd4f08..e8c4f87 100644
    a b namespace boost { namespace spirit { namespace qi  
    7676            )>
    7777        function_type;
    7878
    79         error_handler(function_type subject, F f)
    80           : subject(subject)
    81           , f(f)
     79        error_handler(function_type subject_, F f_)
     80          : subject(subject_)
     81          , f(f_)
    8282        {
    8383        }
    8484
  • boost/spirit/home/qi/nonterminal/grammar.hpp

    diff --git a/boost/spirit/home/qi/nonterminal/grammar.hpp b/boost/spirit/home/qi/nonterminal/grammar.hpp
    index 982e49b..d41590c 100644
    a b namespace boost { namespace spirit { namespace qi  
    5656
    5757        grammar(
    5858            start_type const& start
    59           , std::string const& name_ = "unnamed-grammar")
     59          , std::string const& name = "unnamed-grammar")
    6060        : proto::extends<terminal, base_type>(terminal::make(reference_(start)))
    61         , name_(name_)
     61        , name_(name)
    6262        {}
    6363
    6464        // This constructor is used to catch if the start rule is not
    namespace boost { namespace spirit { namespace qi  
    9090        template <typename Context, typename Skipper, typename Attribute>
    9191        bool parse(Iterator& first, Iterator const& last
    9292          , Context& context, Skipper const& skipper
    93           , Attribute& attr) const
     93          , Attribute& attr_) const
    9494        {
    9595            return this->proto_base().child0.parse(
    96                 first, last, context, skipper, attr);
     96                first, last, context, skipper, attr_);
    9797        }
    9898
    9999        template <typename Context>
  • boost/spirit/home/qi/nonterminal/rule.hpp

    diff --git a/boost/spirit/home/qi/nonterminal/rule.hpp b/boost/spirit/home/qi/nonterminal/rule.hpp
    index 23d2559..8941c23 100644
    a b namespace boost { namespace spirit { namespace qi  
    154154            >::type
    155155        encoding_modifier_type;
    156156
    157         explicit rule(std::string const& name_ = "unnamed-rule")
     157        explicit rule(std::string const& name = "unnamed-rule")
    158158          : base_type(terminal::make(reference_(*this)))
    159           , name_(name_)
     159          , name_(name)
    160160        {
    161161        }
    162162
    namespace boost { namespace spirit { namespace qi  
    168168        }
    169169
    170170        template <typename Auto, typename Expr>
    171         static void define(rule& lhs, Expr const& expr, mpl::false_)
     171        static void define(rule& /*lhs*/, Expr const& /*expr*/, mpl::false_)
    172172        {
    173173            // Report invalid expression error as early as possible.
    174174            // If you got an error_invalid_expression error message here,
    namespace boost { namespace spirit { namespace qi  
    184184        }
    185185
    186186        template <typename Expr>
    187         rule(Expr const& expr, std::string const& name_ = "unnamed-rule")
     187        rule(Expr const& expr, std::string const& name = "unnamed-rule")
    188188          : base_type(terminal::make(reference_(*this)))
    189           , name_(name_)
     189          , name_(name)
    190190        {
    191191            define<mpl::false_>(*this, expr, traits::matches<qi::domain, Expr>());
    192192        }
    namespace boost { namespace spirit { namespace qi  
    272272        template <typename Context, typename Skipper, typename Attribute>
    273273        bool parse(Iterator& first, Iterator const& last
    274274          , Context& /*context*/, Skipper const& skipper
    275           , Attribute& attr) const
     275          , Attribute& attr_param) const
    276276        {
    277277            if (f)
    278278            {
    namespace boost { namespace spirit { namespace qi  
    288288                    typename make_attribute::type, attr_type, domain>
    289289                transform;
    290290
    291                 typename make_attribute::type made_attr = make_attribute::call(attr);
     291                typename make_attribute::type made_attr = make_attribute::call(attr_param);
    292292                typename transform::type attr_ = transform::pre(made_attr);
    293293
    294294                // If you are seeing a compilation error here, you are probably
    namespace boost { namespace spirit { namespace qi  
    304304                {
    305305                    // do up-stream transformation, this integrates the results
    306306                    // back into the original attribute value, if appropriate
    307                     traits::post_transform(attr, attr_);
     307                    traits::post_transform(attr_param, attr_);
    308308                    return true;
    309309                }
    310310
    311311                // inform attribute transformation of failed rhs
    312                 traits::fail_transform(attr, attr_);
     312                traits::fail_transform(attr_param, attr_);
    313313            }
    314314            return false;
    315315        }
    namespace boost { namespace spirit { namespace qi  
    318318          , typename Attribute, typename Params>
    319319        bool parse(Iterator& first, Iterator const& last
    320320          , Context& caller_context, Skipper const& skipper
    321           , Attribute& attr, Params const& params) const
     321          , Attribute& attr_param, Params const& params) const
    322322        {
    323323            if (f)
    324324            {
    namespace boost { namespace spirit { namespace qi  
    334334                    typename make_attribute::type, attr_type, domain>
    335335                transform;
    336336
    337                 typename make_attribute::type made_attr = make_attribute::call(attr);
     337                typename make_attribute::type made_attr = make_attribute::call(attr_param);
    338338                typename transform::type attr_ = transform::pre(made_attr);
    339339
    340340                // If you are seeing a compilation error here, you are probably
    namespace boost { namespace spirit { namespace qi  
    350350                {
    351351                    // do up-stream transformation, this integrates the results
    352352                    // back into the original attribute value, if appropriate
    353                     traits::post_transform(attr, attr_);
     353                    traits::post_transform(attr_param, attr_);
    354354                    return true;
    355355                }
    356356
    357357                // inform attribute transformation of failed rhs
    358                 traits::fail_transform(attr, attr_);
     358                traits::fail_transform(attr_param, attr_);
    359359            }
    360360            return false;
    361361        }
  • boost/spirit/home/qi/nonterminal/success_handler.hpp

    diff --git a/boost/spirit/home/qi/nonterminal/success_handler.hpp b/boost/spirit/home/qi/nonterminal/success_handler.hpp
    index 3b3133c..5db83a2 100644
    a b namespace boost { namespace spirit { namespace qi  
    2929            )>
    3030        function_type;
    3131
    32         success_handler(function_type subject, F f)
    33           : subject(subject)
    34           , f(f)
     32        success_handler(function_type subject_, F f_)
     33          : subject(subject_)
     34          , f(f_)
    3535        {
    3636        }
    3737
  • boost/spirit/home/qi/numeric/bool.hpp

    diff --git a/boost/spirit/home/qi/numeric/bool.hpp b/boost/spirit/home/qi/numeric/bool.hpp
    index 4041fc3..74e1343 100644
    a b namespace boost { namespace spirit { namespace qi  
    153153          , typename Skipper, typename Attribute>
    154154        bool parse(Iterator& first, Iterator const& last
    155155          , Context& /*context*/, Skipper const& skipper
    156           , Attribute& attr) const
     156          , Attribute& attr_) const
    157157        {
    158158            typedef detail::bool_impl<T, BoolPolicies> extract;
    159159            qi::skip_over(first, last, skipper);
    160             return extract::parse(first, last, attr, BoolPolicies());
     160            return extract::parse(first, last, attr_, BoolPolicies());
    161161        }
    162162
    163163        template <typename Context>
    namespace boost { namespace spirit { namespace qi  
    184184          , typename Skipper, typename Attribute>
    185185        bool parse(Iterator& first, Iterator const& last
    186186          , Context& /*context*/, Skipper const& skipper
    187           , Attribute& attr) const
     187          , Attribute& attr_) const
    188188        {
    189189            typedef detail::bool_impl<T, BoolPolicies> extract;
    190190            qi::skip_over(first, last, skipper);
    191             return extract::parse(first, last, attr, BoolPolicies(), n_, n_);
     191            return extract::parse(first, last, attr_, BoolPolicies(), n_, n_);
    192192        }
    193193
    194194        template <typename Context>
  • boost/spirit/home/qi/numeric/bool_policies.hpp

    diff --git a/boost/spirit/home/qi/numeric/bool_policies.hpp b/boost/spirit/home/qi/numeric/bool_policies.hpp
    index 1e7c6e5..62641a6 100644
    a b namespace boost { namespace spirit { namespace qi  
    2424    {
    2525        template <typename Iterator, typename Attribute>
    2626        static bool
    27         parse_true(Iterator& first, Iterator const& last, Attribute& attr)
     27        parse_true(Iterator& first, Iterator const& last, Attribute& attr_)
    2828        {
    2929            if (detail::string_parse("true", first, last, unused))
    3030            {
    31                 spirit::traits::assign_to(T(true), attr);    // result is true
     31                spirit::traits::assign_to(T(true), attr_);    // result is true
    3232                return true;
    3333            }
    3434            return false;
    namespace boost { namespace spirit { namespace qi  
    3636
    3737        template <typename Iterator, typename Attribute>
    3838        static bool
    39         parse_false(Iterator& first, Iterator const& last, Attribute& attr)
     39        parse_false(Iterator& first, Iterator const& last, Attribute& attr_)
    4040        {
    4141            if (detail::string_parse("false", first, last, unused))
    4242            {
    43                 spirit::traits::assign_to(T(false), attr);   // result is false
     43                spirit::traits::assign_to(T(false), attr_);   // result is false
    4444                return true;
    4545            }
    4646            return false;
    namespace boost { namespace spirit { namespace qi  
    5353    {
    5454        template <typename Iterator, typename Attribute>
    5555        static bool
    56         parse_true(Iterator& first, Iterator const& last, Attribute& attr)
     56        parse_true(Iterator& first, Iterator const& last, Attribute& attr_)
    5757        {
    5858            if (detail::string_parse("true", "TRUE", first, last, unused))
    5959            {
    60                 spirit::traits::assign_to(T(true), attr);    // result is true
     60                spirit::traits::assign_to(T(true), attr_);    // result is true
    6161                return true;
    6262            }
    6363            return false;
    namespace boost { namespace spirit { namespace qi  
    6565
    6666        template <typename Iterator, typename Attribute>
    6767        static bool
    68         parse_false(Iterator& first, Iterator const& last, Attribute& attr)
     68        parse_false(Iterator& first, Iterator const& last, Attribute& attr_)
    6969        {
    7070            if (detail::string_parse("false", "FALSE", first, last, unused))
    7171            {
    72                 spirit::traits::assign_to(T(false), attr);   // result is false
     72                spirit::traits::assign_to(T(false), attr_);   // result is false
    7373                return true;
    7474            }
    7575            return false;
  • boost/spirit/home/qi/numeric/int.hpp

    diff --git a/boost/spirit/home/qi/numeric/int.hpp b/boost/spirit/home/qi/numeric/int.hpp
    index a30bb3f..2da9817 100644
    a b namespace boost { namespace spirit { namespace qi  
    198198          , typename Skipper, typename Attribute>
    199199        bool parse(Iterator& first, Iterator const& last
    200200          , Context& /*context*/, Skipper const& skipper
    201           , Attribute& attr) const
     201          , Attribute& attr_) const
    202202        {
    203203            typedef extract_int<T, Radix, MinDigits, MaxDigits> extract;
    204204            qi::skip_over(first, last, skipper);
    205             return extract::call(first, last, attr);
     205            return extract::call(first, last, attr_);
    206206        }
    207207
    208208        template <typename Context>
    namespace boost { namespace spirit { namespace qi  
    236236          , typename Skipper, typename Attribute>
    237237        bool parse(Iterator& first, Iterator const& last
    238238          , Context& /*context*/, Skipper const& skipper
    239           , Attribute& attr) const
     239          , Attribute& attr_param) const
    240240        {
    241241            typedef extract_int<T, Radix, MinDigits, MaxDigits> extract;
    242242            qi::skip_over(first, last, skipper);
    namespace boost { namespace spirit { namespace qi  
    246246
    247247            if (extract::call(first, last, attr_) && (attr_ == n_))
    248248            {
    249                 traits::assign_to(attr_, attr);
     249                traits::assign_to(attr_, attr_param);
    250250                return true;
    251251            }
    252252
  • boost/spirit/home/qi/numeric/numeric_utils.hpp

    diff --git a/boost/spirit/home/qi/numeric/numeric_utils.hpp b/boost/spirit/home/qi/numeric/numeric_utils.hpp
    index 72a54d8..eebf40a 100644
    a b namespace boost { namespace spirit { namespace qi  
    5353            not_supported_radix, ());
    5454
    5555        template <typename Iterator>
    56         inline static bool call(Iterator& first, Iterator const& last, T& attr)
     56        inline static bool call(Iterator& first, Iterator const& last, T& attr_)
    5757        {
    5858            if (first == last)
    5959                return false;
    namespace boost { namespace spirit { namespace qi  
    6969
    7070            Iterator save = first;
    7171            if (!extract_type::parse(first, last,
    72                 detail::cast_unsigned<T>::call(attr)))
     72                detail::cast_unsigned<T>::call(attr_)))
    7373            {
    7474                first = save;
    7575                return false;
    namespace boost { namespace spirit { namespace qi  
    8181        inline static bool call(Iterator& first, Iterator const& last, Attribute& attr_)
    8282        {
    8383            // this case is called when Attribute is not T
    84             T attr;
    85             if (call(first, last, attr))
     84            T attr_local;
     85            if (call(first, last, attr_local))
    8686            {
    87                 traits::assign_to(attr, attr_);
     87                traits::assign_to(attr_local, attr_);
    8888                return true;
    8989            }
    9090            return false;
    namespace boost { namespace spirit { namespace qi  
    103103            not_supported_radix, ());
    104104
    105105        template <typename Iterator>
    106         inline static bool call(Iterator& first, Iterator const& last, T& attr)
     106        inline static bool call(Iterator& first, Iterator const& last, T& attr_)
    107107        {
    108108            if (first == last)
    109109                return false;
    namespace boost { namespace spirit { namespace qi  
    119119            Iterator save = first;
    120120            bool hit = extract_sign(first, last);
    121121            if (hit)
    122                 hit = extract_neg_type::parse(first, last, attr);
     122                hit = extract_neg_type::parse(first, last, attr_);
    123123            else
    124                 hit = extract_pos_type::parse(first, last, attr);
     124                hit = extract_pos_type::parse(first, last, attr_);
    125125
    126126            if (!hit)
    127127            {
    namespace boost { namespace spirit { namespace qi  
    135135        inline static bool call(Iterator& first, Iterator const& last, Attribute& attr_)
    136136        {
    137137            // this case is called when Attribute is not T
    138             T attr;
    139             if (call(first, last, attr))
     138            T attr_local;
     139            if (call(first, last, attr_local))
    140140            {
    141                 traits::assign_to(attr, attr_);
     141                traits::assign_to(attr_local, attr_);
    142142                return true;
    143143            }
    144144            return false;
  • boost/spirit/home/qi/numeric/real.hpp

    diff --git a/boost/spirit/home/qi/numeric/real.hpp b/boost/spirit/home/qi/numeric/real.hpp
    index 325acd5..5c78421 100644
    a b namespace boost { namespace spirit { namespace qi  
    161161        template <typename Iterator, typename Context, typename Skipper>
    162162        bool parse(Iterator& first, Iterator const& last
    163163          , Context& /*context*/, Skipper const& skipper
    164           , T& attr) const
     164          , T& attr_) const
    165165        {
    166166            typedef detail::real_impl<T, RealPolicies> extract;
    167167            qi::skip_over(first, last, skipper);
    168             return extract::parse(first, last, attr, RealPolicies());
     168            return extract::parse(first, last, attr_, RealPolicies());
    169169        }
    170170
    171171        template <typename Iterator, typename Context
    172172          , typename Skipper, typename Attribute>
    173173        bool parse(Iterator& first, Iterator const& last
    174174          , Context& context, Skipper const& skipper
    175           , Attribute& attr) const
     175          , Attribute& attr_param) const
    176176        {
    177177            // this case is called when Attribute is not T
    178178            T attr_;
    179179            if (parse(first, last, context, skipper, attr_))
    180180            {
    181                 traits::assign_to(attr_, attr);
     181                traits::assign_to(attr_, attr_param);
    182182                return true;
    183183            }
    184184            return false;
    namespace boost { namespace spirit { namespace qi  
    207207        template <typename Iterator, typename Context
    208208          , typename Skipper, typename Attribute>
    209209        bool parse(Iterator& first, Iterator const& last
    210           , Context& context, Skipper const& skipper
    211           , Attribute& attr) const
     210          , Context& /*context*/, Skipper const& skipper
     211          , Attribute& attr_param) const
    212212        {
    213213            typedef detail::real_impl<T, RealPolicies> extract;
    214214            qi::skip_over(first, last, skipper);
    namespace boost { namespace spirit { namespace qi  
    219219            if (extract::parse(first, last, attr_, RealPolicies()) &&
    220220                (attr_ == n_))
    221221            {
    222                 traits::assign_to(attr_, attr);
     222                traits::assign_to(attr_, attr_param);
    223223                return true;
    224224            }
    225225
  • boost/spirit/home/qi/numeric/real_policies.hpp

    diff --git a/boost/spirit/home/qi/numeric/real_policies.hpp b/boost/spirit/home/qi/numeric/real_policies.hpp
    index 6512d6f..1315888 100644
    a b namespace boost { namespace spirit { namespace qi  
    3737
    3838        template <typename Iterator, typename Attribute>
    3939        static bool
    40         parse_n(Iterator& first, Iterator const& last, Attribute& attr)
     40        parse_n(Iterator& first, Iterator const& last, Attribute& attr_)
    4141        {
    42             return extract_uint<T, 10, 1, -1>::call(first, last, attr);
     42            return extract_uint<T, 10, 1, -1>::call(first, last, attr_);
    4343        }
    4444
    4545        template <typename Iterator>
    namespace boost { namespace spirit { namespace qi  
    5454
    5555        template <typename Iterator, typename Attribute>
    5656        static bool
    57         parse_frac_n(Iterator& first, Iterator const& last, Attribute& attr)
     57        parse_frac_n(Iterator& first, Iterator const& last, Attribute& attr_)
    5858        {
    59             return extract_uint<T, 10, 1, -1, true>::call(first, last, attr);
     59            return extract_uint<T, 10, 1, -1, true>::call(first, last, attr_);
    6060        }
    6161
    6262        template <typename Iterator>
    namespace boost { namespace spirit { namespace qi  
    7171
    7272        template <typename Iterator>
    7373        static bool
    74         parse_exp_n(Iterator& first, Iterator const& last, int& attr)
     74        parse_exp_n(Iterator& first, Iterator const& last, int& attr_)
    7575        {
    76             return extract_int<int, 10, 1, -1>::call(first, last, attr);
     76            return extract_int<int, 10, 1, -1>::call(first, last, attr_);
    7777        }
    7878
    7979        ///////////////////////////////////////////////////////////////////////
    namespace boost { namespace spirit { namespace qi  
    105105        ///////////////////////////////////////////////////////////////////////
    106106        template <typename Iterator, typename Attribute>
    107107        static bool
    108         parse_nan(Iterator& first, Iterator const& last, Attribute& attr)
     108        parse_nan(Iterator& first, Iterator const& last, Attribute& attr_)
    109109        {
    110110            if (first == last)
    111111                return false;   // end of input reached
    namespace boost { namespace spirit { namespace qi  
    128128
    129129                    first = ++i;
    130130                }
    131                 attr = std::numeric_limits<T>::quiet_NaN();
     131                attr_ = std::numeric_limits<T>::quiet_NaN();
    132132                return true;
    133133            }
    134134            return false;
    namespace boost { namespace spirit { namespace qi  
    136136
    137137        template <typename Iterator, typename Attribute>
    138138        static bool
    139         parse_inf(Iterator& first, Iterator const& last, Attribute& attr)
     139        parse_inf(Iterator& first, Iterator const& last, Attribute& attr_)
    140140        {
    141141            if (first == last)
    142142                return false;   // end of input reached
    namespace boost { namespace spirit { namespace qi  
    149149            {
    150150                // skip allowed 'inity' part of infinity
    151151                detail::string_parse("inity", "INITY", first, last, unused);
    152                 attr = std::numeric_limits<T>::infinity();
     152                attr_ = std::numeric_limits<T>::infinity();
    153153                return true;
    154154            }
    155155            return false;
  • boost/spirit/home/qi/numeric/uint.hpp

    diff --git a/boost/spirit/home/qi/numeric/uint.hpp b/boost/spirit/home/qi/numeric/uint.hpp
    index ea763d3..f6d1efd 100644
    a b namespace boost { namespace spirit { namespace qi  
    235235          , typename Skipper, typename Attribute>
    236236        bool parse(Iterator& first, Iterator const& last
    237237          , Context& /*context*/, Skipper const& skipper
    238           , Attribute& attr) const
     238          , Attribute& attr_) const
    239239        {
    240240            typedef extract_uint<T, Radix, MinDigits, MaxDigits> extract;
    241241            qi::skip_over(first, last, skipper);
    242             return extract::call(first, last, attr);
     242            return extract::call(first, last, attr_);
    243243        }
    244244
    245245        template <typename Context>
    namespace boost { namespace spirit { namespace qi  
    273273          , typename Skipper, typename Attribute>
    274274        bool parse(Iterator& first, Iterator const& last
    275275          , Context& /*context*/, Skipper const& skipper
    276           , Attribute& attr) const
     276          , Attribute& attr_param) const
    277277        {
    278278            typedef extract_uint<T, Radix, MinDigits, MaxDigits> extract;
    279279            qi::skip_over(first, last, skipper);
    namespace boost { namespace spirit { namespace qi  
    283283
    284284            if (extract::call(first, last, attr_) && (attr_ == n_))
    285285            {
    286                 traits::assign_to(attr_, attr);
     286                traits::assign_to(attr_, attr_param);
    287287                return true;
    288288            }
    289289
  • boost/spirit/home/qi/operator/alternative.hpp

    diff --git a/boost/spirit/home/qi/operator/alternative.hpp b/boost/spirit/home/qi/operator/alternative.hpp
    index 9785d45..22cfdef 100644
    a b namespace boost { namespace spirit { namespace qi  
    6363            type;
    6464        };
    6565
    66         alternative(Elements const& elements)
    67           : elements(elements) {}
     66        alternative(Elements const& elements_)
     67          : elements(elements_) {}
    6868
    6969        template <typename Iterator, typename Context
    7070          , typename Skipper, typename Attribute>
    7171        bool parse(Iterator& first, Iterator const& last
    7272          , Context& context, Skipper const& skipper
    73           , Attribute& attr) const
     73          , Attribute& attr_) const
    7474        {
    7575            detail::alternative_function<Iterator, Context, Skipper, Attribute>
    76                 f(first, last, context, skipper, attr);
     76                f(first, last, context, skipper, attr_);
    7777
    7878            // return true if *any* of the parsers succeed
    7979            return fusion::any(elements, f);
  • boost/spirit/home/qi/operator/and_predicate.hpp

    diff --git a/boost/spirit/home/qi/operator/and_predicate.hpp b/boost/spirit/home/qi/operator/and_predicate.hpp
    index 031ce1d..0554c10 100644
    a b namespace boost { namespace spirit { namespace qi  
    4343            typedef unused_type type;
    4444        };
    4545
    46         and_predicate(Subject const& subject)
    47           : subject(subject) {}
     46        and_predicate(Subject const& subject_)
     47          : subject(subject_) {}
    4848
    4949        template <typename Iterator, typename Context
    5050          , typename Skipper, typename Attribute>
  • boost/spirit/home/qi/operator/difference.hpp

    diff --git a/boost/spirit/home/qi/operator/difference.hpp b/boost/spirit/home/qi/operator/difference.hpp
    index 5f8c4c9..f703d7f 100644
    a b namespace boost { namespace spirit { namespace qi  
    4646            type;
    4747        };
    4848
    49         difference(Left const& left, Right const& right)
    50           : left(left), right(right) {}
     49        difference(Left const& left_, Right const& right_)
     50          : left(left_), right(right_) {}
    5151
    5252        template <typename Iterator, typename Context
    5353          , typename Skipper, typename Attribute>
    5454        bool parse(Iterator& first, Iterator const& last
    5555          , Context& context, Skipper const& skipper
    56           , Attribute& attr) const
     56          , Attribute& attr_) const
    5757        {
    5858            // Unlike classic Spirit, with this version of difference, the rule
    5959            // lit("policeman") - "police" will always fail to match.
    namespace boost { namespace spirit { namespace qi  
    7171                return false;
    7272            }
    7373            // RHS fails, now try LHS
    74             return left.parse(first, last, context, skipper, attr);
     74            return left.parse(first, last, context, skipper, attr_);
    7575        }
    7676
    7777        template <typename Context>
  • boost/spirit/home/qi/operator/expect.hpp

    diff --git a/boost/spirit/home/qi/operator/expect.hpp b/boost/spirit/home/qi/operator/expect.hpp
    index c42b2de..ff279fd 100644
    a b namespace boost { namespace spirit { namespace qi  
    3939    template <typename Iterator>
    4040    struct expectation_failure : std::runtime_error
    4141    {
    42         expectation_failure(Iterator first, Iterator last, info const& what)
     42        expectation_failure(Iterator first_, Iterator last_, info const& what)
    4343          : std::runtime_error("boost::spirit::qi::expectation_failure")
    44           , first(first), last(last), what_(what)
     44          , first(first_), last(last_), what_(what)
    4545        {}
    4646        ~expectation_failure() throw() {}
    4747
  • boost/spirit/home/qi/operator/kleene.hpp

    diff --git a/boost/spirit/home/qi/operator/kleene.hpp b/boost/spirit/home/qi/operator/kleene.hpp
    index ae778f0..798e63d 100644
    a b namespace boost { namespace spirit { namespace qi  
    5656            type;
    5757        };
    5858
    59         kleene(Subject const& subject)
    60           : subject(subject) {}
     59        kleene(Subject const& subject_)
     60          : subject(subject_) {}
    6161
    6262        template <typename F>
    6363        bool parse_container(F f) const
    namespace boost { namespace spirit { namespace qi  
    7171          , typename Skipper, typename Attribute>
    7272        bool parse(Iterator& first, Iterator const& last
    7373          , Context& context, Skipper const& skipper
    74           , Attribute& attr) const
     74          , Attribute& attr_) const
    7575        {
    7676            // ensure the attribute is actually a container type
    77             traits::make_container(attr);
     77            traits::make_container(attr_);
    7878
    7979            typedef detail::fail_function<Iterator, Context, Skipper>
    8080                fail_function;
    8181
    8282            Iterator iter = first;
    8383            fail_function f(iter, last, context, skipper);
    84             parse_container(detail::make_pass_container(f, attr));
     84            parse_container(detail::make_pass_container(f, attr_));
    8585
    8686            first = f.first;
    8787            return true;
  • boost/spirit/home/qi/operator/list.hpp

    diff --git a/boost/spirit/home/qi/operator/list.hpp b/boost/spirit/home/qi/operator/list.hpp
    index cc067cd..c5b3ef6 100644
    a b namespace boost { namespace spirit { namespace qi  
    5555            type;
    5656        };
    5757
    58         list(Left const& left, Right const& right)
    59           : left(left), right(right) {}
     58        list(Left const& left_, Right const& right_)
     59          : left(left_), right(right_) {}
    6060
    6161        template <typename F>
    6262        bool parse_container(F f) const
    namespace boost { namespace spirit { namespace qi  
    8080          , typename Skipper, typename Attribute>
    8181        bool parse(Iterator& first, Iterator const& last
    8282          , Context& context, Skipper const& skipper
    83           , Attribute& attr) const
     83          , Attribute& attr_) const
    8484        {
    8585            typedef detail::fail_function<Iterator, Context, Skipper>
    8686                fail_function;
    8787
    8888            // ensure the attribute is actually a container type
    89             traits::make_container(attr);
     89            traits::make_container(attr_);
    9090
    9191            Iterator iter = first;
    9292            fail_function f(iter, last, context, skipper);
    93             if (!parse_container(detail::make_pass_container(f, attr)))
     93            if (!parse_container(detail::make_pass_container(f, attr_)))
    9494                return false;
    9595
    9696            first = f.first;
  • boost/spirit/home/qi/operator/not_predicate.hpp

    diff --git a/boost/spirit/home/qi/operator/not_predicate.hpp b/boost/spirit/home/qi/operator/not_predicate.hpp
    index 57cbb0d..1fb81cd 100644
    a b namespace boost { namespace spirit { namespace qi  
    4242            typedef unused_type type;
    4343        };
    4444
    45         not_predicate(Subject const& subject)
    46           : subject(subject) {}
     45        not_predicate(Subject const& subject_)
     46          : subject(subject_) {}
    4747
    4848        template <typename Iterator, typename Context
    4949          , typename Skipper, typename Attribute>
  • boost/spirit/home/qi/operator/optional.hpp

    diff --git a/boost/spirit/home/qi/operator/optional.hpp b/boost/spirit/home/qi/operator/optional.hpp
    index b183ad6..4910c7f 100644
    a b namespace boost { namespace spirit { namespace qi  
    5555            type;
    5656        };
    5757
    58         optional(Subject const& subject)
    59           : subject(subject) {}
     58        optional(Subject const& subject_)
     59          : subject(subject_) {}
    6060
    6161        template <typename Iterator, typename Context
    6262          , typename Skipper, typename Attribute>
    6363        bool parse_impl(Iterator& first, Iterator const& last
    6464          , Context& context, Skipper const& skipper
    65           , Attribute& attr, mpl::false_) const
     65          , Attribute& attr_, mpl::false_) const
    6666        {
    6767            // create a local value if Attribute is not unused_type
    6868            typename spirit::result_of::optional_value<Attribute>::type val =
    namespace boost { namespace spirit { namespace qi  
    7171            if (subject.parse(first, last, context, skipper, val))
    7272            {
    7373                // assign the parsed value into our attribute
    74                 spirit::traits::assign_to(val, attr);
     74                spirit::traits::assign_to(val, attr_);
    7575            }
    7676            return true;
    7777        }
    namespace boost { namespace spirit { namespace qi  
    8080          , typename Skipper, typename Attribute>
    8181        bool parse_impl(Iterator& first, Iterator const& last
    8282          , Context& context, Skipper const& skipper
    83           , Attribute& attr, mpl::true_) const
     83          , Attribute& attr_, mpl::true_) const
    8484        {
    85             subject.parse(first, last, context, skipper, attr);
     85            subject.parse(first, last, context, skipper, attr_);
    8686            return true;
    8787        }
    8888
    namespace boost { namespace spirit { namespace qi  
    9090          , typename Skipper, typename Attribute>
    9191        bool parse(Iterator& first, Iterator const& last
    9292          , Context& context, Skipper const& skipper
    93           , Attribute& attr) const
     93          , Attribute& attr_) const
    9494        {
    9595            typedef typename spirit::result_of::optional_value<Attribute>::type
    9696                attribute_type;
    9797
    98             return parse_impl(first, last, context, skipper, attr
     98            return parse_impl(first, last, context, skipper, attr_
    9999              , traits::is_container<attribute_type>());
    100100        }
    101101
  • boost/spirit/home/qi/operator/permutation.hpp

    diff --git a/boost/spirit/home/qi/operator/permutation.hpp b/boost/spirit/home/qi/operator/permutation.hpp
    index 1dcad89..cadfa24 100644
    a b namespace boost { namespace spirit { namespace qi  
    6262            type;
    6363        };
    6464
    65         permutation(Elements const& elements)
    66           : elements(elements) {}
     65        permutation(Elements const& elements_)
     66          : elements(elements_) {}
    6767
    6868        template <typename Iterator, typename Context
    6969          , typename Skipper, typename Attribute>
    namespace boost { namespace spirit { namespace qi  
    8282            }
    8383
    8484            // wrap the attribute in a tuple if it is not a tuple
    85             typename traits::wrap_if_not_tuple<Attribute>::type attr(attr_);
     85            typename traits::wrap_if_not_tuple<Attribute>::type attr_local(attr_);
    8686
    8787            // We have a bool array 'flags' with one flag for each parser.
    8888            // permute_function sets the slot to true when the corresponding
    namespace boost { namespace spirit { namespace qi  
    9191
    9292            bool result = false;
    9393            f.taken = flags.begin();
    94             while (spirit::any_if_ns(elements, attr, f, predicate()))
     94            while (spirit::any_if_ns(elements, attr_local, f, predicate()))
    9595            {
    9696                f.taken = flags.begin();
    9797                result = true;
  • boost/spirit/home/qi/operator/plus.hpp

    diff --git a/boost/spirit/home/qi/operator/plus.hpp b/boost/spirit/home/qi/operator/plus.hpp
    index 780403a..3c08d1f 100644
    a b namespace boost { namespace spirit { namespace qi  
    5353            type;
    5454        };
    5555
    56         plus(Subject const& subject)
    57           : subject(subject) {}
     56        plus(Subject const& subject_)
     57          : subject(subject_) {}
    5858
    5959        template <typename F>
    6060        bool parse_container(F f) const
    namespace boost { namespace spirit { namespace qi  
    7272          , typename Skipper, typename Attribute>
    7373        bool parse(Iterator& first, Iterator const& last
    7474          , Context& context, Skipper const& skipper
    75           , Attribute& attr) const
     75          , Attribute& attr_) const
    7676        {
    7777            typedef detail::fail_function<Iterator, Context, Skipper>
    7878                fail_function;
    7979
    8080            // ensure the attribute is actually a container type
    81             traits::make_container(attr);
     81            traits::make_container(attr_);
    8282
    8383            Iterator iter = first;
    8484            fail_function f(iter, last, context, skipper);
    85             if (!parse_container(detail::make_pass_container(f, attr)))
     85            if (!parse_container(detail::make_pass_container(f, attr_)))
    8686                return false;
    8787
    8888            first = f.first;
  • boost/spirit/home/qi/operator/sequence_base.hpp

    diff --git a/boost/spirit/home/qi/operator/sequence_base.hpp b/boost/spirit/home/qi/operator/sequence_base.hpp
    index 35f45df..921cf53 100644
    a b namespace boost { namespace spirit { namespace qi  
    6060            type;
    6161        };
    6262
    63         sequence_base(Elements const& elements)
    64           : elements(elements) {}
     63        sequence_base(Elements const& elements_)
     64          : elements(elements_) {}
    6565
    6666        // standard case. Attribute is a fusion tuple
    6767        template <typename Iterator, typename Context
    namespace boost { namespace spirit { namespace qi  
    8181                    traits::one_element_sequence<attr_type_>
    8282                  , mpl::not_<traits::one_element_sequence<Attribute> >
    8383                >::type
    84             >::type attr(attr_);
     84            >::type attr_local(attr_);
    8585
    8686            // return false if *any* of the parsers fail
    87             if (spirit::any_if(elements, attr
     87            if (spirit::any_if(elements, attr_local
    8888              , Derived::fail_function(iter, last, context, skipper), predicate()))
    8989                return false;
    9090            first = iter;
    namespace boost { namespace spirit { namespace qi  
    118118          , typename Skipper, typename Attribute>
    119119        bool parse(Iterator& first, Iterator const& last
    120120          , Context& context, Skipper const& skipper
    121           , Attribute& attr) const
     121          , Attribute& attr_) const
    122122        {
    123             return parse_impl(first, last, context, skipper, attr
     123            return parse_impl(first, last, context, skipper, attr_
    124124              , traits::is_container<Attribute>());
    125125        }
    126126
  • boost/spirit/home/qi/operator/sequential_or.hpp

    diff --git a/boost/spirit/home/qi/operator/sequential_or.hpp b/boost/spirit/home/qi/operator/sequential_or.hpp
    index 80b86f3..be0135e 100644
    a b namespace boost { namespace spirit { namespace qi  
    5757            type;
    5858        };
    5959
    60         sequential_or(Elements const& elements)
    61           : elements(elements) {}
     60        sequential_or(Elements const& elements_)
     61          : elements(elements_) {}
    6262
    6363        template <typename Iterator, typename Context
    6464          , typename Skipper, typename Attribute>
    namespace boost { namespace spirit { namespace qi  
    7171                f(first, last, context, skipper);
    7272
    7373            // wrap the attribute in a tuple if it is not a tuple
    74             typename traits::wrap_if_not_tuple<Attribute>::type attr(attr_);
     74            typename traits::wrap_if_not_tuple<Attribute>::type attr_local(attr_);
    7575
    7676            // return true if *any* of the parsers succeed
    7777            // (we use the non-short-circuiting version: any_if_ns
    7878            // to force all elements to be tested)
    79             return spirit::any_if_ns(elements, attr, f, predicate());
     79            return spirit::any_if_ns(elements, attr_local, f, predicate());
    8080        }
    8181
    8282        template <typename Context>
  • boost/spirit/home/qi/parse_attr.hpp

    diff --git a/boost/spirit/home/qi/parse_attr.hpp b/boost/spirit/home/qi/parse_attr.hpp
    index 1933ffb..6db3300 100644
    a b namespace boost { namespace spirit { namespace qi  
    6262            BOOST_PP_ENUM(N, BOOST_SPIRIT_QI_ATTRIBUTE_REFERENCE, A)
    6363        > vector_type;
    6464
    65         vector_type attr (BOOST_PP_ENUM_PARAMS(N, attr));
    66         return compile<qi::domain>(expr).parse(first, last, unused, unused, attr);
     65        vector_type lattr (BOOST_PP_ENUM_PARAMS(N, attr));
     66        return compile<qi::domain>(expr).parse(first, last, unused, unused, lattr);
    6767    }
    6868
    6969    template <typename Iterator, typename Expr
    namespace boost { namespace spirit { namespace qi  
    113113            BOOST_PP_ENUM(N, BOOST_SPIRIT_QI_ATTRIBUTE_REFERENCE, A)
    114114        > vector_type;
    115115
    116         vector_type attr (BOOST_PP_ENUM_PARAMS(N, attr));
     116        vector_type lattr (BOOST_PP_ENUM_PARAMS(N, attr));
    117117        if (!compile<qi::domain>(expr).parse(
    118                 first, last, unused, skipper_, attr))
     118                first, last, unused, skipper_, lattr))
    119119            return false;
    120120
    121121        if (post_skip == skip_flag::postskip)
  • boost/spirit/home/qi/reference.hpp

    diff --git a/boost/spirit/home/qi/reference.hpp b/boost/spirit/home/qi/reference.hpp
    index f6fcabc..f1f5c67 100644
    a b namespace boost { namespace spirit { namespace qi  
    3838          , typename Skipper, typename Attribute>
    3939        bool parse(Iterator& first, Iterator const& last
    4040          , Context& context, Skipper const& skipper
    41           , Attribute& attr) const
     41          , Attribute& attr_) const
    4242        {
    43             return ref.get().parse(first, last, context, skipper, attr);
     43            return ref.get().parse(first, last, context, skipper, attr_);
    4444        }
    4545
    4646        template <typename Context>
  • boost/spirit/home/qi/stream/stream.hpp

    diff --git a/boost/spirit/home/qi/stream/stream.hpp b/boost/spirit/home/qi/stream/stream.hpp
    index 952f2f9..555f28d 100644
    a b namespace boost { namespace spirit { namespace qi  
    5858          , typename Skipper, typename Attribute>
    5959        bool parse(Iterator& first, Iterator const& last
    6060          , Context& /*context*/, Skipper const& skipper
    61           , Attribute& attr) const
     61          , Attribute& attr_) const
    6262        {
    6363            typedef qi::detail::iterator_source<Iterator> source_device;
    6464            typedef boost::iostreams::stream<source_device> instream;
    namespace boost { namespace spirit { namespace qi  
    6666            qi::skip_over(first, last, skipper);
    6767
    6868            instream in(first, last);         // copies 'first'
    69             in >> attr;                       // use existing operator>>()
     69            in >> attr_;                       // use existing operator>>()
    7070
    7171            // advance the iterator if everything is ok
    7272            if (in.good()) {
  • boost/spirit/home/qi/string/detail/tst.hpp

    diff --git a/boost/spirit/home/qi/string/detail/tst.hpp b/boost/spirit/home/qi/string/detail/tst.hpp
    index 989477d..168e4cf 100644
    a b namespace boost { namespace spirit { namespace qi { namespace detail  
    2424    template <typename Char, typename T>
    2525    struct tst_node
    2626    {
    27         tst_node(Char id)
    28           : id(id), data(0), lt(0), eq(0), gt(0)
     27        tst_node(Char id_)
     28          : id(id_), data(0), lt(0), eq(0), gt(0)
    2929        {
    3030        }
    3131
  • boost/spirit/home/qi/string/lit.hpp

    diff --git a/boost/spirit/home/qi/string/lit.hpp b/boost/spirit/home/qi/string/lit.hpp
    index 1b966c3..1e16361 100644
    a b namespace boost { namespace spirit { namespace qi  
    8989        char_type;
    9090        typedef std::basic_string<char_type> string_type;
    9191
    92         literal_string(typename add_reference<String>::type str)
    93           : str(str)
     92        literal_string(typename add_reference<String>::type str_)
     93          : str(str_)
    9494        {}
    9595
    9696        template <typename Context, typename Iterator>
    namespace boost { namespace spirit { namespace qi  
    104104        template <typename Iterator, typename Context
    105105          , typename Skipper, typename Attribute>
    106106        bool parse(Iterator& first, Iterator const& last
    107           , Context& /*context*/, Skipper const& skipper, Attribute& attr) const
     107          , Context& /*context*/, Skipper const& skipper, Attribute& attr_) const
    108108        {
    109109            qi::skip_over(first, last, skipper);
    110             return detail::string_parse(str, first, last, attr);
     110            return detail::string_parse(str, first, last, attr_);
    111111        }
    112112
    113113        template <typename Context>
    namespace boost { namespace spirit { namespace qi  
    163163        template <typename Iterator, typename Context
    164164          , typename Skipper, typename Attribute>
    165165        bool parse(Iterator& first, Iterator const& last
    166           , Context& /*context*/, Skipper const& skipper, Attribute& attr) const
     166          , Context& /*context*/, Skipper const& skipper, Attribute& attr_) const
    167167        {
    168168            qi::skip_over(first, last, skipper);
    169             return detail::string_parse(str_lo, str_hi, first, last, attr);
     169            return detail::string_parse(str_lo, str_hi, first, last, attr_);
    170170        }
    171171
    172172        template <typename Context>
  • boost/spirit/home/qi/string/symbols.hpp

    diff --git a/boost/spirit/home/qi/string/symbols.hpp b/boost/spirit/home/qi/string/symbols.hpp
    index a9656f1..ae38892 100644
    a b public:  
    257257        template <typename Iterator, typename Context
    258258          , typename Skipper, typename Attribute>
    259259        bool parse(Iterator& first, Iterator const& last
    260           , Context& /*context*/, Skipper const& skipper, Attribute& attr) const
     260          , Context& /*context*/, Skipper const& skipper, Attribute& attr_) const
    261261        {
    262262            qi::skip_over(first, last, skipper);
    263263
    264264            if (value_type* val_ptr
    265265                = lookup->find(first, last, Filter()))
    266266            {
    267                 spirit::traits::assign_to(*val_ptr, attr);
     267                spirit::traits::assign_to(*val_ptr, attr_);
    268268                return true;
    269269            }
    270270            return false;
    public:  
    290290            template <typename, typename = unused_type, typename = unused_type>
    291291            struct result { typedef adder const& type; };
    292292
    293             adder(symbols& sym)
    294               : sym(sym)
     293            adder(symbols& sym_)
     294              : sym(sym_)
    295295            {
    296296            }
    297297
    public:  
    333333            template <typename, typename = unused_type, typename = unused_type>
    334334            struct result { typedef remover const& type; };
    335335
    336             remover(symbols& sym)
    337               : sym(sym)
     336            remover(symbols& sym_)
     337              : sym(sym_)
    338338            {
    339339            }
    340340
  • boost/spirit/home/support/attributes.hpp

    diff --git a/boost/spirit/home/support/attributes.hpp b/boost/spirit/home/support/attributes.hpp
    index 48bff06..0efb2d5 100644
    a b namespace boost { namespace spirit { namespace traits  
    11581158        template <typename Out>
    11591159        struct print_fusion_sequence
    11601160        {
    1161             print_fusion_sequence(Out& out)
    1162               : out(out), is_first(true) {}
     1161            print_fusion_sequence(Out& out_)
     1162              : out(out_), is_first(true) {}
    11631163
    11641164            typedef void result_type;
    11651165
    namespace boost { namespace spirit { namespace traits  
    11811181        template <typename Out>
    11821182        struct print_visitor : static_visitor<>
    11831183        {
    1184             print_visitor(Out& out) : out(out) {}
     1184            print_visitor(Out& out_) : out(out_) {}
    11851185
    11861186            template <typename T>
    11871187            void operator()(T const& val) const
  • boost/spirit/home/support/char_set/range.hpp

    diff --git a/boost/spirit/home/support/char_set/range.hpp b/boost/spirit/home/support/char_set/range.hpp
    index 6d1f661..1973889 100644
    a b namespace boost { namespace spirit { namespace support { namespace detail  
    2222        typedef T value_type;
    2323
    2424        range() : first(), last() {}
    25         range(T first, T last) : first(first), last(last) {}
     25        range(T first_, T last_) : first(first_), last(last_) {}
    2626
    2727        T first;
    2828        T last;
  • boost/spirit/home/support/context.hpp

    diff --git a/boost/spirit/home/support/context.hpp b/boost/spirit/home/support/context.hpp
    index b728b4f..9c9715f 100644
    a b namespace boost { namespace spirit  
    116116            )
    117117          , locals() {}
    118118
    119         context(Attributes const& attributes)
    120           : attributes(attributes), locals() {}
     119        context(Attributes const& attributes_)
     120          : attributes(attributes_), locals() {}
    121121
    122122        Attributes attributes;  // The attributes
    123123        Locals locals;          // Local variables
  • boost/spirit/home/support/detail/what_function.hpp

    diff --git a/boost/spirit/home/support/detail/what_function.hpp b/boost/spirit/home/support/detail/what_function.hpp
    index d9678dd..179807b 100644
    a b namespace boost { namespace spirit { namespace detail  
    2020    template <typename Context>
    2121    struct what_function
    2222    {
    23         what_function(info& what, Context& context)
    24           : what(what), context(context)
     23        what_function(info& what_, Context& context_)
     24          : what(what_), context(context_)
    2525        {
    2626            what.value = std::list<info>();
    2727        }
  • boost/spirit/home/support/info.hpp

    diff --git a/boost/spirit/home/support/info.hpp b/boost/spirit/home/support/info.hpp
    index 0701888..a44fab4 100644
    a b namespace boost { namespace spirit  
    4040            >
    4141        value_type;
    4242
    43         explicit info(utf8_string const& tag)
    44           : tag(tag), value(nil()) {}
     43        explicit info(utf8_string const& tag_)
     44          : tag(tag_), value(nil()) {}
    4545
    4646        template <typename T>
    47         info(utf8_string const& tag, T const& value)
    48           : tag(tag), value(value) {}
     47        info(utf8_string const& tag_, T const& value_)
     48          : tag(tag_), value(value_) {}
    4949
    50         info(utf8_string const& tag, char value)
    51           : tag(tag), value(utf8_string(1, value)) {}
     50        info(utf8_string const& tag_, char value_)
     51          : tag(tag_), value(utf8_string(1, value_)) {}
    5252
    53         info(utf8_string const& tag, wchar_t value)
    54           : tag(tag), value(to_utf8(value)) {}
     53        info(utf8_string const& tag_, wchar_t value_)
     54          : tag(tag_), value(to_utf8(value_)) {}
    5555
    56         info(utf8_string const& tag, ucs4_char value)
    57           : tag(tag), value(to_utf8(value)) {}
     56        info(utf8_string const& tag_, ucs4_char value_)
     57          : tag(tag_), value(to_utf8(value_)) {}
    5858
    5959        template <typename Char>
    60         info(utf8_string const& tag, Char const* str)
    61           : tag(tag), value(to_utf8(str)) {}
     60        info(utf8_string const& tag_, Char const* str)
     61          : tag(tag_), value(to_utf8(str)) {}
    6262
    6363        template <typename Char, typename Traits, typename Allocator>
    64         info(utf8_string const& tag
     64        info(utf8_string const& tag_
    6565              , std::basic_string<Char, Traits, Allocator> const& str)
    66           : tag(tag), value(to_utf8(str)) {}
     66          : tag(tag_), value(to_utf8(str)) {}
    6767
    6868        utf8_string tag;
    6969        value_type value;
    namespace boost { namespace spirit  
    7575        typedef void result_type;
    7676        typedef basic_info_walker<Callback> this_type;
    7777
    78         basic_info_walker(Callback& callback, utf8_string const& tag, int depth)
    79           : callback(callback), tag(tag), depth(depth) {}
     78        basic_info_walker(Callback& callback_, utf8_string const& tag_, int depth_)
     79          : callback(callback_), tag(tag_), depth(depth_) {}
    8080
    8181        void operator()(info::nil) const
    8282        {
    namespace boost { namespace spirit  
    128128    {
    129129        typedef utf8_string string;
    130130
    131         simple_printer(Out& out)
    132           : out(out) {}
     131        simple_printer(Out& out_)
     132          : out(out_) {}
    133133
    134134        void element(string const& tag, string const& value, int /*depth*/) const
    135135        {
  • boost/spirit/home/support/nonterminal/expand_arg.hpp

    diff --git a/boost/spirit/home/support/nonterminal/expand_arg.hpp b/boost/spirit/home/support/nonterminal/expand_arg.hpp
    index f037acc..f214096 100644
    a b namespace boost { namespace spirit { namespace detail  
    5050        struct result<F(A0&)>
    5151          : result_type<A0> {};
    5252
    53         expand_arg(Context& context)
    54           : context(context)
     53        expand_arg(Context& context_)
     54          : context(context_)
    5555        {
    5656        }
    5757
  • boost/spirit/home/support/terminal.hpp

    diff --git a/boost/spirit/home/support/terminal.hpp b/boost/spirit/home/support/terminal.hpp
    index d52fad2..f9b23de 100644
    a b namespace boost { namespace spirit  
    3333        typedef Terminal terminal_type;
    3434        typedef Args args_type;
    3535
    36         terminal_ex(Args const& args)
    37           : args(args) {}
    38         terminal_ex(Args const& args, Terminal const& term)
    39           : args(args), term(term) {}
     36        terminal_ex(Args const& args_)
     37          : args(args_) {}
     38        terminal_ex(Args const& args_, Terminal const& term_)
     39          : args(args_), term(term_) {}
    4040
    4141        Args args;  // Args is guaranteed to be a fusion::vectorN so you
    4242                    // can use that template for detection and specialization
    namespace boost { namespace spirit  
    5050        typedef Actor actor_type;
    5151        static int const arity = Arity;
    5252
    53         lazy_terminal(Actor const& actor)
    54           : actor(actor) {}
    55         lazy_terminal(Actor const& actor, Terminal const& term)
    56           : actor(actor), term(term) {}
     53        lazy_terminal(Actor const& actor_)
     54          : actor(actor_) {}
     55        lazy_terminal(Actor const& actor_, Terminal const& term_)
     56          : actor(actor_), term(term_) {}
    5757
    5858        Actor actor;
    5959        Terminal term;
    namespace boost { namespace spirit  
    104104        typedef result_type type;
    105105
    106106        result_type
    107         operator()(F f, A0 const& _0) const
     107        operator()(F f, A0 const& _0_) const
    108108        {
    109109            typedef typename result_type::proto_child0 child_type;
    110110            return result_type::make(child_type(
    111                 phoenix::detail::expression::function_eval<F, A0>::make(f, _0)
     111                phoenix::detail::expression::function_eval<F, A0>::make(f, _0_)
    112112              , f.proto_base().child0
    113113            ));
    114114        }
    namespace boost { namespace spirit  
    129129        typedef result_type type;
    130130
    131131        result_type
    132         operator()(F f, A0 const& _0, A1 const& _1) const
     132        operator()(F f, A0 const& _0_, A1 const& _1_) const
    133133        {
    134134            typedef typename result_type::proto_child0 child_type;
    135135            return result_type::make(child_type(
    136                 phoenix::detail::expression::function_eval<F, A0, A1>::make(f, _0, _1)
     136                phoenix::detail::expression::function_eval<F, A0, A1>::make(f, _0_, _1_)
    137137              , f.proto_base().child0
    138138            ));
    139139        }
    namespace boost { namespace spirit  
    154154        typedef result_type type;
    155155
    156156        result_type
    157         operator()(F f, A0 const& _0, A1 const& _1, A2 const& _2) const
     157        operator()(F f, A0 const& _0_, A1 const& _1_, A2 const& _2_) const
    158158        {
    159159            typedef typename result_type::proto_child0 child_type;
    160160            return result_type::make(child_type(
    161                 phoenix::detail::expression::function_eval<F, A0, A1, A2>::make(f, _0, _1, _2)
     161                phoenix::detail::expression::function_eval<F, A0, A1, A2>::make(f, _0_, _1_, _2_)
    162162              , f.proto_base().child0
    163163            ));
    164164        }
    namespace boost { namespace spirit  
    368368
    369369        template <typename A0>
    370370        typename result<A0>::type
    371         operator()(A0 const& _0
     371        operator()(A0 const& _0_
    372372          , typename detail::contains_actor<A0>::is_false = 0) const
    373373        {
    374374            typedef typename result<A0>::type result_type;
    375375            typedef typename result_type::proto_child0 child_type;
    376376            return result_type::make(
    377377                child_type(
    378                     detail::make_vector(_0)
     378                    detail::make_vector(_0_)
    379379                  , this->proto_base().child0)
    380380            );
    381381        }
    382382
    383383        template <typename A0, typename A1>
    384384        typename result<A0, A1>::type
    385         operator()(A0 const& _0, A1 const& _1
     385        operator()(A0 const& _0_, A1 const& _1_
    386386          , typename detail::contains_actor<A0, A1>::is_false = 0) const
    387387        {
    388388            typedef typename result<A0, A1>::type result_type;
    389389            typedef typename result_type::proto_child0 child_type;
    390390            return result_type::make(
    391391                child_type(
    392                     detail::make_vector(_0, _1)
     392                    detail::make_vector(_0_, _1_)
    393393                  , this->proto_base().child0)
    394394            );
    395395        }
    396396
    397397        template <typename A0, typename A1, typename A2>
    398398        typename result<A0, A1, A2>::type
    399         operator()(A0 const& _0, A1 const& _1, A2 const& _2
     399        operator()(A0 const& _0_, A1 const& _1_, A2 const& _2_
    400400          , typename detail::contains_actor<A0, A1, A2>::is_false = 0) const
    401401        {
    402402            typedef typename result<A0, A1, A2>::type result_type;
    403403            typedef typename result_type::proto_child0 child_type;
    404404            return result_type::make(
    405405                child_type(
    406                     detail::make_vector(_0, _1, _2)
     406                    detail::make_vector(_0_, _1_, _2_)
    407407                  , this->proto_base().child0)
    408408            );
    409409        }
    namespace boost { namespace spirit  
    412412        // least one arg is a Phoenix actor.
    413413        template <typename A0>
    414414        typename result<A0>::type
    415         operator()(A0 const& _0
     415        operator()(A0 const& _0_
    416416          , typename detail::contains_actor<A0>::is_true = 0) const
    417417        {
    418418            return make_lazy<this_type
    419419              , typename phoenix::as_actor<A0>::type>()(*this
    420               , phoenix::as_actor<A0>::convert(_0));
     420              , phoenix::as_actor<A0>::convert(_0_));
    421421        }
    422422
    423423        template <typename A0, typename A1>
    424424        typename result<A0, A1>::type
    425         operator()(A0 const& _0, A1 const& _1
     425        operator()(A0 const& _0_, A1 const& _1_
    426426          , typename detail::contains_actor<A0, A1>::is_true = 0) const
    427427        {
    428428            return make_lazy<this_type
    429429              , typename phoenix::as_actor<A0>::type
    430430              , typename phoenix::as_actor<A1>::type>()(*this
    431               , phoenix::as_actor<A0>::convert(_0)
    432               , phoenix::as_actor<A1>::convert(_1));
     431              , phoenix::as_actor<A0>::convert(_0_)
     432              , phoenix::as_actor<A1>::convert(_1_));
    433433        }
    434434
    435435        template <typename A0, typename A1, typename A2>
    436436        typename result<A0, A1, A2>::type
    437         operator()(A0 const& _0, A1 const& _1, A2 const& _2
     437        operator()(A0 const& _0_, A1 const& _1_, A2 const& _2_
    438438          , typename detail::contains_actor<A0, A1, A2>::is_true = 0) const
    439439        {
    440440            return make_lazy<this_type
    441441              , typename phoenix::as_actor<A0>::type
    442442              , typename phoenix::as_actor<A1>::type
    443443              , typename phoenix::as_actor<A2>::type>()(*this
    444               , phoenix::as_actor<A0>::convert(_0)
    445               , phoenix::as_actor<A1>::convert(_1)
    446               , phoenix::as_actor<A2>::convert(_2));
     444              , phoenix::as_actor<A0>::convert(_0_)
     445              , phoenix::as_actor<A1>::convert(_1_)
     446              , phoenix::as_actor<A2>::convert(_2_));
    447447        }
    448448
    449449    private: