Author: marshall Date: Mon Nov 16 16:18:36 2015 New Revision: 253257 URL: http://llvm.org/viewvc/llvm-project?rev=253257&view=rev Log: More tests for LWG#2156
Modified: libcxx/trunk/test/std/containers/unord/unord.map/reserve.pass.cpp libcxx/trunk/test/std/containers/unord/unord.multimap/reserve.pass.cpp libcxx/trunk/test/std/containers/unord/unord.multiset/reserve.pass.cpp libcxx/trunk/test/std/containers/unord/unord.set/reserve.pass.cpp Modified: libcxx/trunk/test/std/containers/unord/unord.map/reserve.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/unord/unord.map/reserve.pass.cpp?rev=253257&r1=253256&r2=253257&view=diff ============================================================================== --- libcxx/trunk/test/std/containers/unord/unord.map/reserve.pass.cpp (original) +++ libcxx/trunk/test/std/containers/unord/unord.map/reserve.pass.cpp Mon Nov 16 16:18:36 2015 @@ -31,6 +31,21 @@ void test(const C& c) assert(c.at(4) == "four"); } +void reserve_invariant(size_t n) // LWG #2156 +{ + for (size_t i = 0; i < n; ++i) + { + std::unordered_map<size_t, size_t> c; + c.reserve(n); + size_t buckets = c.bucket_count(); + for (size_t j = 0; j < i; ++j) + { + c[i] = i; + assert(buckets == c.bucket_count()); + } + } +} + int main() { { @@ -88,4 +103,5 @@ int main() test(c); } #endif + reserve_invariant(20); } Modified: libcxx/trunk/test/std/containers/unord/unord.multimap/reserve.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/unord/unord.multimap/reserve.pass.cpp?rev=253257&r1=253256&r2=253257&view=diff ============================================================================== --- libcxx/trunk/test/std/containers/unord/unord.multimap/reserve.pass.cpp (original) +++ libcxx/trunk/test/std/containers/unord/unord.multimap/reserve.pass.cpp Mon Nov 16 16:18:36 2015 @@ -33,6 +33,21 @@ void test(const C& c) assert(c.find(4)->second == "four"); } +void reserve_invariant(size_t n) // LWG #2156 +{ + for (size_t i = 0; i < n; ++i) + { + std::unordered_multimap<size_t, size_t> c; + c.reserve(n); + size_t buckets = c.bucket_count(); + for (size_t j = 0; j < i; ++j) + { + c[i] = i; + assert(buckets == c.bucket_count()); + } + } +} + int main() { { @@ -90,4 +105,5 @@ int main() test(c); } #endif + reserve_invariant(20); } Modified: libcxx/trunk/test/std/containers/unord/unord.multiset/reserve.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/unord/unord.multiset/reserve.pass.cpp?rev=253257&r1=253256&r2=253257&view=diff ============================================================================== --- libcxx/trunk/test/std/containers/unord/unord.multiset/reserve.pass.cpp (original) +++ libcxx/trunk/test/std/containers/unord/unord.multiset/reserve.pass.cpp Mon Nov 16 16:18:36 2015 @@ -30,6 +30,21 @@ void test(const C& c) assert(c.count(4) == 1); } +void reserve_invariant(size_t n) // LWG #2156 +{ + for (size_t i = 0; i < n; ++i) + { + std::unordered_multiset<size_t> c; + c.reserve(n); + size_t buckets = c.bucket_count(); + for (size_t j = 0; j < i; ++j) + { + c.insert(i); + assert(buckets == c.bucket_count()); + } + } +} + int main() { { @@ -87,4 +102,5 @@ int main() test(c); } #endif + reserve_invariant(20); } Modified: libcxx/trunk/test/std/containers/unord/unord.set/reserve.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/unord/unord.set/reserve.pass.cpp?rev=253257&r1=253256&r2=253257&view=diff ============================================================================== --- libcxx/trunk/test/std/containers/unord/unord.set/reserve.pass.cpp (original) +++ libcxx/trunk/test/std/containers/unord/unord.set/reserve.pass.cpp Mon Nov 16 16:18:36 2015 @@ -30,6 +30,21 @@ void test(const C& c) assert(c.count(4) == 1); } +void reserve_invariant(size_t n) // LWG #2156 +{ + for (size_t i = 0; i < n; ++i) + { + std::unordered_set<size_t> c; + c.reserve(n); + size_t buckets = c.bucket_count(); + for (size_t j = 0; j < i; ++j) + { + c.insert(i); + assert(buckets == c.bucket_count()); + } + } +} + int main() { { @@ -87,4 +102,5 @@ int main() test(c); } #endif + reserve_invariant(20); } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits