diff --git a/libcxx/test/libcxx/containers/unord/unord.map/db_local_iterators_7.pass.cpp b/libcxx/test/libcxx/containers/unord/unord.map/db_local_iterators_7.pass.cpp --- a/libcxx/test/libcxx/containers/unord/unord.map/db_local_iterators_7.pass.cpp +++ b/libcxx/test/libcxx/containers/unord/unord.map/db_local_iterators_7.pass.cpp @@ -23,9 +23,13 @@ int main(int, char**) { typedef std::unordered_map C; - C c(1); - C::local_iterator i = c.begin(0); + C c; + c.insert(std::make_pair(42, std::string())); + C::size_type b = c.bucket(42); + C::local_iterator i = c.begin(b); + assert(i != c.end(b)); ++i; + assert(i == c.end(b)); ++i; assert(false); diff --git a/libcxx/test/libcxx/containers/unord/unord.map/db_local_iterators_9.pass.cpp b/libcxx/test/libcxx/containers/unord/unord.map/db_local_iterators_9.pass.cpp --- a/libcxx/test/libcxx/containers/unord/unord.map/db_local_iterators_9.pass.cpp +++ b/libcxx/test/libcxx/containers/unord/unord.map/db_local_iterators_9.pass.cpp @@ -27,9 +27,12 @@ int main(int, char**) { typedef std::unordered_map, std::equal_to, min_allocator>> C; - C c(1); - C::local_iterator i = c.begin(0); + C c({{42, std::string()}}); + C::size_type b = c.bucket(42); + C::local_iterator i = c.begin(b); + assert(i != c.end(b)); ++i; + assert(i == c.end(b)); ++i; assert(false); diff --git a/libcxx/test/libcxx/containers/unord/unord.multimap/db_local_iterators_7.pass.cpp b/libcxx/test/libcxx/containers/unord/unord.multimap/db_local_iterators_7.pass.cpp --- a/libcxx/test/libcxx/containers/unord/unord.multimap/db_local_iterators_7.pass.cpp +++ b/libcxx/test/libcxx/containers/unord/unord.multimap/db_local_iterators_7.pass.cpp @@ -23,9 +23,13 @@ int main(int, char**) { typedef std::unordered_multimap C; - C c(1); - C::local_iterator i = c.begin(0); + C c; + c.insert(std::make_pair(42, std::string())); + C::size_type b = c.bucket(42); + C::local_iterator i = c.begin(b); + assert(i != c.end(b)); ++i; + assert(i == c.end(b)); ++i; assert(false); diff --git a/libcxx/test/libcxx/containers/unord/unord.multimap/db_local_iterators_9.pass.cpp b/libcxx/test/libcxx/containers/unord/unord.multimap/db_local_iterators_9.pass.cpp --- a/libcxx/test/libcxx/containers/unord/unord.multimap/db_local_iterators_9.pass.cpp +++ b/libcxx/test/libcxx/containers/unord/unord.multimap/db_local_iterators_9.pass.cpp @@ -28,9 +28,13 @@ int main(int, char**) { typedef std::unordered_multimap, std::equal_to, min_allocator>> C; - C c(1); - C::local_iterator i = c.begin(0); + C c({{1, std::string()}}); + c.insert(std::make_pair(42, std::string())); + C::size_type b = c.bucket(42); + C::local_iterator i = c.begin(b); + assert(i != c.end(b)); ++i; + assert(i == c.end(b)); ++i; assert(false); diff --git a/libcxx/test/libcxx/containers/unord/unord.multiset/db_iterators_7.pass.cpp b/libcxx/test/libcxx/containers/unord/unord.multiset/db_iterators_7.pass.cpp --- a/libcxx/test/libcxx/containers/unord/unord.multiset/db_iterators_7.pass.cpp +++ b/libcxx/test/libcxx/containers/unord/unord.multiset/db_iterators_7.pass.cpp @@ -23,8 +23,10 @@ int main(int, char**) { typedef int T; typedef std::unordered_multiset C; - C c(1); + C c; + c.insert(42); C::iterator i = c.begin(); + assert(i != c.end()); ++i; assert(i == c.end()); ++i; diff --git a/libcxx/test/libcxx/containers/unord/unord.multiset/db_iterators_9.pass.cpp b/libcxx/test/libcxx/containers/unord/unord.multiset/db_iterators_9.pass.cpp --- a/libcxx/test/libcxx/containers/unord/unord.multiset/db_iterators_9.pass.cpp +++ b/libcxx/test/libcxx/containers/unord/unord.multiset/db_iterators_9.pass.cpp @@ -26,8 +26,9 @@ int main(int, char**) { typedef int T; typedef std::unordered_multiset, std::equal_to, min_allocator> C; - C c(1); + C c({42}); C::iterator i = c.begin(); + assert(i != c.end()); ++i; assert(i == c.end()); ++i; diff --git a/libcxx/test/libcxx/containers/unord/unord.multiset/db_local_iterators_7.pass.cpp b/libcxx/test/libcxx/containers/unord/unord.multiset/db_local_iterators_7.pass.cpp --- a/libcxx/test/libcxx/containers/unord/unord.multiset/db_local_iterators_7.pass.cpp +++ b/libcxx/test/libcxx/containers/unord/unord.multiset/db_local_iterators_7.pass.cpp @@ -23,9 +23,13 @@ int main(int, char**) { typedef int T; typedef std::unordered_multiset C; - C c(1); - C::local_iterator i = c.begin(0); + C c; + c.insert(42); + C::size_type b = c.bucket(42); + C::local_iterator i = c.begin(b); + assert(i != c.end(b)); ++i; + assert(i == c.end(b)); ++i; assert(false); diff --git a/libcxx/test/libcxx/containers/unord/unord.multiset/db_local_iterators_9.pass.cpp b/libcxx/test/libcxx/containers/unord/unord.multiset/db_local_iterators_9.pass.cpp --- a/libcxx/test/libcxx/containers/unord/unord.multiset/db_local_iterators_9.pass.cpp +++ b/libcxx/test/libcxx/containers/unord/unord.multiset/db_local_iterators_9.pass.cpp @@ -26,9 +26,12 @@ int main(int, char**) { typedef int T; typedef std::unordered_multiset, std::equal_to, min_allocator> C; - C c(1); - C::local_iterator i = c.begin(0); + C c({42}); + C::size_type b = c.bucket(42); + C::local_iterator i = c.begin(b); + assert(i != c.end(b)); ++i; + assert(i == c.end(b)); ++i; assert(false); diff --git a/libcxx/test/libcxx/containers/unord/unord.set/db_iterators_7.pass.cpp b/libcxx/test/libcxx/containers/unord/unord.set/db_iterators_7.pass.cpp --- a/libcxx/test/libcxx/containers/unord/unord.set/db_iterators_7.pass.cpp +++ b/libcxx/test/libcxx/containers/unord/unord.set/db_iterators_7.pass.cpp @@ -23,8 +23,10 @@ int main(int, char**) { typedef int T; typedef std::unordered_set C; - C c(1); + C c; + c.insert(42); C::iterator i = c.begin(); + assert(i != c.end()); ++i; assert(i == c.end()); ++i; diff --git a/libcxx/test/libcxx/containers/unord/unord.set/db_iterators_9.pass.cpp b/libcxx/test/libcxx/containers/unord/unord.set/db_iterators_9.pass.cpp --- a/libcxx/test/libcxx/containers/unord/unord.set/db_iterators_9.pass.cpp +++ b/libcxx/test/libcxx/containers/unord/unord.set/db_iterators_9.pass.cpp @@ -26,8 +26,9 @@ int main(int, char**) { typedef int T; typedef std::unordered_set, std::equal_to, min_allocator> C; - C c(1); + C c({42}); C::iterator i = c.begin(); + assert(i != c.end()); ++i; assert(i == c.end()); ++i; diff --git a/libcxx/test/libcxx/containers/unord/unord.set/db_local_iterators_7.pass.cpp b/libcxx/test/libcxx/containers/unord/unord.set/db_local_iterators_7.pass.cpp --- a/libcxx/test/libcxx/containers/unord/unord.set/db_local_iterators_7.pass.cpp +++ b/libcxx/test/libcxx/containers/unord/unord.set/db_local_iterators_7.pass.cpp @@ -23,9 +23,13 @@ int main(int, char**) { typedef int T; typedef std::unordered_set C; - C c(1); - C::local_iterator i = c.begin(0); + C c; + c.insert(42); + C::size_type b = c.bucket(42); + C::local_iterator i = c.begin(b); + assert(i != c.end(b)); ++i; + assert(i == c.end(b)); ++i; assert(false); diff --git a/libcxx/test/libcxx/containers/unord/unord.set/db_local_iterators_9.pass.cpp b/libcxx/test/libcxx/containers/unord/unord.set/db_local_iterators_9.pass.cpp --- a/libcxx/test/libcxx/containers/unord/unord.set/db_local_iterators_9.pass.cpp +++ b/libcxx/test/libcxx/containers/unord/unord.set/db_local_iterators_9.pass.cpp @@ -26,9 +26,12 @@ int main(int, char**) { typedef int T; typedef std::unordered_set, std::equal_to, min_allocator> C; - C c(1); - C::local_iterator i = c.begin(0); + C c({42}); + C::size_type b = c.bucket(42); + C::local_iterator i = c.begin(b); + assert(i != c.end(b)); ++i; + assert(i == c.end(b)); ++i; assert(false);