Make move_noexcept.pass.cpp tests more portable. Patch from STL@microsoft.com
authorEric Fiselier <eric@efcs.ca>
Sun, 24 Jul 2016 23:19:51 +0000 (23:19 +0000)
committerEric Fiselier <eric@efcs.ca>
Sun, 24 Jul 2016 23:19:51 +0000 (23:19 +0000)
llvm-svn: 276581

14 files changed:
libcxx/test/std/containers/associative/map/map.cons/move_noexcept.pass.cpp
libcxx/test/std/containers/associative/multimap/multimap.cons/move_noexcept.pass.cpp
libcxx/test/std/containers/associative/multiset/multiset.cons/move_noexcept.pass.cpp
libcxx/test/std/containers/associative/set/set.cons/move_noexcept.pass.cpp
libcxx/test/std/containers/container.adaptors/queue/queue.cons/move_noexcept.pass.cpp
libcxx/test/std/containers/container.adaptors/stack/stack.cons/move_noexcept.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.cons/move_noexcept.pass.cpp
libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/move_noexcept.pass.cpp
libcxx/test/std/containers/sequences/list/list.cons/move_noexcept.pass.cpp
libcxx/test/std/containers/sequences/vector.bool/move_noexcept.pass.cpp
libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/move_noexcept.pass.cpp
libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/move_noexcept.pass.cpp
libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/move_noexcept.pass.cpp
libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/move_noexcept.pass.cpp

index 1c2a242..b530141 100644 (file)
@@ -20,6 +20,7 @@
 #include <map>
 #include <cassert>
 
+#include "test_macros.h"
 #include "MoveOnly.h"
 #include "test_allocator.h"
 
