Author: ericwf Date: Sun Jul 24 18:19:51 2016 New Revision: 276581 URL: http://llvm.org/viewvc/llvm-project?rev=276581&view=rev Log: Make move_noexcept.pass.cpp tests more portable. Patch from s...@microsoft.com
Modified: libcxx/trunk/test/std/containers/associative/map/map.cons/move_noexcept.pass.cpp libcxx/trunk/test/std/containers/associative/multimap/multimap.cons/move_noexcept.pass.cpp libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/move_noexcept.pass.cpp libcxx/trunk/test/std/containers/associative/set/set.cons/move_noexcept.pass.cpp libcxx/trunk/test/std/containers/container.adaptors/queue/queue.cons/move_noexcept.pass.cpp libcxx/trunk/test/std/containers/container.adaptors/stack/stack.cons/move_noexcept.pass.cpp libcxx/trunk/test/std/containers/sequences/deque/deque.cons/move_noexcept.pass.cpp libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.cons/move_noexcept.pass.cpp libcxx/trunk/test/std/containers/sequences/list/list.cons/move_noexcept.pass.cpp libcxx/trunk/test/std/containers/sequences/vector.bool/move_noexcept.pass.cpp libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/move_noexcept.pass.cpp libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/move_noexcept.pass.cpp libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/move_noexcept.pass.cpp libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/move_noexcept.pass.cpp Modified: libcxx/trunk/test/std/containers/associative/map/map.cons/move_noexcept.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/map/map.cons/move_noexcept.pass.cpp?rev=276581&r1=276580&r2=276581&view=diff ============================================================================== --- libcxx/trunk/test/std/containers/associative/map/map.cons/move_noexcept.pass.cpp (original) +++ libcxx/trunk/test/std/containers/associative/map/map.cons/move_noexcept.pass.cpp Sun Jul 24 18:19:51 2016 @@ -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; Modified: libcxx/trunk/test/std/containers/associative/multimap/multimap.cons/move_noexcept.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/multimap/multimap.cons/move_noexcept.pass.cpp?rev=276581&r1=276580&r2=276581&view=diff ============================================================================== --- libcxx/trunk/test/std/containers/associative/multimap/multimap.cons/move_noexcept.pass.cpp (original) +++ libcxx/trunk/test/std/containers/associative/multimap/multimap.cons/move_noexcept.pass.cpp Sun Jul 24 18:19:51 2016 @@ -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; Modified: libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/move_noexcept.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/move_noexcept.pass.cpp?rev=276581&r1=276580&r2=276581&view=diff ============================================================================== --- libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/move_noexcept.pass.cpp (original) +++ libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/move_noexcept.pass.cpp Sun Jul 24 18:19:51 2016 @@ -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; Modified: libcxx/trunk/test/std/containers/associative/set/set.cons/move_noexcept.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/set/set.cons/move_noexcept.pass.cpp?rev=276581&r1=276580&r2=276581&view=diff ============================================================================== --- libcxx/trunk/test/std/containers/associative/set/set.cons/move_noexcept.pass.cpp (original) +++ libcxx/trunk/test/std/containers/associative/set/set.cons/move_noexcept.pass.cpp Sun Jul 24 18:19:51 2016 @@ -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; Modified: libcxx/trunk/test/std/containers/container.adaptors/queue/queue.cons/move_noexcept.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/container.adaptors/queue/queue.cons/move_noexcept.pass.cpp?rev=276581&r1=276580&r2=276581&view=diff ============================================================================== --- libcxx/trunk/test/std/containers/container.adaptors/queue/queue.cons/move_noexcept.pass.cpp (original) +++ libcxx/trunk/test/std/containers/container.adaptors/queue/queue.cons/move_noexcept.pass.cpp Sun Jul 24 18:19:51 2016 @@ -19,12 +19,13 @@ #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, ""); } } Modified: libcxx/trunk/test/std/containers/container.adaptors/stack/stack.cons/move_noexcept.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/container.adaptors/stack/stack.cons/move_noexcept.pass.cpp?rev=276581&r1=276580&r2=276581&view=diff ============================================================================== --- libcxx/trunk/test/std/containers/container.adaptors/stack/stack.cons/move_noexcept.pass.cpp (original) +++ libcxx/trunk/test/std/containers/container.adaptors/stack/stack.cons/move_noexcept.pass.cpp Sun Jul 24 18:19:51 2016 @@ -19,12 +19,13 @@ #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, ""); } } Modified: libcxx/trunk/test/std/containers/sequences/deque/deque.cons/move_noexcept.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/sequences/deque/deque.cons/move_noexcept.pass.cpp?rev=276581&r1=276580&r2=276581&view=diff ============================================================================== --- libcxx/trunk/test/std/containers/sequences/deque/deque.cons/move_noexcept.pass.cpp (original) +++ libcxx/trunk/test/std/containers/sequences/deque/deque.cons/move_noexcept.pass.cpp Sun Jul 24 18:19:51 2016 @@ -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; Modified: libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.cons/move_noexcept.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.cons/move_noexcept.pass.cpp?rev=276581&r1=276580&r2=276581&view=diff ============================================================================== --- libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.cons/move_noexcept.pass.cpp (original) +++ libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.cons/move_noexcept.pass.cpp Sun Jul 24 18:19:51 2016 @@ -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; Modified: libcxx/trunk/test/std/containers/sequences/list/list.cons/move_noexcept.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/sequences/list/list.cons/move_noexcept.pass.cpp?rev=276581&r1=276580&r2=276581&view=diff ============================================================================== --- libcxx/trunk/test/std/containers/sequences/list/list.cons/move_noexcept.pass.cpp (original) +++ libcxx/trunk/test/std/containers/sequences/list/list.cons/move_noexcept.pass.cpp Sun Jul 24 18:19:51 2016 @@ -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; Modified: libcxx/trunk/test/std/containers/sequences/vector.bool/move_noexcept.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/sequences/vector.bool/move_noexcept.pass.cpp?rev=276581&r1=276580&r2=276581&view=diff ============================================================================== --- libcxx/trunk/test/std/containers/sequences/vector.bool/move_noexcept.pass.cpp (original) +++ libcxx/trunk/test/std/containers/sequences/vector.bool/move_noexcept.pass.cpp Sun Jul 24 18:19:51 2016 @@ -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 Modified: libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/move_noexcept.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/move_noexcept.pass.cpp?rev=276581&r1=276580&r2=276581&view=diff ============================================================================== --- libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/move_noexcept.pass.cpp (original) +++ libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/move_noexcept.pass.cpp Sun Jul 24 18:19:51 2016 @@ -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; Modified: libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/move_noexcept.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/move_noexcept.pass.cpp?rev=276581&r1=276580&r2=276581&view=diff ============================================================================== --- libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/move_noexcept.pass.cpp (original) +++ libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/move_noexcept.pass.cpp Sun Jul 24 18:19:51 2016 @@ -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; Modified: libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/move_noexcept.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/move_noexcept.pass.cpp?rev=276581&r1=276580&r2=276581&view=diff ============================================================================== --- libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/move_noexcept.pass.cpp (original) +++ libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/move_noexcept.pass.cpp Sun Jul 24 18:19:51 2016 @@ -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; Modified: libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/move_noexcept.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/move_noexcept.pass.cpp?rev=276581&r1=276580&r2=276581&view=diff ============================================================================== --- libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/move_noexcept.pass.cpp (original) +++ libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/move_noexcept.pass.cpp Sun Jul 24 18:19:51 2016 @@ -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; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits