diff --git a/include/boost/regex/concepts.hpp b/include/boost/regex/concepts.hpp index 864bed24..7a3a8470 100644 --- a/include/boost/regex/concepts.hpp +++ b/include/boost/regex/concepts.hpp @@ -205,6 +205,8 @@ struct RegexTraitsConcept const traits m_ctraits; const char_type* m_pointer; char_type m_char; +private: + RegexTraitsConcept& operator=(RegexTraitsConcept&); }; // @@ -403,6 +405,8 @@ struct BaseRegexConcept match_results_type m3(m1); m1 = m2; + int ival = 0; + mr_size_type mrs = m_cresults.size(); ignore_unused_variable_warning(mrs); mrs = m_cresults.max_size(); @@ -411,14 +415,14 @@ struct BaseRegexConcept ignore_unused_variable_warning(b); mr_difference_type mrd = m_cresults.length(); ignore_unused_variable_warning(mrd); - mrd = m_cresults.length(mrs); + mrd = m_cresults.length(ival); ignore_unused_variable_warning(mrd); mrd = m_cresults.position(); ignore_unused_variable_warning(mrd); mrd = m_cresults.position(mrs); ignore_unused_variable_warning(mrd); - mr_const_reference mrcr = m_cresults[m_size]; + mr_const_reference mrcr = m_cresults[ival]; ignore_unused_variable_warning(mrcr); mr_const_reference mrcr2 = m_cresults.prefix(); ignore_unused_variable_warning(mrcr2); @@ -778,6 +782,8 @@ struct BoostRegexConcept | global_regex_namespace::regex_constants::format_no_copy | global_regex_namespace::regex_constants::format_first_only; + (void)mopts; + function_requires >(); const global_regex_namespace::regex_error except(global_regex_namespace::regex_constants::error_collate); std::ptrdiff_t pt = except.position(); diff --git a/include/boost/regex/v4/basic_regex_creator.hpp b/include/boost/regex/v4/basic_regex_creator.hpp index c3b93e63..ac0408ab 100644 --- a/include/boost/regex/v4/basic_regex_creator.hpp +++ b/include/boost/regex/v4/basic_regex_creator.hpp @@ -572,7 +572,7 @@ re_syntax_base* basic_regex_creator::append_set( // Oops error: return 0; } - BOOST_ASSERT(c3[1] == 0); + BOOST_ASSERT(c3[1] == charT(0)); for(unsigned i = 0; i < (1u << CHAR_BIT); ++i) { c3[0] = static_cast(i); diff --git a/include/boost/regex/v4/match_results.hpp b/include/boost/regex/v4/match_results.hpp index 72538fc0..024cd03c 100644 --- a/include/boost/regex/v4/match_results.hpp +++ b/include/boost/regex/v4/match_results.hpp @@ -88,7 +88,7 @@ public: return m_subs[sub].length(); return 0; } - difference_type position(unsigned int sub = 0) const + difference_type position(size_type sub = 0) const { sub += 2; if(sub < m_subs.size()) diff --git a/include/boost/regex/v4/regex_replace.hpp b/include/boost/regex/v4/regex_replace.hpp index a852ffec..0dabba16 100644 --- a/include/boost/regex/v4/regex_replace.hpp +++ b/include/boost/regex/v4/regex_replace.hpp @@ -45,7 +45,7 @@ OutputIterator regex_replace(OutputIterator out, } else { - BidirectionalIterator last_m = first; + BidirectionalIterator last_m(first); while(i != j) { if(!(flags & regex_constants::format_no_copy))