Fix more warnings

This commit is contained in:
Daniel James 2016-10-11 10:07:07 +01:00
parent ade302f0a0
commit a316d3fa46
5 changed files with 26 additions and 20 deletions

View File

@ -17,7 +17,7 @@ template <class T>
struct insert_test_base : public test::exception_base
{
test::random_values<T> values;
insert_test_base(unsigned int count = 5) : values(count) {}
insert_test_base(unsigned int count = 5) : values(count, test::limited_range) {}
typedef T data_type;
typedef test::strong<T> strong_type;
@ -136,7 +136,7 @@ struct insert_test_rehash1 : public insert_test_base<T>
ceil((double) bucket_count * (double) x.max_load_factor()) - 1);
BOOST_TEST(initial_elements < this->values.size());
x.insert(this->values.begin(),
boost::next(this->values.begin(), initial_elements));
this->values.begin() + initial_elements);
BOOST_TEST(bucket_count == x.bucket_count());
return x;
}
@ -147,8 +147,7 @@ struct insert_test_rehash1 : public insert_test_base<T>
BOOST_DEDUCED_TYPENAME T::const_iterator pos = x.cbegin();
for(BOOST_DEDUCED_TYPENAME test::random_values<T>::const_iterator
it = boost::next(this->values.begin(), x.size()),
end = this->values.end();
it = this->values.begin() + x.size(), end = this->values.end();
it != end && count < 10; ++it, ++count)
{
strong.store(x, test::detail::tracker.count_allocations);
@ -171,7 +170,7 @@ struct insert_test_rehash2 : public insert_test_rehash1<T>
int count = 0;
for(BOOST_DEDUCED_TYPENAME test::random_values<T>::const_iterator
it = boost::next(this->values.begin(), x.size()),
it = this->values.begin(), x.size()),
end = this->values.end();
it != end && count < 10; ++it, ++count)
{
@ -208,8 +207,7 @@ struct insert_test_rehash3 : public insert_test_base<T>
rehash_bucket_count > 5 ? rehash_bucket_count - 5 : 1;
BOOST_TEST(initial_elements < this->values.size());
x.insert(this->values.begin(),
boost::next(this->values.begin(), initial_elements));
x.insert(this->values.begin(), this->values.begin() + initial_elements);
BOOST_TEST(original_bucket_count == x.bucket_count());
return x;
}
@ -217,8 +215,8 @@ struct insert_test_rehash3 : public insert_test_base<T>
void run(T& x) const {
BOOST_DEDUCED_TYPENAME T::size_type bucket_count = x.bucket_count();
x.insert(boost::next(this->values.begin(), x.size()),
boost::next(this->values.begin(), x.size() + 20));
x.insert(this->values.begin() + x.size(),
this->values.begin() + x.size() + 20);
// This isn't actually a failure, but it means the test isn't doing its
// job.

View File

@ -150,8 +150,10 @@ namespace exception
switch(tag_) {
case 1:
result = x.tag1_;
break;
case 2:
result = x.tag2_;
break;
default:
result = x.tag1_ + x.tag2_;
}

View File

@ -143,9 +143,13 @@ bool compare(Range1 const& x, Range2 const& y)
template <class Container>
bool general_erase_range_test(Container& x, std::size_t start, std::size_t end)
{
typedef BOOST_DEDUCED_TYPENAME Container::difference_type difference_type;
difference_type start2 = start, end2 = end;
collide_list l(x.begin(), x.end());
l.erase(boost::next(l.begin(), start), boost::next(l.begin(), end));
x.erase(boost::next(x.begin(), start), boost::next(x.begin(), end));
l.erase(boost::next(l.begin(), start2), boost::next(l.begin(), end2));
x.erase(boost::next(x.begin(), start2), boost::next(x.begin(), end2));
test::check_equivalent_keys(x);
return compare(l, x);

View File

@ -91,7 +91,8 @@ void erase_tests1(Container*, test::random_generator generator)
prev = pos = x.begin();
}
else {
prev = boost::next(x.begin(), index - 1);
prev = boost::next(x.begin(),
static_cast<difference_type>(index - 1));
pos = boost::next(prev);
}
next = boost::next(pos);
@ -220,7 +221,8 @@ void erase_tests1(Container*, test::random_generator generator)
prev = pos = x.begin();
}
else {
prev = boost::next(x.begin(), index - 1);
prev = boost::next(x.begin(),
static_cast<difference_type>(index - 1));
pos = boost::next(prev);
}
next = boost::next(pos);

View File

@ -443,17 +443,17 @@ void default_emplace_tests(X*, test::random_generator)
x.emplace();
BOOST_TEST(x.size() == 1);
x.emplace();
BOOST_TEST(x.size() == (is_unique ? 1: 2));
BOOST_TEST(x.size() == (is_unique ? 1u : 2u));
x.emplace();
BOOST_TEST(x.size() == (is_unique ? 1: 3));
BOOST_TEST(x.size() == (is_unique ? 1u : 3u));
typename X::value_type y;
BOOST_TEST(x.count(test::get_key<X>(y)) == (is_unique ? 1: 3));
BOOST_TEST(x.count(test::get_key<X>(y)) == (is_unique ? 1u : 3u));
BOOST_TEST(*x.equal_range(test::get_key<X>(y)).first == y);
x.emplace(y);
BOOST_TEST(x.size() == (is_unique ? 1: 4));
BOOST_TEST(x.count(test::get_key<X>(y)) == (is_unique ? 1: 4));
BOOST_TEST(x.size() == (is_unique ? 1u : 4u));
BOOST_TEST(x.count(test::get_key<X>(y)) == (is_unique ? 1u : 4u));
BOOST_TEST(*x.equal_range(test::get_key<X>(y)).first == y);
x.clear();
@ -461,9 +461,9 @@ void default_emplace_tests(X*, test::random_generator)
x.emplace(y);
BOOST_TEST(x.size() == 1);
x.emplace(y);
BOOST_TEST(x.size() == (is_unique ? 1: 2));
BOOST_TEST(x.size() == (is_unique ? 1u : 2u));
BOOST_TEST(x.count(test::get_key<X>(y)) == (is_unique ? 1: 2));
BOOST_TEST(x.count(test::get_key<X>(y)) == (is_unique ? 1u : 2u));
BOOST_TEST(*x.equal_range(test::get_key<X>(y)).first == y);
}