|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r57504 - in trunk/boost/spirit/home: karma/auxiliary karma/binary karma/char karma/detail karma/directive karma/nonterminal karma/numeric karma/numeric/detail karma/operator karma/stream karma/stream/detail karma/string lex/detail lex/lexer lex/lexer/lexertl lex/qi qi/action qi/auxiliary qi/binary qi/char qi/detail qi/directive qi/nonterminal qi/numeric qi/numeric/detail qi/operator qi/stream/detail qi/string qi/string/detail support support/detail support/iterators/detail support/nonterminal
From: hartmut.kaiser_at_[hidden]
Date: 2009-11-08 23:01:22
Author: hkaiser
Date: 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
New Revision: 57504
URL: http://svn.boost.org/trac/boost/changeset/57504
Log:
Spirit: silencing MSVC warnings
Text files modified:
trunk/boost/spirit/home/karma/auxiliary/eol.hpp | 4 ++--
trunk/boost/spirit/home/karma/auxiliary/eps.hpp | 8 ++++----
trunk/boost/spirit/home/karma/auxiliary/lazy.hpp | 4 ++++
trunk/boost/spirit/home/karma/binary/binary.hpp | 23 +++++++++++++++++++++--
trunk/boost/spirit/home/karma/binary/padding.hpp | 2 +-
trunk/boost/spirit/home/karma/char/char.hpp | 4 ++--
trunk/boost/spirit/home/karma/char/char_class.hpp | 4 ++--
trunk/boost/spirit/home/karma/detail/alternative_function.hpp | 23 ++++++++++++++++++++---
trunk/boost/spirit/home/karma/detail/fail_function.hpp | 12 ++++++++++++
trunk/boost/spirit/home/karma/detail/output_iterator.hpp | 12 ++++++------
trunk/boost/spirit/home/karma/detail/pass_container.hpp | 4 ++++
trunk/boost/spirit/home/karma/detail/string_generate.hpp | 4 ++--
trunk/boost/spirit/home/karma/detail/unused_delimiter.hpp | 4 ++++
trunk/boost/spirit/home/karma/directive/center_alignment.hpp | 4 ++++
trunk/boost/spirit/home/karma/directive/left_alignment.hpp | 4 ++++
trunk/boost/spirit/home/karma/directive/maxwidth.hpp | 8 ++++++--
trunk/boost/spirit/home/karma/directive/omit.hpp | 4 ++--
trunk/boost/spirit/home/karma/directive/repeat.hpp | 14 +++++++++++++-
trunk/boost/spirit/home/karma/directive/right_alignment.hpp | 4 ++++
trunk/boost/spirit/home/karma/nonterminal/rule.hpp | 2 +-
trunk/boost/spirit/home/karma/numeric/bool.hpp | 4 ++--
trunk/boost/spirit/home/karma/numeric/bool_policies.hpp | 4 ++--
trunk/boost/spirit/home/karma/numeric/detail/bool_utils.hpp | 7 +++++++
trunk/boost/spirit/home/karma/numeric/int.hpp | 4 ++--
trunk/boost/spirit/home/karma/numeric/real.hpp | 4 ++--
trunk/boost/spirit/home/karma/numeric/uint.hpp | 4 ++--
trunk/boost/spirit/home/karma/operator/alternative.hpp | 2 +-
trunk/boost/spirit/home/karma/stream/detail/format_manip.hpp | 8 ++++++++
trunk/boost/spirit/home/karma/stream/detail/iterator_sink.hpp | 4 ++++
trunk/boost/spirit/home/karma/stream/stream.hpp | 5 ++++-
trunk/boost/spirit/home/karma/string/lit.hpp | 4 ++--
trunk/boost/spirit/home/lex/detail/sequence_function.hpp | 8 ++++++++
trunk/boost/spirit/home/lex/lexer/action.hpp | 4 ++++
trunk/boost/spirit/home/lex/lexer/char_token_def.hpp | 2 +-
trunk/boost/spirit/home/lex/lexer/lexer.hpp | 13 ++++++++++++-
trunk/boost/spirit/home/lex/lexer/lexertl/functor.hpp | 10 +++++++---
trunk/boost/spirit/home/lex/lexer/lexertl/functor_data.hpp | 18 +++++++++++++++---
trunk/boost/spirit/home/lex/lexer/lexertl/generate_static.hpp | 14 +++++++++++---
trunk/boost/spirit/home/lex/lexer/lexertl/iterator_tokenizer.hpp | 6 +++++-
trunk/boost/spirit/home/lex/lexer/lexertl/lexer.hpp | 17 +++++++++++++++--
trunk/boost/spirit/home/lex/lexer/lexertl/semantic_action_data.hpp | 2 +-
trunk/boost/spirit/home/lex/lexer/lexertl/static_functor_data.hpp | 18 +++++++++++++++---
trunk/boost/spirit/home/lex/lexer/lexertl/static_lexer.hpp | 40 +++++++++++++++++++++++++++-------------
trunk/boost/spirit/home/lex/lexer/lexertl/token.hpp | 8 ++++++--
trunk/boost/spirit/home/lex/lexer/string_token_def.hpp | 2 +-
trunk/boost/spirit/home/lex/lexer/token_def.hpp | 9 +++++----
trunk/boost/spirit/home/lex/qi/state_switcher.hpp | 10 +++++++++-
trunk/boost/spirit/home/qi/action/action.hpp | 4 ++++
trunk/boost/spirit/home/qi/auxiliary/attr.hpp | 10 +++++++---
trunk/boost/spirit/home/qi/auxiliary/attr_cast.hpp | 4 ++++
trunk/boost/spirit/home/qi/auxiliary/eoi.hpp | 6 +++---
trunk/boost/spirit/home/qi/auxiliary/eol.hpp | 6 +++---
trunk/boost/spirit/home/qi/auxiliary/eps.hpp | 12 ++++++------
trunk/boost/spirit/home/qi/binary/binary.hpp | 19 +++++++++++++++----
trunk/boost/spirit/home/qi/char/char.hpp | 31 +++++++++++++++++--------------
trunk/boost/spirit/home/qi/detail/alternative_function.hpp | 8 ++++++++
trunk/boost/spirit/home/qi/detail/assign_to.hpp | 2 +-
trunk/boost/spirit/home/qi/detail/expect_function.hpp | 17 +++++++++++++----
trunk/boost/spirit/home/qi/detail/fail_function.hpp | 4 ++++
trunk/boost/spirit/home/qi/detail/pass_container.hpp | 6 +++++-
trunk/boost/spirit/home/qi/detail/pass_function.hpp | 4 ++++
trunk/boost/spirit/home/qi/detail/permute_function.hpp | 4 ++++
trunk/boost/spirit/home/qi/detail/unused_skipper.hpp | 4 ++++
trunk/boost/spirit/home/qi/directive/omit.hpp | 4 ++++
trunk/boost/spirit/home/qi/directive/repeat.hpp | 18 +++++++++++++++++-
trunk/boost/spirit/home/qi/nonterminal/debug_handler.hpp | 2 +-
trunk/boost/spirit/home/qi/nonterminal/error_handler.hpp | 8 ++++----
trunk/boost/spirit/home/qi/nonterminal/rule.hpp | 2 +-
trunk/boost/spirit/home/qi/numeric/bool.hpp | 4 ++++
trunk/boost/spirit/home/qi/numeric/detail/numeric_utils.hpp | 4 ++--
trunk/boost/spirit/home/qi/operator/expect.hpp | 11 +++++++++--
trunk/boost/spirit/home/qi/stream/detail/iterator_source.hpp | 4 ++++
trunk/boost/spirit/home/qi/stream/detail/match_manip.hpp | 8 ++++++++
trunk/boost/spirit/home/qi/string/detail/tst.hpp | 2 +-
trunk/boost/spirit/home/qi/string/lit.hpp | 18 +++++++++++++-----
trunk/boost/spirit/home/qi/string/symbols.hpp | 14 +++++++++++---
trunk/boost/spirit/home/support/attributes.hpp | 2 +-
trunk/boost/spirit/home/support/char_class.hpp | 6 +++---
trunk/boost/spirit/home/support/detail/what_function.hpp | 8 ++++++++
trunk/boost/spirit/home/support/info.hpp | 10 +++++++++-
trunk/boost/spirit/home/support/iterators/detail/split_functor_input_policy.hpp | 4 ++++
trunk/boost/spirit/home/support/make_component.hpp | 2 +-
trunk/boost/spirit/home/support/modify.hpp | 2 +-
trunk/boost/spirit/home/support/multi_pass_wrapper.hpp | 2 +-
trunk/boost/spirit/home/support/nonterminal/expand_arg.hpp | 4 ++++
trunk/boost/spirit/home/support/terminal.hpp | 12 ++++++++++++
86 files changed, 521 insertions(+), 150 deletions(-)
Modified: trunk/boost/spirit/home/karma/auxiliary/eol.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/auxiliary/eol.hpp (original)
+++ trunk/boost/spirit/home/karma/auxiliary/eol.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -48,14 +48,14 @@
typename OutputIterator, typename Context, typename Delimiter
, typename Attribute>
static bool generate(OutputIterator& sink, Context&, Delimiter const& d
- , Attribute const& attr)
+ , Attribute const& /*attr*/)
{
return detail::generate_to(sink, '\n') &&
karma::delimit_out(sink, d); // always do post-delimiting
}
template <typename Context>
- info what(Context const& ctx) const
+ info what(Context const& /*context*/) const
{
return info("eol");
}
Modified: trunk/boost/spirit/home/karma/auxiliary/eps.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/auxiliary/eps.hpp (original)
+++ trunk/boost/spirit/home/karma/auxiliary/eps.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -60,13 +60,13 @@
typename OutputIterator, typename Context, typename Delimiter
, typename Attribute>
static bool generate(OutputIterator& sink, Context&, Delimiter const& d
- , Attribute const& attr)
+ , Attribute const& /*attr*/)
{
return karma::delimit_out(sink, d); // always do post-delimiting
}
template <typename Context>
- info what(Context const& ctx) const
+ info what(Context const& /*context*/) const
{
return info("eps");
}
@@ -88,14 +88,14 @@
typename OutputIterator, typename Context, typename Delimiter
, typename Attribute>
bool generate(OutputIterator& sink, Context&, Delimiter const& d
- , Attribute const& attr) const
+ , Attribute const& /*attr*/) const
{
// only do post-delimiting when predicate is true
return predicate_ && karma::delimit_out(sink, d);
}
template <typename Context>
- info what(Context const& ctx) const
+ info what(Context const& /*context*/) const
{
return info("semantic-predicate");
}
Modified: trunk/boost/spirit/home/karma/auxiliary/lazy.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/auxiliary/lazy.hpp (original)
+++ trunk/boost/spirit/home/karma/auxiliary/lazy.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -103,6 +103,10 @@
Function func;
Modifiers modifiers;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ lazy_generator& operator= (lazy_generator const&);
};
///////////////////////////////////////////////////////////////////////////
Modified: trunk/boost/spirit/home/karma/binary/binary.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/binary/binary.hpp (original)
+++ trunk/boost/spirit/home/karma/binary/binary.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -27,6 +27,7 @@
#include <boost/mpl/or.hpp>
#include <boost/type_traits/is_integral.hpp>
#include <boost/type_traits/is_enum.hpp>
+#include <boost/config.hpp>
///////////////////////////////////////////////////////////////////////////////
#define BOOST_SPIRIT_ENABLE_BINARY(name) \
@@ -192,7 +193,17 @@
boost::integer::endian<
endian, typename karma::detail::integer<bits>::type, bits
> p;
+
+#if defined(BOOST_MSVC)
+// warning C4244: 'argument' : conversion from 'const int' to 'foo', possible loss of data
+#pragma warning(push)
+#pragma warning(disable: 4244)
+#endif
p = traits::extract_from(attr, context);
+#if defined(BOOST_MSVC)
+#pragma warning(pop)
+#endif
+
unsigned char const* bytes =
reinterpret_cast<unsigned char const*>(&p);
@@ -221,7 +232,7 @@
}
template <typename Context>
- static info what(Context const& ctx)
+ static info what(Context const& /*context*/)
{
return karma::detail::what<endian>::is();
}
@@ -241,7 +252,15 @@
template <typename T>
literal_binary_generator(T const& t)
{
+#if defined(BOOST_MSVC)
+// warning C4244: 'argument' : conversion from 'const int' to 'foo', possible loss of data
+#pragma warning(push)
+#pragma warning(disable: 4244)
+#endif
data_ = t;
+#if defined(BOOST_MSVC)
+#pragma warning(pop)
+#endif
}
template <
@@ -266,7 +285,7 @@
}
template <typename Context>
- static info what(Context const& ctx)
+ static info what(Context const& /*context*/)
{
return karma::detail::what<endian>::is();
}
Modified: trunk/boost/spirit/home/karma/binary/padding.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/binary/padding.hpp (original)
+++ trunk/boost/spirit/home/karma/binary/padding.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -67,7 +67,7 @@
typename OutputIterator, typename Context, typename Delimiter
, typename Attribute>
bool generate(OutputIterator& sink, Context&, Delimiter const& d
- , Attribute const& attr) const
+ , Attribute const& /*attr*/) const
{
std::size_t count = sink.get_out_count() % numpadbytes_;
if (count)
Modified: trunk/boost/spirit/home/karma/char/char.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/char/char.hpp (original)
+++ trunk/boost/spirit/home/karma/char/char.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -131,7 +131,7 @@
}
template <typename Context>
- static info what(Context const& ctx)
+ static info what(Context const& /*context*/)
{
return info("any-char");
}
@@ -183,7 +183,7 @@
}
template <typename Context>
- info what(Context const& ctx) const
+ info what(Context const& /*context*/) const
{
return info("literal-char", char_encoding::toucs4(ch));
}
Modified: trunk/boost/spirit/home/karma/char/char_class.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/char/char_class.hpp (original)
+++ trunk/boost/spirit/home/karma/char/char_class.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -99,7 +99,7 @@
}
template <typename Context>
- static info what(Context const& ctx)
+ static info what(Context const& /*context*/)
{
typedef spirit::char_class::what<char_encoding> what_;
return info(what_::is(classification()));
@@ -144,7 +144,7 @@
}
template <typename Context>
- static info what(Context const& ctx)
+ static info what(Context const& /*context*/)
{
return info("space");
}
Modified: trunk/boost/spirit/home/karma/detail/alternative_function.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/detail/alternative_function.hpp (original)
+++ trunk/boost/spirit/home/karma/detail/alternative_function.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -25,6 +25,7 @@
#include <boost/type_traits/is_same.hpp>
#include <boost/type_traits/is_convertible.hpp>
#include <boost/variant.hpp>
+#include <boost/detail/workaround.hpp>
///////////////////////////////////////////////////////////////////////////////
namespace boost { namespace spirit { namespace karma { namespace detail
@@ -110,6 +111,9 @@
call(Component const& component, OutputIterator& sink, Context& ctx
, Delimiter const& d, unused_type)
{
+#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1600))
+ component; // suppresses warning: C4100: 'component' : unreferenced formal parameter
+#endif
// return true if any of the generators succeed
return component.generate(sink, ctx, d, unused);
}
@@ -139,6 +143,9 @@
call(Component const& component, OutputIterator& sink
, Context& ctx, Delimiter const& d, Attribute const& attr)
{
+#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1600))
+ component; // suppresses warning: C4100: 'component' : unreferenced formal parameter
+#endif
return call(component, sink, ctx, d, attr
, spirit::traits::not_is_variant<Attribute>());
}
@@ -148,6 +155,9 @@
call(Component const& component, OutputIterator& sink
, Context& ctx, Delimiter const& d, Attribute const& attr, mpl::true_)
{
+#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1600))
+ component; // suppresses warning: C4100: 'component' : unreferenced formal parameter
+#endif
return component.generate(sink, ctx, d, attr);
}
@@ -156,6 +166,9 @@
call(Component const& component, OutputIterator& sink
, Context& ctx, Delimiter const& d, Attribute const& attr, mpl::false_)
{
+#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1600))
+ component; // suppresses warning: C4100: 'component' : unreferenced formal parameter
+#endif
typedef
compute_compatible_component<Expected, Attribute>
component_type;
@@ -183,15 +196,15 @@
};
///////////////////////////////////////////////////////////////////////////
- // alternative_generate_functor: a functor supplied to fusion::any which
+ // alternative_generate_function: a functor supplied to fusion::any which
// will be executed for every generator in a given alternative generator
// expression
///////////////////////////////////////////////////////////////////////////
template <typename OutputIterator, typename Context, typename Delimiter,
typename Attribute>
- struct alternative_generate_functor
+ struct alternative_generate_function
{
- alternative_generate_functor(OutputIterator& sink_, Context& ctx_
+ alternative_generate_function(OutputIterator& sink_, Context& ctx_
, Delimiter const& d, Attribute const& attr_)
: sink(sink_), ctx(ctx_), delim(d), attr(attr_) {}
@@ -222,6 +235,10 @@
Context& ctx;
Delimiter const& delim;
Attribute const& attr;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ alternative_generate_function& operator= (alternative_generate_function const&);
};
}}}}
Modified: trunk/boost/spirit/home/karma/detail/fail_function.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/detail/fail_function.hpp (original)
+++ trunk/boost/spirit/home/karma/detail/fail_function.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -12,6 +12,7 @@
#endif
#include <boost/spirit/home/support/unused.hpp>
+#include <boost/config.hpp>
namespace boost { namespace spirit { namespace karma { namespace detail
{
@@ -25,6 +26,10 @@
: sink(sink_), ctx(context_), delim(delim_)
{}
+#if defined(BOOST_MSVC)
+#pragma warning(push)
+#pragma warning(disable: 4100) // warning C4100: 'component' : unreferenced formal parameter
+#endif
template <typename Component, typename Attribute>
bool operator()(Component const& component, Attribute const& attr) const
{
@@ -38,10 +43,17 @@
// return true if any of the generators fail
return !component.generate(sink, ctx, delim, unused);
}
+#if defined(BOOST_MSVC)
+#pragma warning(pop)
+#endif
OutputIterator& sink;
Context& ctx;
Delimiter const& delim;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ fail_function& operator= (fail_function const&);
};
}}}}
Modified: trunk/boost/spirit/home/karma/detail/output_iterator.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/detail/output_iterator.hpp (original)
+++ trunk/boost/spirit/home/karma/detail/output_iterator.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -82,10 +82,10 @@
struct no_position_policy
{
no_position_policy() {}
- no_position_policy(no_position_policy const& rhs) {}
+ no_position_policy(no_position_policy const&) {}
template <typename T>
- void output(T const& value) {}
+ void output(T const& /*value*/) {}
};
///////////////////////////////////////////////////////////////////////////
@@ -160,10 +160,10 @@
struct no_counting_policy
{
no_counting_policy() {}
- no_counting_policy(no_counting_policy const& rhs) {}
+ no_counting_policy(no_counting_policy const&) {}
template <typename T>
- void output(T const& value) {}
+ void output(T const& /*value*/) {}
};
///////////////////////////////////////////////////////////////////////////
@@ -281,10 +281,10 @@
struct no_buffering_policy
{
no_buffering_policy() {}
- no_buffering_policy(no_counting_policy const& rhs) {}
+ no_buffering_policy(no_counting_policy const&) {}
template <typename T>
- bool output(T const& value)
+ bool output(T const& /*value*/)
{
return true;
}
Modified: trunk/boost/spirit/home/karma/detail/pass_container.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/detail/pass_container.hpp (original)
+++ trunk/boost/spirit/home/karma/detail/pass_container.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -170,6 +170,10 @@
F f;
Attr const& attr;
mutable typename traits::container_iterator<Attr>::type iter;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ pass_container& operator= (pass_container const&);
};
// Utility function to make a pass_container
Modified: trunk/boost/spirit/home/karma/detail/string_generate.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/detail/string_generate.hpp (original)
+++ trunk/boost/spirit/home/karma/detail/string_generate.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -59,7 +59,7 @@
template <typename OutputIterator, typename Char, typename CharEncoding
, typename Tag>
inline bool string_generate(OutputIterator& sink, Char const* str
- , CharEncoding ce, Tag tag)
+ , CharEncoding, Tag)
{
for (Char ch = *str; ch != 0; ch = *++str)
{
@@ -91,7 +91,7 @@
template <typename OutputIterator, typename Iterator, typename CharEncoding
, typename Tag>
inline bool string_generate(OutputIterator& sink
- , boost::iterator_range<Iterator> const& r, CharEncoding ce, Tag tag)
+ , boost::iterator_range<Iterator> const& r, CharEncoding, Tag)
{
Iterator end = r.end();
for (Iterator it = r.begin(); it != end; ++it)
Modified: trunk/boost/spirit/home/karma/detail/unused_delimiter.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/detail/unused_delimiter.hpp (original)
+++ trunk/boost/spirit/home/karma/detail/unused_delimiter.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -20,6 +20,10 @@
unused_delimiter(Delimiter const& delim)
: delimiter(delim) {}
Delimiter const& delimiter;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ unused_delimiter& operator= (unused_delimiter const&);
};
// If a surrounding verbatim[] directive was specified, the current
Modified: trunk/boost/spirit/home/karma/directive/center_alignment.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/directive/center_alignment.hpp (original)
+++ trunk/boost/spirit/home/karma/directive/center_alignment.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -28,6 +28,7 @@
#include <boost/integer_traits.hpp>
#include <boost/mpl/bool.hpp>
#include <boost/utility/enable_if.hpp>
+#include <boost/detail/workaround.hpp>
///////////////////////////////////////////////////////////////////////////////
namespace boost { namespace spirit
@@ -87,6 +88,9 @@
Delimiter const& d, Attribute const& attr, Embedded const& e,
unsigned int const width, Padding const& p)
{
+#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1600))
+ e; // suppresses warning: C4100: 'e' : unreferenced formal parameter
+#endif
// wrap the given output iterator to allow left padding
detail::enable_buffering<OutputIterator> buffering(sink, width);
bool r = false;
Modified: trunk/boost/spirit/home/karma/directive/left_alignment.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/directive/left_alignment.hpp (original)
+++ trunk/boost/spirit/home/karma/directive/left_alignment.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -28,6 +28,7 @@
#include <boost/integer_traits.hpp>
#include <boost/mpl/bool.hpp>
#include <boost/utility/enable_if.hpp>
+#include <boost/detail/workaround.hpp>
///////////////////////////////////////////////////////////////////////////////
namespace boost { namespace spirit
@@ -87,6 +88,9 @@
Delimiter const& d, Attribute const& attr, Embedded const& e,
unsigned int const width, Padding const& p)
{
+#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1600))
+ e; // suppresses warning: C4100: 'e' : unreferenced formal parameter
+#endif
// wrap the given output iterator to allow counting
detail::enable_counting<OutputIterator> counting(sink);
Modified: trunk/boost/spirit/home/karma/directive/maxwidth.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/directive/maxwidth.hpp (original)
+++ trunk/boost/spirit/home/karma/directive/maxwidth.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -25,6 +25,7 @@
#include <boost/fusion/include/at.hpp>
#include <boost/fusion/include/vector.hpp>
#include <boost/lexical_cast.hpp>
+#include <boost/detail/workaround.hpp>
///////////////////////////////////////////////////////////////////////////////
namespace boost { namespace spirit
@@ -83,8 +84,8 @@
}
template <typename OutputIterator>
- bool buffer_copy_rest(detail::enable_buffering<OutputIterator>& buff
- , std::size_t start_at, unused_type)
+ bool buffer_copy_rest(detail::enable_buffering<OutputIterator>&
+ , std::size_t, unused_type)
{
return true;
}
@@ -100,6 +101,9 @@
Delimiter const& d, Attribute const& attr, Embedded const& e,
unsigned int const maxwidth, Rest& restdest)
{
+#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1600))
+ e; // suppresses warning: C4100: 'e' : unreferenced formal parameter
+#endif
// wrap the given output iterator to allow buffering, but disable
// counting
detail::enable_buffering<OutputIterator> buffering(sink);
Modified: trunk/boost/spirit/home/karma/directive/omit.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/directive/omit.hpp (original)
+++ trunk/boost/spirit/home/karma/directive/omit.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -53,8 +53,8 @@
template <typename OutputIterator, typename Context, typename Delimiter
, typename Attribute>
- bool generate(OutputIterator& sink, Context& ctx, Delimiter const& d
- , Attribute const& attr) const
+ bool generate(OutputIterator&, Context&, Delimiter const&
+ , Attribute const&) const
{
return true;
}
Modified: trunk/boost/spirit/home/karma/directive/repeat.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/directive/repeat.hpp (original)
+++ trunk/boost/spirit/home/karma/directive/repeat.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -85,6 +85,10 @@
bool got_min(T i) const { return i >= exact; }
T const exact;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ exact_iterator& operator= (exact_iterator const&);
};
// handles repeat(min, max)[p]
@@ -102,6 +106,10 @@
T const min;
T const max;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ finite_iterator& operator= (finite_iterator const&);
};
// handles repeat(min, inf)[p]
@@ -113,10 +121,14 @@
typedef T type;
T start() const { return 0; }
- bool got_max(T i) const { return false; }
+ bool got_max(T /*i*/) const { return false; }
bool got_min(T i) const { return i >= min; }
T const min;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ infinite_iterator& operator= (infinite_iterator const&);
};
///////////////////////////////////////////////////////////////////////////
Modified: trunk/boost/spirit/home/karma/directive/right_alignment.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/directive/right_alignment.hpp (original)
+++ trunk/boost/spirit/home/karma/directive/right_alignment.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -28,6 +28,7 @@
#include <boost/integer_traits.hpp>
#include <boost/mpl/bool.hpp>
#include <boost/utility/enable_if.hpp>
+#include <boost/detail/workaround.hpp>
///////////////////////////////////////////////////////////////////////////////
namespace boost { namespace spirit
@@ -87,6 +88,9 @@
Delimiter const& d, Attribute const& attr, Embedded const& e,
unsigned int const width, Padding const& p)
{
+#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1600))
+ e; // suppresses warning: C4100: 'e' : unreferenced formal parameter
+#endif
// wrap the given output iterator to allow left padding
detail::enable_buffering<OutputIterator> buffering(sink, width);
bool r = false;
Modified: trunk/boost/spirit/home/karma/nonterminal/rule.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/nonterminal/rule.hpp (original)
+++ trunk/boost/spirit/home/karma/nonterminal/rule.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -273,7 +273,7 @@
}
template <typename Context>
- info what(Context& context) const
+ info what(Context& /*context*/) const
{
return info(name_);
}
Modified: trunk/boost/spirit/home/karma/numeric/bool.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/numeric/bool.hpp (original)
+++ trunk/boost/spirit/home/karma/numeric/bool.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -163,7 +163,7 @@
}
template <typename Context>
- static info what(Context const& ctx)
+ static info what(Context const& /*context*/)
{
return info("bool");
}
@@ -221,7 +221,7 @@
}
template <typename Context>
- static info what(Context const& ctx)
+ static info what(Context const& /*context*/)
{
return info("bool");
}
Modified: trunk/boost/spirit/home/karma/numeric/bool_policies.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/numeric/bool_policies.hpp (original)
+++ trunk/boost/spirit/home/karma/numeric/bool_policies.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -88,7 +88,7 @@
//
///////////////////////////////////////////////////////////////////////
template <typename CharEncoding, typename Tag, typename OutputIterator>
- static bool generate_true(OutputIterator& sink, T b)
+ static bool generate_true(OutputIterator& sink, T)
{
return string_inserter<CharEncoding, Tag>::call(sink, "true");
}
@@ -106,7 +106,7 @@
//
///////////////////////////////////////////////////////////////////////
template <typename CharEncoding, typename Tag, typename OutputIterator>
- static bool generate_false(OutputIterator& sink, T b)
+ static bool generate_false(OutputIterator& sink, T)
{
return string_inserter<CharEncoding, Tag>::call(sink, "false");
}
Modified: trunk/boost/spirit/home/karma/numeric/detail/bool_utils.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/numeric/detail/bool_utils.hpp (original)
+++ trunk/boost/spirit/home/karma/numeric/detail/bool_utils.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -15,6 +15,7 @@
#include <boost/spirit/home/karma/detail/generate_to.hpp>
#include <boost/spirit/home/karma/detail/string_generate.hpp>
#include <boost/spirit/home/karma/numeric/detail/numeric_utils.hpp>
+#include <boost/detail/workaround.hpp>
namespace boost { namespace spirit { namespace karma
{
@@ -38,6 +39,9 @@
static bool
call (OutputIterator& sink, U b, Policies const& p = Policies())
{
+#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1600))
+ p; // suppresses warning: C4100: 'p' : unreferenced formal parameter
+#endif
return p.template call<bool_inserter>(sink, T(b), p);
}
@@ -48,6 +52,9 @@
static bool
call_n (OutputIterator& sink, U b, Policies const& p)
{
+#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1600))
+ p; // suppresses warning: C4100: 'p' : unreferenced formal parameter
+#endif
if (b)
return p.template generate_true<CharEncoding, Tag>(sink, b);
return p.template generate_false<CharEncoding, Tag>(sink, b);
Modified: trunk/boost/spirit/home/karma/numeric/int.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/numeric/int.hpp (original)
+++ trunk/boost/spirit/home/karma/numeric/int.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -235,7 +235,7 @@
}
template <typename Context>
- static info what(Context const& ctx)
+ static info what(Context const& /*context*/)
{
return info("integer");
}
@@ -305,7 +305,7 @@
}
template <typename Context>
- static info what(Context const& ctx)
+ static info what(Context const& /*context*/)
{
return info("integer");
}
Modified: trunk/boost/spirit/home/karma/numeric/real.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/numeric/real.hpp (original)
+++ trunk/boost/spirit/home/karma/numeric/real.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -193,7 +193,7 @@
}
template <typename Context>
- static info what(Context const& ctx)
+ static info what(Context const& /*context*/)
{
return info("real");
}
@@ -254,7 +254,7 @@
}
template <typename Context>
- static info what(Context const& ctx)
+ static info what(Context const& /*context*/)
{
return info("real");
}
Modified: trunk/boost/spirit/home/karma/numeric/uint.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/numeric/uint.hpp (original)
+++ trunk/boost/spirit/home/karma/numeric/uint.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -269,7 +269,7 @@
}
template <typename Context>
- static info what(Context const& ctx)
+ static info what(Context const& /*context*/)
{
return info("unsigned-integer");
}
@@ -330,7 +330,7 @@
}
template <typename Context>
- static info what(Context const& ctx)
+ static info what(Context const& /*context*/)
{
return info("unsigned-integer");
}
Modified: trunk/boost/spirit/home/karma/operator/alternative.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/operator/alternative.hpp (original)
+++ trunk/boost/spirit/home/karma/operator/alternative.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -107,7 +107,7 @@
bool generate(OutputIterator& sink, Context& ctx
, Delimiter const& d, Attribute const& attr) const
{
- typedef detail::alternative_generate_functor<
+ typedef detail::alternative_generate_function<
OutputIterator, Context, Delimiter, Attribute
> functor;
Modified: trunk/boost/spirit/home/karma/stream/detail/format_manip.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/stream/detail/format_manip.hpp (original)
+++ trunk/boost/spirit/home/karma/stream/detail/format_manip.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -35,6 +35,10 @@
Delimiter const& delim;
BOOST_SCOPED_ENUM(delimit_flag) const pre;
Attribute const& attr;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ format_manip& operator= (format_manip const&);
};
template <typename Expr, typename Delimiter, typename Attribute>
@@ -51,6 +55,10 @@
Delimiter const& delim;
BOOST_SCOPED_ENUM(delimit_flag) const pre;
Attribute attr;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ format_manip& operator= (format_manip const&);
};
///////////////////////////////////////////////////////////////////////////
Modified: trunk/boost/spirit/home/karma/stream/detail/iterator_sink.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/stream/detail/iterator_sink.hpp (original)
+++ trunk/boost/spirit/home/karma/stream/detail/iterator_sink.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -44,6 +44,10 @@
}
OutputIterator& sink;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ iterator_sink& operator= (iterator_sink const&);
};
}}}}
Modified: trunk/boost/spirit/home/karma/stream/stream.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/stream/stream.hpp (original)
+++ trunk/boost/spirit/home/karma/stream/stream.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -194,7 +194,6 @@
}
};
-
template <typename T, typename Char, typename CharEncoding, typename Tag>
struct lit_stream_generator
: primitive_generator<lit_stream_generator<T, Char, CharEncoding, Tag> >
@@ -264,6 +263,10 @@
}
T t_;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ lit_stream_generator& operator= (lit_stream_generator const&);
};
///////////////////////////////////////////////////////////////////////////
Modified: trunk/boost/spirit/home/karma/string/lit.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/string/lit.hpp (original)
+++ trunk/boost/spirit/home/karma/string/lit.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -115,7 +115,7 @@
}
template <typename Context>
- static info what(Context const& ctx)
+ static info what(Context const& /*context*/)
{
return info("any-string");
}
@@ -178,7 +178,7 @@
}
template <typename Context>
- info what(Context const& ctx) const
+ info what(Context const& /*context*/) const
{
return info("literal-string", str_);
}
Modified: trunk/boost/spirit/home/lex/detail/sequence_function.hpp
==============================================================================
--- trunk/boost/spirit/home/lex/detail/sequence_function.hpp (original)
+++ trunk/boost/spirit/home/lex/detail/sequence_function.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -30,6 +30,10 @@
LexerDef& def;
String const& state;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ sequence_collect_function& operator= (sequence_collect_function const&);
};
template <typename LexerDef>
@@ -46,6 +50,10 @@
}
LexerDef& def;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ sequence_add_actions_function& operator= (sequence_add_actions_function const&);
};
}}}}
Modified: trunk/boost/spirit/home/lex/lexer/action.hpp
==============================================================================
--- trunk/boost/spirit/home/lex/lexer/action.hpp (original)
+++ trunk/boost/spirit/home/lex/lexer/action.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -49,6 +49,10 @@
Subject subject;
Action f;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ action& operator= (action const&);
};
}}}
Modified: trunk/boost/spirit/home/lex/lexer/char_token_def.hpp
==============================================================================
--- trunk/boost/spirit/home/lex/lexer/char_token_def.hpp (original)
+++ trunk/boost/spirit/home/lex/lexer/char_token_def.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -78,7 +78,7 @@
}
template <typename LexerDef>
- void add_actions(LexerDef& lexdef) const {}
+ void add_actions(LexerDef&) const {}
std::size_t id() const { return static_cast<std::size_t>(ch); }
std::size_t unique_id() const { return unique_id_; }
Modified: trunk/boost/spirit/home/lex/lexer/lexer.hpp
==============================================================================
--- trunk/boost/spirit/home/lex/lexer/lexer.hpp (original)
+++ trunk/boost/spirit/home/lex/lexer/lexer.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -41,7 +41,6 @@
, lexer_def_<LexerDef> >
, qi::parser<lexer_def_<LexerDef> >
, lex::lexer_type<lexer_def_<LexerDef> >
-// , noncopyable
{
private:
// avoid warnings about using 'this' in constructor
@@ -168,6 +167,10 @@
}
lexer_def_& def;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ adder& operator= (adder const&);
};
friend struct adder;
@@ -186,6 +189,10 @@
}
lexer_def_& def;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ pattern_adder& operator= (pattern_adder const&);
};
friend struct pattern_adder;
@@ -243,6 +250,10 @@
private:
LexerDef& def;
string_type state;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ lexer_def_& operator= (lexer_def_ const&);
};
// allow to assign a token definition expression
Modified: trunk/boost/spirit/home/lex/lexer/lexertl/functor.hpp
==============================================================================
--- trunk/boost/spirit/home/lex/lexer/lexertl/functor.hpp (original)
+++ trunk/boost/spirit/home/lex/lexer/lexertl/functor.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -91,6 +91,10 @@
T& dst_;
T const& src_;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ assign_on_exit& operator= (assign_on_exit const&);
};
public:
@@ -131,7 +135,8 @@
static result_type& get_next(MultiPass& mp, result_type& result)
{
shared& data = mp.shared()->ftor;
- do {
+ for(;;)
+ {
if (data.get_first() == data.get_last())
#if defined(BOOST_SPIRIT_STATIC_EOF)
return result = eof;
@@ -213,8 +218,7 @@
// if this token needs to be ignored, just repeat the matching,
// while starting right after the current match
data.get_first() = end;
-
- } while (true);
+ }
}
// set_state are propagated up to the iterator interface, allowing to
Modified: trunk/boost/spirit/home/lex/lexer/lexertl/functor_data.hpp
==============================================================================
--- trunk/boost/spirit/home/lex/lexer/lexertl/functor_data.hpp (original)
+++ trunk/boost/spirit/home/lex/lexer/lexertl/functor_data.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -58,9 +58,9 @@
// The following functions are used by the implementation of the
// placeholder '_state'.
- void set_state_name (char_type const* state) {}
+ void set_state_name (char_type const*) {}
char_type const* get_state_name() const { return rules_.initial(); }
- std::size_t get_state_id (char_type const* state) const
+ std::size_t get_state_id (char_type const*) const
{
return 0;
}
@@ -142,7 +142,7 @@
}
std::size_t get_state() const { return 0; }
- void set_state(std::size_t state) {}
+ void set_state(std::size_t) {}
Iterator& get_first() { return first_; }
Iterator const& get_first() const { return first_; }
@@ -161,6 +161,10 @@
boost::lexer::basic_state_machine<char_type> const& state_machine_;
boost::lexer::basic_rules<char_type> const& rules_;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ data& operator= (data const&);
};
///////////////////////////////////////////////////////////////////////
@@ -227,6 +231,10 @@
protected:
std::size_t state_;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ data& operator= (data const&);
};
///////////////////////////////////////////////////////////////////////
@@ -342,6 +350,10 @@
mutable TokenValue value_; // token value to use
bool has_hold_; // 'true' if hold_ is valid
bool has_value_; // 'true' if value_ is valid
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ data& operator= (data const&);
};
}
Modified: trunk/boost/spirit/home/lex/lexer/lexertl/generate_static.hpp
==============================================================================
--- trunk/boost/spirit/home/lex/lexer/lexertl/generate_static.hpp (original)
+++ trunk/boost/spirit/home/lex/lexer/lexertl/generate_static.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -173,15 +173,23 @@
os_ << "std::size_t next_token" << (name_suffix[0] ? "_" : "")
<< name_suffix << " (";
- if (dfas_ > 1 || !optimize_parameters)
+ if (dfas_ > 1)
+ {
+ os_ << "std::size_t& start_state_, ";
+ }
+ else if (!optimize_parameters)
{
- os_ << "std::size_t &start_state_, ";
+ os_ << "std::size_t& /*start_state_*/, ";
}
- if (sm_.data()._seen_BOL_assertion || !optimize_parameters)
+ if (sm_.data()._seen_BOL_assertion)
{
os_ << "Iterator const& start_, ";
}
+ else if (!optimize_parameters)
+ {
+ os_ << "Iterator const& /*start_*/, ";
+ }
if (dfas_ > 1 || sm_.data()._seen_BOL_assertion || !optimize_parameters)
{
Modified: trunk/boost/spirit/home/lex/lexer/lexertl/iterator_tokenizer.hpp
==============================================================================
--- trunk/boost/spirit/home/lex/lexer/lexertl/iterator_tokenizer.hpp (original)
+++ trunk/boost/spirit/home/lex/lexer/lexertl/iterator_tokenizer.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -34,7 +34,11 @@
, Iterator &start_token_, Iterator const& end_
, std::size_t& unique_id_)
{
- if (start_token_ == end_) return 0;
+ if (start_token_ == end_)
+ {
+ unique_id_ = boost::lexer::npos;
+ return 0;
+ }
again:
std::size_t const* lookup_ = &state_machine_.data()._lookup[dfa_state_]->
Modified: trunk/boost/spirit/home/lex/lexer/lexertl/lexer.hpp
==============================================================================
--- trunk/boost/spirit/home/lex/lexer/lexertl/lexer.hpp (original)
+++ trunk/boost/spirit/home/lex/lexer/lexertl/lexer.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -166,9 +166,22 @@
// this type is purely used for the iterator_type construction below
struct iterator_data_type
{
+ typedef typename Functor::semantic_actions_type semantic_actions_type;
+
+ iterator_data_type(
+ boost::lexer::basic_state_machine<char_type> const& state_machine
+ , boost::lexer::basic_rules<char_type> const& rules
+ , semantic_actions_type const& actions)
+ : state_machine_(state_machine), rules_(rules), actions_(actions)
+ {}
+
boost::lexer::basic_state_machine<char_type> const& state_machine_;
boost::lexer::basic_rules<char_type> const& rules_;
- typename Functor::semantic_actions_type const& actions_;
+ semantic_actions_type const& actions_;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ iterator_data_type& operator= (iterator_data_type const&);
};
public:
@@ -180,7 +193,7 @@
if (!init_dfa())
return iterator_type();
- iterator_data_type iterator_data = { state_machine_, rules_, actions_ };
+ iterator_data_type iterator_data(state_machine_, rules_, actions_);
return iterator_type(iterator_data, first, last, initial_state);
}
Modified: trunk/boost/spirit/home/lex/lexer/lexertl/semantic_action_data.hpp
==============================================================================
--- trunk/boost/spirit/home/lex/lexer/lexertl/semantic_action_data.hpp (original)
+++ trunk/boost/spirit/home/lex/lexer/lexertl/semantic_action_data.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -45,7 +45,7 @@
}
// try to invoke a semantic action for the given token (unique_id)
- BOOST_SCOPED_ENUM(pass_flags) invoke_actions(std::size_t state
+ BOOST_SCOPED_ENUM(pass_flags) invoke_actions(std::size_t /*state*/
, std::size_t& id, std::size_t unique_id, Iterator& end
, Data& data) const
{
Modified: trunk/boost/spirit/home/lex/lexer/lexertl/static_functor_data.hpp
==============================================================================
--- trunk/boost/spirit/home/lex/lexer/lexertl/static_functor_data.hpp (original)
+++ trunk/boost/spirit/home/lex/lexer/lexertl/static_functor_data.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -74,12 +74,12 @@
// The following functions are used by the implementation of the
// placeholder '_state'.
- void set_state_name (char_type const* state) {}
+ void set_state_name (char_type const*) {}
char_type const* get_state_name() const
{
return get_state_name_(0);
}
- std::size_t get_state_id(char_type const* state) const
+ std::size_t get_state_id(char_type const*) const
{
return 0;
}
@@ -160,7 +160,7 @@
}
std::size_t get_state() const { return 0; }
- void set_state(std::size_t state) {}
+ void set_state(std::size_t) {}
Iterator& get_first() { return first_; }
Iterator const& get_first() const { return first_; }
@@ -179,6 +179,10 @@
next_token_functor next_token_;
get_state_name_type get_state_name_;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ static_data& operator= (static_data const&);
};
///////////////////////////////////////////////////////////////////////
@@ -248,6 +252,10 @@
protected:
std::size_t state_;
std::size_t num_states_;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ static_data& operator= (static_data const&);
};
///////////////////////////////////////////////////////////////////////
@@ -364,6 +372,10 @@
mutable TokenValue value_; // token value to use
bool has_hold_; // 'true' if hold_ is valid
bool has_value_; // 'true' if value_ is valid
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ static_data& operator= (static_data const&);
};
}
Modified: trunk/boost/spirit/home/lex/lexer/lexertl/static_lexer.hpp
==============================================================================
--- trunk/boost/spirit/home/lex/lexer/lexertl/static_lexer.hpp (original)
+++ trunk/boost/spirit/home/lex/lexer/lexertl/static_lexer.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -133,10 +133,25 @@
// this type is purely used for the iterator_type construction below
struct iterator_data_type
{
- typename Functor::next_token_functor next_;
- typename Functor::semantic_actions_type const& actions_;
- typename Functor::get_state_name_type get_state_name_;
+ typedef typename Functor::next_token_functor next_token_functor;
+ typedef typename Functor::semantic_actions_type semantic_actions_type;
+ typedef typename Functor::get_state_name_type get_state_name_type;
+
+ iterator_data_type(next_token_functor next
+ , semantic_actions_type const& actions
+ , get_state_name_type get_state_name, std::size_t num_states)
+ : next_(next), actions_(actions), get_state_name_(get_state_name)
+ , num_states_(num_states)
+ {}
+
+ next_token_functor next_;
+ semantic_actions_type const& actions_;
+ get_state_name_type get_state_name_;
std::size_t num_states_;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ iterator_data_type& operator= (iterator_data_type const&);
};
typedef LexerTables tables_type;
@@ -157,10 +172,10 @@
iterator_type begin(Iterator_& first, Iterator_ const& last
, char_type const* initial_state = 0) const
{
- iterator_data_type iterator_data = {
+ iterator_data_type iterator_data(
&tables_type::template next<Iterator_>, actions_,
&tables_type::state_name, tables_type::state_count()
- };
+ );
return iterator_type(iterator_data, first, last, initial_state);
}
@@ -173,26 +188,25 @@
protected:
// Lexer instances can be created by means of a derived class only.
- static_lexer(unsigned int flags) : unique_id_(0) {}
+ static_lexer(unsigned int) : unique_id_(0) {}
public:
// interface for token definition management
- std::size_t add_token (char_type const* state, char_type tokendef
- , std::size_t token_id)
+ std::size_t add_token (char_type const*, char_type, std::size_t)
{
return unique_id_++;
}
- std::size_t add_token (char_type const* state, string_type const& tokendef
- , std::size_t token_id)
+ std::size_t add_token (char_type const*, string_type const&
+ , std::size_t)
{
return unique_id_++;
}
// interface for pattern definition management
- void add_pattern (char_type const* state, string_type const& name
- , string_type const& patterndef) {}
+ void add_pattern (char_type const*, string_type const&
+ , string_type const&) {}
- void clear(char_type const* state) {}
+ void clear(char_type const*) {}
std::size_t add_state(char_type const* state)
{
Modified: trunk/boost/spirit/home/lex/lexer/lexertl/token.hpp
==============================================================================
--- trunk/boost/spirit/home/lex/lexer/lexertl/token.hpp (original)
+++ trunk/boost/spirit/home/lex/lexer/lexertl/token.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -132,13 +132,17 @@
token(id_type id, std::size_t, token_value_type)
: id_(id) {}
+#if defined(BOOST_SPIRIT_DEBUG)
token(id_type id, std::size_t, Iterator const& first
, Iterator const& last)
: id_(id)
-#if defined(BOOST_SPIRIT_DEBUG)
, matched_(first, last)
-#endif
{}
+#else
+ token(id_type id, std::size_t, Iterator const&, Iterator const&)
+ : id_(id)
+ {}
+#endif
// this default conversion operator is needed to allow the direct
// usage of tokens in conjunction with the primitive parsers defined
Modified: trunk/boost/spirit/home/lex/lexer/string_token_def.hpp
==============================================================================
--- trunk/boost/spirit/home/lex/lexer/string_token_def.hpp (original)
+++ trunk/boost/spirit/home/lex/lexer/string_token_def.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -74,7 +74,7 @@
}
template <typename LexerDef>
- void add_actions(LexerDef& lexdef) const {}
+ void add_actions(LexerDef&) const {}
std::size_t id() const { return id_; }
std::size_t unique_id() const { return unique_id_; }
Modified: trunk/boost/spirit/home/lex/lexer/token_def.hpp
==============================================================================
--- trunk/boost/spirit/home/lex/lexer/token_def.hpp (original)
+++ trunk/boost/spirit/home/lex/lexer/token_def.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -142,7 +142,7 @@
}
template <typename LexerDef>
- void add_actions(LexerDef& lexdef) const {}
+ void add_actions(LexerDef&) const {}
public:
typedef Char char_type;
@@ -153,12 +153,13 @@
token_def()
: proto_base_type(terminal_type::make(alias()))
, def_('\0'), token_id_()
- , unique_id_(std::size_t(~0)), token_state_(~0) {}
+ , unique_id_(std::size_t(~0)), token_state_(std::size_t(~0)) {}
explicit token_def(char_type def_, Idtype id_ = Idtype())
: proto_base_type(terminal_type::make(alias()))
- , def_(def_), token_id_(Idtype() == id_ ? def_ : id_)
- , unique_id_(~0), token_state_(std::size_t(~0)) {}
+ , def_(def_)
+ , token_id_(std::size_t(Idtype() == id_ ? def_ : id_))
+ , unique_id_(std::size_t(~0)), token_state_(std::size_t(~0)) {}
explicit token_def(string_type const& def_, Idtype id_ = Idtype())
: proto_base_type(terminal_type::make(alias()))
Modified: trunk/boost/spirit/home/lex/qi/state_switcher.hpp
==============================================================================
--- trunk/boost/spirit/home/lex/qi/state_switcher.hpp (original)
+++ trunk/boost/spirit/home/lex/qi/state_switcher.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -108,7 +108,7 @@
, typename Skipper, typename Attribute>
bool parse(Iterator& first, Iterator const& last
, Context& /*context*/, Skipper const& skipper
- , Attribute& attr) const
+ , Attribute& /*attr*/) const
{
qi::skip_over(first, last, skipper); // always do a pre-skip
@@ -146,6 +146,10 @@
Iterator& it;
std::size_t state;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ reset_state_on_exit& operator= (reset_state_on_exit const&);
};
}
@@ -202,6 +206,10 @@
Subject subject;
State state;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ state_switcher_context& operator= (state_switcher_context const&);
};
///////////////////////////////////////////////////////////////////////////
Modified: trunk/boost/spirit/home/qi/action/action.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/action/action.hpp (original)
+++ trunk/boost/spirit/home/qi/action/action.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -73,6 +73,10 @@
Subject subject;
Action f;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ action& operator= (action const&);
};
}}}
Modified: trunk/boost/spirit/home/qi/auxiliary/attr.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/auxiliary/attr.hpp (original)
+++ trunk/boost/spirit/home/qi/auxiliary/attr.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -55,8 +55,8 @@
template <typename Iterator, typename Context
, typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
+ bool parse(Iterator& /*first*/, Iterator const& /*last*/
+ , Context& /*context*/, Skipper const& /*skipper*/
, Attribute& attr) const
{
spirit::traits::assign_to(value_, attr);
@@ -64,12 +64,16 @@
}
template <typename Context>
- info what(Context& context) const
+ info what(Context& /*context*/) const
{
return info("attr");
}
Value value_;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ attr_parser& operator= (attr_parser const&);
};
///////////////////////////////////////////////////////////////////////////
Modified: trunk/boost/spirit/home/qi/auxiliary/attr_cast.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/auxiliary/attr_cast.hpp (original)
+++ trunk/boost/spirit/home/qi/auxiliary/attr_cast.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -111,6 +111,10 @@
}
Subject subject;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ attr_cast_parser& operator= (attr_cast_parser const&);
};
///////////////////////////////////////////////////////////////////////////
Modified: trunk/boost/spirit/home/qi/auxiliary/eoi.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/auxiliary/eoi.hpp (original)
+++ trunk/boost/spirit/home/qi/auxiliary/eoi.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -44,15 +44,15 @@
template <typename Iterator, typename Context
, typename Skipper, typename Attribute>
bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr) const
+ , Context& /*context*/, Skipper const& skipper
+ , Attribute& /*attr*/) const
{
qi::skip_over(first, last, skipper);
return first == last;
}
template <typename Context>
- info what(Context& context) const
+ info what(Context& /*context*/) const
{
return info("eoi");
}
Modified: trunk/boost/spirit/home/qi/auxiliary/eol.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/auxiliary/eol.hpp (original)
+++ trunk/boost/spirit/home/qi/auxiliary/eol.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -44,8 +44,8 @@
template <typename Iterator, typename Context
, typename Skipper, typename Attribute>
bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr) const
+ , Context& /*context*/, Skipper const& skipper
+ , Attribute& /*attr*/) const
{
qi::skip_over(first, last, skipper);
@@ -70,7 +70,7 @@
}
template <typename Context>
- info what(Context& context) const
+ info what(Context& /*context*/) const
{
return info("eol");
}
Modified: trunk/boost/spirit/home/qi/auxiliary/eps.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/auxiliary/eps.hpp (original)
+++ trunk/boost/spirit/home/qi/auxiliary/eps.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -56,15 +56,15 @@
template <typename Iterator, typename Context
, typename Skipper, typename Attribute>
bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr) const
+ , Context& /*context*/, Skipper const& skipper
+ , Attribute& /*attr*/) const
{
qi::skip_over(first, last, skipper);
return true;
}
template <typename Context>
- info what(Context& context) const
+ info what(Context& /*context*/) const
{
return info("eps");
}
@@ -84,15 +84,15 @@
template <typename Iterator, typename Context
, typename Skipper, typename Attribute>
bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr) const
+ , Context& /*context*/, Skipper const& skipper
+ , Attribute& /*attr*/) const
{
qi::skip_over(first, last, skipper);
return predicate;
}
template <typename Context>
- info what(Context& context) const
+ info what(Context& /*context*/) const
{
return info("semantic-predicate");
}
Modified: trunk/boost/spirit/home/qi/binary/binary.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/binary/binary.hpp (original)
+++ trunk/boost/spirit/home/qi/binary/binary.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -25,6 +25,7 @@
#include <boost/mpl/or.hpp>
#include <boost/type_traits/is_integral.hpp>
#include <boost/type_traits/is_enum.hpp>
+#include <boost/config.hpp>
#define BOOST_SPIRIT_ENABLE_BINARY(name) \
template <> \
@@ -176,7 +177,7 @@
template <typename Iterator, typename Context
, typename Skipper, typename Attribute>
bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
+ , Context& /*context*/, Skipper const& skipper
, Attribute& attr) const
{
qi::skip_over(first, last, skipper);
@@ -198,7 +199,7 @@
}
template <typename Context>
- info what(Context& context) const
+ info what(Context& /*context*/) const
{
return info(qi::detail::what<endian>::is());
}
@@ -222,7 +223,7 @@
template <typename Iterator, typename Context
, typename Skipper, typename Attribute>
bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
+ , Context& /*context*/, Skipper const& skipper
, Attribute& attr) const
{
qi::skip_over(first, last, skipper);
@@ -233,7 +234,17 @@
// This allows us to treat them as a sequence of consecutive bytes.
boost::integer::endian<
endian, typename qi::detail::integer<bits>::type, bits> attr_;
+
+#if defined(BOOST_MSVC)
+// warning C4244: 'argument' : conversion from 'const int' to 'foo', possible loss of data
+#pragma warning(push)
+#pragma warning(disable: 4244)
+#endif
attr_ = n;
+#if defined(BOOST_MSVC)
+#pragma warning(pop)
+#endif
+
unsigned char* bytes = reinterpret_cast<unsigned char*>(&attr_);
Iterator it = first;
@@ -249,7 +260,7 @@
}
template <typename Context>
- info what(Context& context) const
+ info what(Context& /*context*/) const
{
return info(qi::detail::what<endian>::is());
}
Modified: trunk/boost/spirit/home/qi/char/char.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/char/char.hpp (original)
+++ trunk/boost/spirit/home/qi/char/char.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -107,8 +107,9 @@
typedef typename CharEncoding::char_type char_type;
typedef CharEncoding char_encoding;
- literal_char(char_type ch)
- : ch(ch) {}
+ template <typename Char>
+ literal_char(Char ch)
+ : ch(static_cast<char_type>(ch)) {}
template <typename Context, typename Iterator>
struct attribute
@@ -145,8 +146,8 @@
typedef CharEncoding char_encoding;
literal_char(char_type ch)
- : lo(char_encoding::tolower(ch))
- , hi(char_encoding::toupper(ch)) {}
+ : lo(static_cast<char_type>(char_encoding::tolower(ch)))
+ , hi(static_cast<char_type>(char_encoding::toupper(ch))) {}
template <typename Context, typename Iterator>
struct attribute
@@ -218,10 +219,10 @@
typedef CharEncoding char_encoding;
char_range(char_type from, char_type to)
- : from_lo(char_encoding::tolower(from))
- , to_lo(char_encoding::tolower(to))
- , from_hi(char_encoding::toupper(from))
- , to_hi(char_encoding::toupper(to))
+ : from_lo(static_cast<char_type>(char_encoding::tolower(from)))
+ , to_lo(static_cast<char_type>(char_encoding::tolower(to)))
+ , from_hi(static_cast<char_type>(char_encoding::toupper(from)))
+ , to_hi(static_cast<char_type>(char_encoding::toupper(to)))
{}
template <typename CharParam, typename Context>
@@ -335,18 +336,20 @@
next = *definition++;
if (next == 0)
{
- chset.set(CharEncoding::tolower(ch));
- chset.set(CharEncoding::toupper(ch));
+ chset.set(static_cast<char_type>(CharEncoding::tolower(ch)));
+ chset.set(static_cast<char_type>(CharEncoding::toupper(ch)));
chset.set('-');
break;
}
- chset.set(CharEncoding::tolower(ch), CharEncoding::tolower(next));
- chset.set(CharEncoding::toupper(ch), CharEncoding::toupper(next));
+ chset.set(static_cast<char_type>(CharEncoding::tolower(ch))
+ , static_cast<char_type>(CharEncoding::tolower(next)));
+ chset.set(static_cast<char_type>(CharEncoding::toupper(ch))
+ , static_cast<char_type>(CharEncoding::toupper(next)));
}
else
{
- chset.set(CharEncoding::tolower(ch));
- chset.set(CharEncoding::toupper(ch));
+ chset.set(static_cast<char_type>(CharEncoding::tolower(ch)));
+ chset.set(static_cast<char_type>(CharEncoding::toupper(ch)));
}
ch = next;
}
Modified: trunk/boost/spirit/home/qi/detail/alternative_function.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/detail/alternative_function.hpp (original)
+++ trunk/boost/spirit/home/qi/detail/alternative_function.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -69,6 +69,10 @@
Context& context;
Skipper const& skipper;
Attribute& attr;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ alternative_function& operator= (alternative_function const&);
};
template <typename Iterator, typename Context, typename Skipper>
@@ -93,6 +97,10 @@
Iterator const& last;
Context& context;
Skipper const& skipper;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ alternative_function& operator= (alternative_function const&);
};
}}}}
Modified: trunk/boost/spirit/home/qi/detail/assign_to.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/detail/assign_to.hpp (original)
+++ trunk/boost/spirit/home/qi/detail/assign_to.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -87,7 +87,7 @@
struct assign_to_attribute_from_value<optional<Attribute>, unused_type>
{
static void
- call(unused_type, optional<Attribute> const& attr)
+ call(unused_type, optional<Attribute> const&)
{
}
};
Modified: trunk/boost/spirit/home/qi/detail/expect_function.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/detail/expect_function.hpp (original)
+++ trunk/boost/spirit/home/qi/detail/expect_function.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -13,6 +13,7 @@
#include <boost/spirit/home/support/unused.hpp>
#include <boost/spirit/home/support/multi_pass_wrapper.hpp>
+#include <boost/throw_exception.hpp>
namespace boost { namespace spirit { namespace qi { namespace detail
{
@@ -53,8 +54,10 @@
is_first = false;
return true;
}
- Exception x = { first, last, component.what(context) };
- throw x;
+ boost::throw_exception(Exception(first, last, component.what(context)));
+#if defined(BOOST_NO_EXCEPTIONS)
+ return false; // for systems not supporting exceptions
+#endif
}
is_first = false;
return false;
@@ -78,8 +81,10 @@
is_first = false;
return true;
}
- Exception x = { first, last, component.what(context) };
- throw x;
+ boost::throw_exception(Exception(first, last, component.what(context)));
+#if defined(BOOST_NO_EXCEPTIONS)
+ return false; // for systems not supporting exceptions
+#endif
}
is_first = false;
return false;
@@ -90,6 +95,10 @@
Context& context;
Skipper const& skipper;
mutable bool is_first;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ expect_function& operator= (expect_function const&);
};
}}}}
Modified: trunk/boost/spirit/home/qi/detail/fail_function.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/detail/fail_function.hpp (original)
+++ trunk/boost/spirit/home/qi/detail/fail_function.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -49,6 +49,10 @@
Iterator const& last;
Context& context;
Skipper const& skipper;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ fail_function& operator= (fail_function const&);
};
}}}}
Modified: trunk/boost/spirit/home/qi/detail/pass_container.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/detail/pass_container.hpp (original)
+++ trunk/boost/spirit/home/qi/detail/pass_container.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -139,7 +139,7 @@
return f(component, attr);
}
- // Dispaches to dispatch_main depending on the attribute type
+ // Dispatches to dispatch_main depending on the attribute type
// of the Component
template <typename Component>
bool operator()(Component const& component) const
@@ -155,6 +155,10 @@
F f;
Attr& attr;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ pass_container& operator= (pass_container const&);
};
// Utility function to make a pass_container
Modified: trunk/boost/spirit/home/qi/detail/pass_function.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/detail/pass_function.hpp (original)
+++ trunk/boost/spirit/home/qi/detail/pass_function.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -60,6 +60,10 @@
Iterator const& last;
Context& context;
Skipper const& skipper;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ pass_function& operator= (pass_function const&);
};
}}}}
Modified: trunk/boost/spirit/home/qi/detail/permute_function.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/detail/permute_function.hpp (original)
+++ trunk/boost/spirit/home/qi/detail/permute_function.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -78,6 +78,10 @@
Context& context;
Skipper const& skipper;
bool* taken;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ permute_function& operator= (permute_function const&);
};
}}}}
Modified: trunk/boost/spirit/home/qi/detail/unused_skipper.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/detail/unused_skipper.hpp (original)
+++ trunk/boost/spirit/home/qi/detail/unused_skipper.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -20,6 +20,10 @@
unused_skipper(Skipper const& skipper)
: skipper(skipper) {}
Skipper const& skipper;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ unused_skipper& operator= (unused_skipper const&);
};
// If a surrounding lexeme[] directive was specified, the current
Modified: trunk/boost/spirit/home/qi/directive/omit.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/directive/omit.hpp (original)
+++ trunk/boost/spirit/home/qi/directive/omit.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -67,6 +67,10 @@
}
Subject subject;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ omit_directive& operator= (omit_directive const&);
};
///////////////////////////////////////////////////////////////////////////
Modified: trunk/boost/spirit/home/qi/directive/repeat.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/directive/repeat.hpp (original)
+++ trunk/boost/spirit/home/qi/directive/repeat.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -82,6 +82,10 @@
bool got_min(T i) const { return i >= exact; }
T const exact;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ exact_iterator& operator= (exact_iterator const&);
};
template <typename T>
@@ -98,6 +102,10 @@
T const min;
T const max;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ finite_iterator& operator= (finite_iterator const&);
};
template <typename T>
@@ -108,10 +116,14 @@
typedef T type;
T start() const { return 0; }
- bool got_max(T i) const { return false; }
+ bool got_max(T /*i*/) const { return false; }
bool got_min(T i) const { return i >= min; }
T const min;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ infinite_iterator& operator= (infinite_iterator const&);
};
template <typename Subject, typename LoopIter>
@@ -187,6 +199,10 @@
Subject subject;
LoopIter iter;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ repeat_parser& operator= (repeat_parser const&);
};
///////////////////////////////////////////////////////////////////////////
Modified: trunk/boost/spirit/home/qi/nonterminal/debug_handler.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/nonterminal/debug_handler.hpp (original)
+++ trunk/boost/spirit/home/qi/nonterminal/debug_handler.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -68,7 +68,7 @@
catch (expectation_failure<Iterator> const& e)
{
f(first, last, context, failed_parse, rule_name);
- throw e;
+ boost::throw_exception(e);
}
return false;
}
Modified: trunk/boost/spirit/home/qi/nonterminal/error_handler.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/nonterminal/error_handler.hpp (original)
+++ trunk/boost/spirit/home/qi/nonterminal/error_handler.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -35,7 +35,7 @@
template <typename Iterator, bool active>
struct reset_on_exit
{
- reset_on_exit(Iterator& it) {}
+ reset_on_exit(Iterator&) {}
};
// For 'retry' or 'fail' error handlers we need to inhibit the flushing
@@ -91,7 +91,7 @@
(action == retry || action == fail)> on_exit_type;
on_exit_type on_exit(first);
- while (true)
+ for(;;)
{
try
{
@@ -111,7 +111,7 @@
, info const&>
params;
error_handler_result r = action;
- params args(first, last, x.first, x.what);
+ params args(first, last, x.first, x.what_);
f(args, context, r);
// The assertions below will fire if you are using a
@@ -133,7 +133,7 @@
(action != retry && action != fail));
continue;
case accept: return true;
- case rethrow: throw x;
+ case rethrow: boost::throw_exception(x);
}
}
}
Modified: trunk/boost/spirit/home/qi/nonterminal/rule.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/nonterminal/rule.hpp (original)
+++ trunk/boost/spirit/home/qi/nonterminal/rule.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -285,7 +285,7 @@
}
template <typename Context>
- info what(Context& context) const
+ info what(Context& /*context*/) const
{
return info(name_);
}
Modified: trunk/boost/spirit/home/qi/numeric/bool.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/numeric/bool.hpp (original)
+++ trunk/boost/spirit/home/qi/numeric/bool.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -18,6 +18,7 @@
#include <boost/spirit/home/support/common_terminals.hpp>
#include <boost/spirit/home/support/info.hpp>
#include <boost/mpl/assert.hpp>
+#include <boost/detail/workaround.hpp>
namespace boost { namespace spirit
{
@@ -59,6 +60,9 @@
if (first == last)
return false;
+#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1600))
+ p; // suppresses warning: C4100: 'p' : unreferenced formal parameter
+#endif
return (allow_true && p.parse_true(first, last, attr)) ||
(!disallow_false && p.parse_false(first, last, attr));
}
Modified: trunk/boost/spirit/home/qi/numeric/detail/numeric_utils.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/numeric/detail/numeric_utils.hpp (original)
+++ trunk/boost/spirit/home/qi/numeric/detail/numeric_utils.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -183,7 +183,7 @@
if (n > max - digit)
return false;
- n += digit;
+ n += static_cast<T>(digit);
return true;
}
};
@@ -214,7 +214,7 @@
if (n < min + digit)
return false;
- n -= digit;
+ n -= static_cast<T>(digit);
return true;
}
};
Modified: trunk/boost/spirit/home/qi/operator/expect.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/operator/expect.hpp (original)
+++ trunk/boost/spirit/home/qi/operator/expect.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -15,6 +15,7 @@
#include <boost/spirit/home/qi/detail/expect_function.hpp>
#include <boost/spirit/home/qi/meta_compiler.hpp>
#include <boost/spirit/home/support/info.hpp>
+#include <stdexcept>
namespace boost { namespace spirit
{
@@ -33,11 +34,17 @@
namespace boost { namespace spirit { namespace qi
{
template <typename Iterator>
- struct expectation_failure
+ struct expectation_failure : std::runtime_error
{
+ expectation_failure(Iterator first, Iterator last, info const& what)
+ : std::runtime_error("boost::spirit::qi::expectation_failure")
+ , first(first), last(last), what_(what)
+ {}
+ ~expectation_failure() throw() {}
+
Iterator first;
Iterator last;
- info what;
+ info what_;
};
template <typename Elements>
Modified: trunk/boost/spirit/home/qi/stream/detail/iterator_source.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/stream/detail/iterator_source.hpp (original)
+++ trunk/boost/spirit/home/qi/stream/detail/iterator_source.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -50,6 +50,10 @@
Iterator& first;
Iterator const& last;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ iterator_source& operator= (iterator_source const&);
};
}}}}
Modified: trunk/boost/spirit/home/qi/stream/detail/match_manip.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/stream/detail/match_manip.hpp (original)
+++ trunk/boost/spirit/home/qi/stream/detail/match_manip.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -37,6 +37,10 @@
Skipper const& skipper;
Attribute& attr;
BOOST_SCOPED_ENUM(skip_flag) const post_skip;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ match_manip& operator= (match_manip const&);
};
template <typename Expr, typename Skipper, typename Attribute>
@@ -53,6 +57,10 @@
Skipper const& skipper;
Attribute attr;
BOOST_SCOPED_ENUM(skip_flag) const post_skip;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ match_manip& operator= (match_manip const&);
};
///////////////////////////////////////////////////////////////////////////
Modified: trunk/boost/spirit/home/qi/string/detail/tst.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/string/detail/tst.hpp (original)
+++ trunk/boost/spirit/home/qi/string/detail/tst.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -117,7 +117,7 @@
return 0;
tst_node** pp = &start;
- while (true)
+ for(;;)
{
typename
boost::detail::iterator_traits<Iterator>::value_type
Modified: trunk/boost/spirit/home/qi/string/lit.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/string/lit.hpp (original)
+++ trunk/boost/spirit/home/qi/string/lit.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -29,6 +29,7 @@
#include <boost/type_traits/add_const.hpp>
#include <boost/mpl/assert.hpp>
#include <boost/mpl/if.hpp>
+#include <boost/detail/workaround.hpp>
#include <string>
namespace boost { namespace spirit
@@ -88,19 +89,23 @@
template <typename Iterator, typename Context
, typename Skipper, typename Attribute>
bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper, Attribute& attr) const
+ , Context& /*context*/, Skipper const& skipper, Attribute& attr) const
{
qi::skip_over(first, last, skipper);
return detail::string_parse(str, first, last, attr);
}
template <typename Context>
- info what(Context& /*ctx*/) const
+ info what(Context& /*context*/) const
{
return info("literal-string", str);
}
String str;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ literal_string& operator= (literal_string const&);
};
template <typename String, bool no_attribute>
@@ -117,6 +122,9 @@
: str_lo(in)
, str_hi(in)
{
+#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1600))
+ encoding; // suppresses warning: C4100: 'encoding' : unreferenced formal parameter
+#endif
typename string_type::iterator loi = str_lo.begin();
typename string_type::iterator hii = str_hi.begin();
@@ -124,8 +132,8 @@
{
typedef typename CharEncoding::char_type encoded_char_type;
- *loi = encoding.tolower(encoded_char_type(*loi));
- *hii = encoding.toupper(encoded_char_type(*hii));
+ *loi = static_cast<char_type>(encoding.tolower(encoded_char_type(*loi)));
+ *hii = static_cast<char_type>(encoding.toupper(encoded_char_type(*hii)));
}
}
@@ -140,7 +148,7 @@
template <typename Iterator, typename Context
, typename Skipper, typename Attribute>
bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper, Attribute& attr) const
+ , Context& /*context*/, Skipper const& skipper, Attribute& attr) const
{
qi::skip_over(first, last, skipper);
return detail::string_parse(str_lo, str_hi, first, last, attr);
Modified: trunk/boost/spirit/home/qi/string/symbols.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/string/symbols.hpp (original)
+++ trunk/boost/spirit/home/qi/string/symbols.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -218,7 +218,7 @@
template <typename Iterator, typename Context
, typename Skipper, typename Attribute>
bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper, Attribute& attr) const
+ , Context& /*context*/, Skipper const& skipper, Attribute& attr) const
{
qi::skip_over(first, last, skipper);
@@ -232,7 +232,7 @@
}
template <typename Context>
- info what(Context& context) const
+ info what(Context& /*context*/) const
{
return info("symbols"); // $$$ for now! give symbols a name $$$
}
@@ -274,6 +274,10 @@
}
symbols& sym;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ adder& operator= (adder const&);
};
struct remover
@@ -313,6 +317,10 @@
}
symbols& sym;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ remover& operator= (remover const&);
};
adder add;
@@ -332,7 +340,7 @@
{
Char operator()(Char ch) const
{
- return CharEncoding::tolower(ch);
+ return static_cast<Char>(CharEncoding::tolower(ch));
}
};
Modified: trunk/boost/spirit/home/support/attributes.hpp
==============================================================================
--- trunk/boost/spirit/home/support/attributes.hpp (original)
+++ trunk/boost/spirit/home/support/attributes.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -439,7 +439,7 @@
{
typedef Attribute& type;
static Attribute& pre(Attribute& val) { return val; }
- static void post(Attribute& val, Attribute const& attr) {}
+ static void post(Attribute&, Attribute const&) {}
};
template <typename Attribute>
Modified: trunk/boost/spirit/home/support/char_class.hpp
==============================================================================
--- trunk/boost/spirit/home/support/char_class.hpp (original)
+++ trunk/boost/spirit/home/support/char_class.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -197,21 +197,21 @@
static Char
to(tag::lower, Char ch)
{
- return CharEncoding::tolower(char_type(ch));
+ return static_cast<Char>(CharEncoding::tolower(char_type(ch)));
}
template <typename Char>
static Char
to(tag::upper, Char ch)
{
- return CharEncoding::toupper(char_type(ch));
+ return static_cast<Char>(CharEncoding::toupper(char_type(ch)));
}
template <typename Char>
static Char
to(tag::ucs4, Char ch)
{
- return CharEncoding::toucs4(char_type(ch));
+ return static_cast<Char>(CharEncoding::toucs4(char_type(ch)));
}
template <typename Char>
Modified: trunk/boost/spirit/home/support/detail/what_function.hpp
==============================================================================
--- trunk/boost/spirit/home/support/detail/what_function.hpp (original)
+++ trunk/boost/spirit/home/support/detail/what_function.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -13,6 +13,7 @@
#include <string>
#include <boost/spirit/home/support/info.hpp>
+#include <boost/detail/workaround.hpp>
namespace boost { namespace spirit { namespace detail
{
@@ -28,11 +29,18 @@
template <typename Component>
void operator()(Component const& component) const
{
+#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1600))
+ component; // suppresses warning: C4100: 'component' : unreferenced formal parameter
+#endif
get<std::list<info> >(what.value).push_back(component.what(context));
}
info& what;
Context& context;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ what_function& operator= (what_function const&);
};
}}}
Modified: trunk/boost/spirit/home/support/info.hpp
==============================================================================
--- trunk/boost/spirit/home/support/info.hpp (original)
+++ trunk/boost/spirit/home/support/info.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -116,6 +116,10 @@
Callback& callback;
utf8_string const& tag;
int depth;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ basic_info_walker& operator= (basic_info_walker const&);
};
// bare-bones print support
@@ -127,7 +131,7 @@
simple_printer(Out& out)
: out(out) {}
- void element(string const& tag, string const& value, int depth) const
+ void element(string const& tag, string const& value, int /*depth*/) const
{
if (value == "")
out << '<' << tag << '>';
@@ -136,6 +140,10 @@
}
Out& out;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ simple_printer& operator= (simple_printer const&);
};
template <typename Out>
Modified: trunk/boost/spirit/home/support/iterators/detail/split_functor_input_policy.hpp
==============================================================================
--- trunk/boost/spirit/home/support/iterators/detail/split_functor_input_policy.hpp (original)
+++ trunk/boost/spirit/home/support/iterators/detail/split_functor_input_policy.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -162,6 +162,10 @@
explicit shared(Functor const& x) : ftor(x.second) {}
mutable typename Functor::second_type ftor;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ shared& operator= (shared const&);
};
};
Modified: trunk/boost/spirit/home/support/make_component.hpp
==============================================================================
--- trunk/boost/spirit/home/support/make_component.hpp (original)
+++ trunk/boost/spirit/home/support/make_component.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -76,7 +76,7 @@
result_type operator()(
typename impl::expr_param expr
- , typename impl::state_param state
+ , typename impl::state_param /*state*/
, typename impl::data_param data
) const
{
Modified: trunk/boost/spirit/home/support/modify.hpp
==============================================================================
--- trunk/boost/spirit/home/support/modify.hpp (original)
+++ trunk/boost/spirit/home/support/modify.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -99,7 +99,7 @@
template <typename Tag, typename Modifiers>
Modifiers
- op(Tag tag, Modifiers modifiers, mpl::false_) const
+ op(Tag /*tag*/, Modifiers modifiers, mpl::false_) const
{
return modifiers;
}
Modified: trunk/boost/spirit/home/support/multi_pass_wrapper.hpp
==============================================================================
--- trunk/boost/spirit/home/support/multi_pass_wrapper.hpp (original)
+++ trunk/boost/spirit/home/support/multi_pass_wrapper.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -28,7 +28,7 @@
template <typename Iterator>
void clear_queue(Iterator&
- , BOOST_SCOPED_ENUM(clear_mode) mode = clear_mode::clear_if_enabled)
+ , BOOST_SCOPED_ENUM(clear_mode) /*mode*/ = clear_mode::clear_if_enabled)
{}
template <typename Iterator>
Modified: trunk/boost/spirit/home/support/nonterminal/expand_arg.hpp
==============================================================================
--- trunk/boost/spirit/home/support/nonterminal/expand_arg.hpp (original)
+++ trunk/boost/spirit/home/support/nonterminal/expand_arg.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -73,6 +73,10 @@
}
Context& context;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ expand_arg& operator= (expand_arg const&);
};
}}}
Modified: trunk/boost/spirit/home/support/terminal.hpp
==============================================================================
--- trunk/boost/spirit/home/support/terminal.hpp (original)
+++ trunk/boost/spirit/home/support/terminal.hpp 2009-11-08 23:01:15 EST (Sun, 08 Nov 2009)
@@ -395,6 +395,10 @@
, phoenix::as_actor<A1>::convert(_1)
, phoenix::as_actor<A2>::convert(_2));
}
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ terminal& operator= (terminal const&);
};
///////////////////////////////////////////////////////////////////////////
@@ -446,6 +450,10 @@
stateful_tag(data_type const& data) : data_(data) {}
data_type data_;
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ stateful_tag& operator= (stateful_tag const&);
};
}
@@ -459,6 +467,10 @@
stateful_tag_type() {}
stateful_tag_type(Data const& data)
: spirit::terminal<tag_type>(data) {}
+
+ private:
+ // silence MSVC warning C4512: assignment operator could not be generated
+ stateful_tag_type& operator= (stateful_tag_type const&);
};
namespace detail
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk