[libcxx-commits] [libcxx] r352512 - Mark some of the behavior in the move w/allocator constructors of deque/unordered containers as 'libc++-specific'. Thanks to Andrey Maksimov for pointing this out.
Marshall Clow via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Jan 29 08:12:45 PST 2019
Author: marshall
Date: Tue Jan 29 08:12:45 2019
New Revision: 352512
URL: http://llvm.org/viewvc/llvm-project?rev=352512&view=rev
Log:
Mark some of the behavior in the move w/allocator constructors of deque/unordered containers as 'libc++-specific'. Thanks to Andrey Maksimov for pointing this out.
Modified:
libcxx/trunk/test/std/containers/associative/map/map.cons/move_alloc.pass.cpp
libcxx/trunk/test/std/containers/associative/multimap/multimap.cons/move_alloc.pass.cpp
libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/move_alloc.pass.cpp
libcxx/trunk/test/std/containers/associative/set/set.cons/move_alloc.pass.cpp
libcxx/trunk/test/std/containers/sequences/deque/deque.cons/move_alloc.pass.cpp
Modified: libcxx/trunk/test/std/containers/associative/map/map.cons/move_alloc.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/map/map.cons/move_alloc.pass.cpp?rev=352512&r1=352511&r2=352512&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/associative/map/map.cons/move_alloc.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/associative/map/map.cons/move_alloc.pass.cpp Tue Jan 29 08:12:45 2019
@@ -17,6 +17,7 @@
#include <map>
#include <cassert>
+#include "test_macros.h"
#include "MoveOnly.h"
#include "../../../test_compare.h"
#include "test_allocator.h"
@@ -62,7 +63,7 @@ int main()
assert(m3 == m2);
assert(m3.get_allocator() == A(7));
assert(m3.key_comp() == C(5));
- assert(m1.empty());
+ LIBCPP_ASSERT(m1.empty());
}
{
typedef std::pair<MoveOnly, MoveOnly> V;
@@ -101,7 +102,7 @@ int main()
assert(m3 == m2);
assert(m3.get_allocator() == A(5));
assert(m3.key_comp() == C(5));
- assert(m1.empty());
+ LIBCPP_ASSERT(m1.empty());
}
{
typedef std::pair<MoveOnly, MoveOnly> V;
@@ -140,7 +141,7 @@ int main()
assert(m3 == m2);
assert(m3.get_allocator() == A(5));
assert(m3.key_comp() == C(5));
- assert(m1.empty());
+ LIBCPP_ASSERT(m1.empty());
}
{
typedef Counter<int> T;
@@ -176,14 +177,14 @@ int main()
M m3(std::move(m1), A());
assert(m3 == m2);
- assert(m1.empty());
+ LIBCPP_ASSERT(m1.empty());
assert(Counter_base::gConstructed == num+6);
{
M m4(std::move(m2), A(5));
assert(Counter_base::gConstructed == num+6);
assert(m4 == m3);
- assert(m2.empty());
+ LIBCPP_ASSERT(m2.empty());
}
assert(Counter_base::gConstructed == num+3);
}
@@ -226,7 +227,7 @@ int main()
assert(m3 == m2);
assert(m3.get_allocator() == A());
assert(m3.key_comp() == C(5));
- assert(m1.empty());
+ LIBCPP_ASSERT(m1.empty());
}
{
typedef std::pair<MoveOnly, MoveOnly> V;
@@ -265,6 +266,6 @@ int main()
assert(m3 == m2);
assert(m3.get_allocator() == A{});
assert(m3.key_comp() == C(5));
- assert(m1.empty());
+ LIBCPP_ASSERT(m1.empty());
}
}
Modified: libcxx/trunk/test/std/containers/associative/multimap/multimap.cons/move_alloc.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/multimap/multimap.cons/move_alloc.pass.cpp?rev=352512&r1=352511&r2=352512&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/associative/multimap/multimap.cons/move_alloc.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/associative/multimap/multimap.cons/move_alloc.pass.cpp Tue Jan 29 08:12:45 2019
@@ -17,6 +17,7 @@
#include <map>
#include <cassert>
+#include "test_macros.h"
#include "MoveOnly.h"
#include "../../../test_compare.h"
#include "test_allocator.h"
@@ -62,7 +63,7 @@ int main()
assert(m3 == m2);
assert(m3.get_allocator() == A(7));
assert(m3.key_comp() == C(5));
- assert(m1.empty());
+ LIBCPP_ASSERT(m1.empty());
}
{
typedef std::pair<MoveOnly, MoveOnly> V;
@@ -101,7 +102,7 @@ int main()
assert(m3 == m2);
assert(m3.get_allocator() == A(5));
assert(m3.key_comp() == C(5));
- assert(m1.empty());
+ LIBCPP_ASSERT(m1.empty());
}
{
typedef std::pair<MoveOnly, MoveOnly> V;
@@ -140,7 +141,7 @@ int main()
assert(m3 == m2);
assert(m3.get_allocator() == A(5));
assert(m3.key_comp() == C(5));
- assert(m1.empty());
+ LIBCPP_ASSERT(m1.empty());
}
{
typedef Counter<int> T;
@@ -176,14 +177,14 @@ int main()
M m3(std::move(m1), A());
assert(m3 == m2);
- assert(m1.empty());
+ LIBCPP_ASSERT(m1.empty());
assert(Counter_base::gConstructed == 3*num);
{
M m4(std::move(m2), A(5));
assert(Counter_base::gConstructed == 3*num);
assert(m4 == m3);
- assert(m2.empty());
+ LIBCPP_ASSERT(m2.empty());
}
assert(Counter_base::gConstructed == 2*num);
}
@@ -226,7 +227,7 @@ int main()
assert(m3 == m2);
assert(m3.get_allocator() == A());
assert(m3.key_comp() == C(5));
- assert(m1.empty());
+ LIBCPP_ASSERT(m1.empty());
}
{
typedef std::pair<MoveOnly, MoveOnly> V;
@@ -265,6 +266,6 @@ int main()
assert(m3 == m2);
assert(m3.get_allocator() == A{});
assert(m3.key_comp() == C(5));
- assert(m1.empty());
+ LIBCPP_ASSERT(m1.empty());
}
}
Modified: libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/move_alloc.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/move_alloc.pass.cpp?rev=352512&r1=352511&r2=352512&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/move_alloc.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/move_alloc.pass.cpp Tue Jan 29 08:12:45 2019
@@ -17,6 +17,7 @@
#include <set>
#include <cassert>
+#include "test_macros.h"
#include "MoveOnly.h"
#include "../../../test_compare.h"
#include "test_allocator.h"
@@ -60,7 +61,7 @@ int main()
assert(m3 == m2);
assert(m3.get_allocator() == A(7));
assert(m3.key_comp() == C(5));
- assert(m1.empty());
+ LIBCPP_ASSERT(m1.empty());
}
{
typedef MoveOnly V;
@@ -98,7 +99,7 @@ int main()
assert(m3 == m2);
assert(m3.get_allocator() == A(5));
assert(m3.key_comp() == C(5));
- assert(m1.empty());
+ LIBCPP_ASSERT(m1.empty());
}
{
typedef MoveOnly V;
@@ -136,7 +137,7 @@ int main()
assert(m3 == m2);
assert(m3.get_allocator() == A(5));
assert(m3.key_comp() == C(5));
- assert(m1.empty());
+ LIBCPP_ASSERT(m1.empty());
}
{
typedef Counter<int> V;
@@ -170,14 +171,14 @@ int main()
M m3(std::move(m1), A());
assert(m3 == m2);
- assert(m1.empty());
+ LIBCPP_ASSERT(m1.empty());
assert(Counter_base::gConstructed == 3*num);
{
M m4(std::move(m2), A(5));
assert(Counter_base::gConstructed == 3*num);
assert(m4 == m3);
- assert(m2.empty());
+ LIBCPP_ASSERT(m2.empty());
}
assert(Counter_base::gConstructed == 2*num);
}
Modified: libcxx/trunk/test/std/containers/associative/set/set.cons/move_alloc.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/set/set.cons/move_alloc.pass.cpp?rev=352512&r1=352511&r2=352512&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/associative/set/set.cons/move_alloc.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/associative/set/set.cons/move_alloc.pass.cpp Tue Jan 29 08:12:45 2019
@@ -17,6 +17,7 @@
#include <set>
#include <cassert>
+#include "test_macros.h"
#include "MoveOnly.h"
#include "../../../test_compare.h"
#include "test_allocator.h"
@@ -60,7 +61,7 @@ int main()
assert(m3 == m2);
assert(m3.get_allocator() == A(7));
assert(m3.key_comp() == C(5));
- assert(m1.empty());
+ LIBCPP_ASSERT(m1.empty());
}
{
typedef MoveOnly V;
@@ -98,7 +99,7 @@ int main()
assert(m3 == m2);
assert(m3.get_allocator() == A(5));
assert(m3.key_comp() == C(5));
- assert(m1.empty());
+ LIBCPP_ASSERT(m1.empty());
}
{
typedef MoveOnly V;
@@ -136,7 +137,7 @@ int main()
assert(m3 == m2);
assert(m3.get_allocator() == A(5));
assert(m3.key_comp() == C(5));
- assert(m1.empty());
+ LIBCPP_ASSERT(m1.empty());
}
{
typedef Counter<int> V;
@@ -170,14 +171,14 @@ int main()
M m3(std::move(m1), A());
assert(m3 == m2);
- assert(m1.empty());
+ LIBCPP_ASSERT(m1.empty());
assert(Counter_base::gConstructed == 6+num);
{
M m4(std::move(m2), A(5));
assert(Counter_base::gConstructed == 6+num);
assert(m4 == m3);
- assert(m2.empty());
+ LIBCPP_ASSERT(m2.empty());
}
assert(Counter_base::gConstructed == 3+num);
}
Modified: libcxx/trunk/test/std/containers/sequences/deque/deque.cons/move_alloc.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/sequences/deque/deque.cons/move_alloc.pass.cpp?rev=352512&r1=352511&r2=352512&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/sequences/deque/deque.cons/move_alloc.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/sequences/deque/deque.cons/move_alloc.pass.cpp Tue Jan 29 08:12:45 2019
@@ -15,6 +15,7 @@
#include <deque>
#include <cassert>
+#include "test_macros.h"
#include "MoveOnly.h"
#include "test_allocator.h"
#include "min_allocator.h"
@@ -23,7 +24,7 @@ int main()
{
{
int ab[] = {3, 4, 2, 8, 0, 1, 44, 34, 45, 96, 80, 1, 13, 31, 45};
- int* an = ab + sizeof(ab)/sizeof(ab[0]);
+ const int* an = ab + sizeof(ab)/sizeof(ab[0]);
typedef test_allocator<MoveOnly> A;
std::deque<MoveOnly, A> c1(A(1));
for (int* p = ab; p < an; ++p)
@@ -31,14 +32,14 @@ int main()
std::deque<MoveOnly, A> c2(A(1));
for (int* p = ab; p < an; ++p)
c2.push_back(MoveOnly(*p));
- std::deque<MoveOnly, A> c3(std::move(c1), A(3));
+ std::deque<MoveOnly, A> c3(std::move(c1), A(3)); // unequal allocator
assert(c2 == c3);
assert(c3.get_allocator() == A(3));
- assert(c1.size() != 0);
+ LIBCPP_ASSERT(c1.size() != 0);
}
{
int ab[] = {3, 4, 2, 8, 0, 1, 44, 34, 45, 96, 80, 1, 13, 31, 45};
- int* an = ab + sizeof(ab)/sizeof(ab[0]);
+ const int* an = ab + sizeof(ab)/sizeof(ab[0]);
typedef test_allocator<MoveOnly> A;
std::deque<MoveOnly, A> c1(A(1));
for (int* p = ab; p < an; ++p)
@@ -46,14 +47,14 @@ int main()
std::deque<MoveOnly, A> c2(A(1));
for (int* p = ab; p < an; ++p)
c2.push_back(MoveOnly(*p));
- std::deque<MoveOnly, A> c3(std::move(c1), A(1));
+ std::deque<MoveOnly, A> c3(std::move(c1), A(1)); // equal allocator
assert(c2 == c3);
assert(c3.get_allocator() == A(1));
- assert(c1.size() == 0);
+ LIBCPP_ASSERT(c1.size() == 0);
}
{
int ab[] = {3, 4, 2, 8, 0, 1, 44, 34, 45, 96, 80, 1, 13, 31, 45};
- int* an = ab + sizeof(ab)/sizeof(ab[0]);
+ const int* an = ab + sizeof(ab)/sizeof(ab[0]);
typedef other_allocator<MoveOnly> A;
std::deque<MoveOnly, A> c1(A(1));
for (int* p = ab; p < an; ++p)
@@ -61,14 +62,14 @@ int main()
std::deque<MoveOnly, A> c2(A(1));
for (int* p = ab; p < an; ++p)
c2.push_back(MoveOnly(*p));
- std::deque<MoveOnly, A> c3(std::move(c1), A(3));
+ std::deque<MoveOnly, A> c3(std::move(c1), A(3)); // unequal allocator
assert(c2 == c3);
assert(c3.get_allocator() == A(3));
- assert(c1.size() != 0);
+ LIBCPP_ASSERT(c1.size() != 0);
}
{
int ab[] = {3, 4, 2, 8, 0, 1, 44, 34, 45, 96, 80, 1, 13, 31, 45};
- int* an = ab + sizeof(ab)/sizeof(ab[0]);
+ const int* an = ab + sizeof(ab)/sizeof(ab[0]);
typedef min_allocator<MoveOnly> A;
std::deque<MoveOnly, A> c1(A{});
for (int* p = ab; p < an; ++p)
@@ -76,9 +77,9 @@ int main()
std::deque<MoveOnly, A> c2(A{});
for (int* p = ab; p < an; ++p)
c2.push_back(MoveOnly(*p));
- std::deque<MoveOnly, A> c3(std::move(c1), A());
+ std::deque<MoveOnly, A> c3(std::move(c1), A()); // equal allocator
assert(c2 == c3);
assert(c3.get_allocator() == A());
- assert(c1.size() == 0);
+ LIBCPP_ASSERT(c1.size() == 0);
}
}
More information about the libcxx-commits
mailing list