[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