@@ -36,15 +37,15 @@ int main()
     typedef std::pair<const MoveOnly, MoveOnly> V;
     {
         typedef std::map<MoveOnly, MoveOnly> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::map<MoveOnly, MoveOnly, std::less<MoveOnly>, test_allocator<V>> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::map<MoveOnly, MoveOnly, std::less<MoveOnly>, other_allocator<V>> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::map<MoveOnly, MoveOnly, some_comp<MoveOnly>> C;
index 8932b4f..e422515 100644 (file)
@@ -20,6 +20,7 @@
 #include <map>
 #include <cassert>
 
+#include "test_macros.h"
 #include "MoveOnly.h"
 #include "test_allocator.h"
 
@@ -36,15 +37,15 @@ int main()
     typedef std::pair<const MoveOnly, MoveOnly> V;
     {
         typedef std::multimap<MoveOnly, MoveOnly> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::multimap<MoveOnly, MoveOnly, std::less<MoveOnly>, test_allocator<V>> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::multimap<MoveOnly, MoveOnly, std::less<MoveOnly>, other_allocator<V>> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::multimap<MoveOnly, MoveOnly, some_comp<MoveOnly>> C;
index e3a7bee..69759e0 100644 (file)
@@ -20,6 +20,7 @@
 #include <set>
 #include <cassert>
 
+#include "test_macros.h"
 #include "MoveOnly.h"
 #include "test_allocator.h"
 
@@ -35,15 +36,15 @@ int main()
 {
     {
         typedef std::multiset<MoveOnly> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::multiset<MoveOnly, std::less<MoveOnly>, test_allocator<MoveOnly>> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::multiset<MoveOnly, std::less<MoveOnly>, other_allocator<MoveOnly>> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::multiset<MoveOnly, some_comp<MoveOnly>> C;
index 72c2f75..9a7538c 100644 (file)
@@ -20,6 +20,7 @@
 #include <set>
 #include <cassert>
 
+#include "test_macros.h"
 #include "MoveOnly.h"
 #include "test_allocator.h"
 
@@ -35,15 +36,15 @@ int main()
 {
     {
         typedef std::set<MoveOnly> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::set<MoveOnly, std::less<MoveOnly>, test_allocator<MoveOnly>> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::set<MoveOnly, std::less<MoveOnly>, other_allocator<MoveOnly>> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::set<MoveOnly, some_comp<MoveOnly>> C;
index 1c13b62..c8becb3 100644 (file)
 #include <queue>
 #include <cassert>
 
+#include "test_macros.h"
 #include "MoveOnly.h"
 
 int main()
 {
     {
         typedef std::queue<MoveOnly> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
 }
index 7eb563c..c34b7e0 100644 (file)
 #include <stack>
 #include <cassert>
 
+#include "test_macros.h"
 #include "MoveOnly.h"
 
 int main()
 {
     {
         typedef std::stack<MoveOnly> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
 }
index f53e1ba..e0669dc 100644 (file)
@@ -19,6 +19,7 @@
 #include <deque>
 #include <cassert>
 
+#include "test_macros.h"
 #include "MoveOnly.h"
 #include "test_allocator.h"
 
@@ -33,15 +34,15 @@ int main()
 {
     {
         typedef std::deque<MoveOnly> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::deque<MoveOnly, test_allocator<MoveOnly>> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::deque<MoveOnly, other_allocator<MoveOnly>> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::deque<MoveOnly, some_alloc<MoveOnly>> C;
index 0359133..089f6d6 100644 (file)
@@ -19,6 +19,7 @@
 #include <forward_list>
 #include <cassert>
 
+#include "test_macros.h"
 #include "MoveOnly.h"
 #include "test_allocator.h"
 
@@ -33,15 +34,15 @@ int main()
 {
     {
         typedef std::forward_list<MoveOnly> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::forward_list<MoveOnly, test_allocator<MoveOnly>> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::forward_list<MoveOnly, other_allocator<MoveOnly>> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::forward_list<MoveOnly, some_alloc<MoveOnly>> C;
index da2b6a3..b40cb71 100644 (file)
@@ -19,6 +19,7 @@
 #include <list>
 #include <cassert>
 
+#include "test_macros.h"
 #include "MoveOnly.h"
 #include "test_allocator.h"
 
@@ -33,15 +34,15 @@ int main()
 {
     {
         typedef std::list<MoveOnly> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::list<MoveOnly, test_allocator<MoveOnly>> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::list<MoveOnly, other_allocator<MoveOnly>> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::list<MoveOnly, some_alloc<MoveOnly>> C;
index 2153c79..3305d95 100644 (file)
@@ -19,6 +19,7 @@
 #include <vector>
 #include <cassert>
 
+#include "test_macros.h"
 #include "test_allocator.h"
 
 template <class T>
@@ -32,21 +33,21 @@ int main()
 {
     {
         typedef std::vector<bool> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::vector<bool, test_allocator<bool>> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::vector<bool, other_allocator<bool>> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::vector<bool, some_alloc<bool>> C;
     //  In C++17, move constructors for allocators are not allowed to throw
 #if TEST_STD_VER > 14
-        static_assert( std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT( std::is_nothrow_move_constructible<C>::value, "");
 #else
         static_assert(!std::is_nothrow_move_constructible<C>::value, "");
 #endif
index 16dc3dc..c40173e 100644 (file)
@@ -20,6 +20,7 @@
 #include <unordered_map>
 #include <cassert>
 
+#include "test_macros.h"
 #include "MoveOnly.h"
 #include "test_allocator.h"
 
@@ -43,17 +44,17 @@ int main()
 {
     {
         typedef std::unordered_map<MoveOnly, MoveOnly> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::unordered_map<MoveOnly, MoveOnly, std::hash<MoveOnly>,
                            std::equal_to<MoveOnly>, test_allocator<std::pair<const MoveOnly, MoveOnly>>> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::unordered_map<MoveOnly, MoveOnly, std::hash<MoveOnly>,
                           std::equal_to<MoveOnly>, other_allocator<std::pair<const MoveOnly, MoveOnly>>> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::unordered_map<MoveOnly, MoveOnly, some_hash<MoveOnly>> C;
index 965c464..94067c3 100644 (file)
@@ -20,6 +20,7 @@
 #include <unordered_map>
 #include <cassert>
 
+#include "test_macros.h"
 #include "MoveOnly.h"
 #include "test_allocator.h"
 
@@ -43,17 +44,17 @@ int main()
 {
     {
         typedef std::unordered_multimap<MoveOnly, MoveOnly> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::unordered_multimap<MoveOnly, MoveOnly, std::hash<MoveOnly>,
                            std::equal_to<MoveOnly>, test_allocator<std::pair<const MoveOnly, MoveOnly>>> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::unordered_multimap<MoveOnly, MoveOnly, std::hash<MoveOnly>,
                           std::equal_to<MoveOnly>, other_allocator<std::pair<const MoveOnly, MoveOnly>>> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::unordered_multimap<MoveOnly, MoveOnly, some_hash<MoveOnly>> C;
index e84ffb7..e44be18 100644 (file)
@@ -20,6 +20,7 @@
 #include <unordered_set>
 #include <cassert>
 
+#include "test_macros.h"
 #include "MoveOnly.h"
 #include "test_allocator.h"
 
@@ -43,17 +44,17 @@ int main()
 {
     {
         typedef std::unordered_multiset<MoveOnly> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::unordered_multiset<MoveOnly, std::hash<MoveOnly>,
                            std::equal_to<MoveOnly>, test_allocator<MoveOnly>> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::unordered_multiset<MoveOnly, std::hash<MoveOnly>,
                           std::equal_to<MoveOnly>, other_allocator<MoveOnly>> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::unordered_multiset<MoveOnly, some_hash<MoveOnly>> C;
index b404614..7190a01 100644 (file)
@@ -20,6 +20,7 @@
 #include <unordered_set>
 #include <cassert>
 
+#include "test_macros.h"
 #include "MoveOnly.h"
 #include "test_allocator.h"
 
@@ -43,17 +44,17 @@ int main()
 {
     {
         typedef std::unordered_set<MoveOnly> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::unordered_set<MoveOnly, std::hash<MoveOnly>,
                            std::equal_to<MoveOnly>, test_allocator<MoveOnly>> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::unordered_set<MoveOnly, std::hash<MoveOnly>,
                           std::equal_to<MoveOnly>, other_allocator<MoveOnly>> C;
-        static_assert(std::is_nothrow_move_constructible<C>::value, "");
+        LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
     }
     {
         typedef std::unordered_set<MoveOnly, some_hash<MoveOnly>> C;