Clean up a bunch of warnings in the tests, 3 of which actually turned out to be test bugs.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@131479 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/thread/futures/futures.overview/launch.pass.cpp b/test/thread/futures/futures.overview/launch.pass.cpp
index 63eebe9..f4c4ca1 100644
--- a/test/thread/futures/futures.overview/launch.pass.cpp
+++ b/test/thread/futures/futures.overview/launch.pass.cpp
@@ -20,7 +20,7 @@
 
 int main()
 {
-    static_assert(std::launch::any == std::launch::async | std::launch::deferred, "");
+    static_assert(std::launch::any == (std::launch::async | std::launch::deferred), "");
     static_assert(std::launch::async == 1, "");
     static_assert(std::launch::deferred == 2, "");
 }
diff --git a/test/thread/futures/futures.tas/futures.task.members/ctor_func.pass.cpp b/test/thread/futures/futures.tas/futures.task.members/ctor_func.pass.cpp
index 8ae5921..7009f30 100644
--- a/test/thread/futures/futures.tas/futures.task.members/ctor_func.pass.cpp
+++ b/test/thread/futures/futures.tas/futures.task.members/ctor_func.pass.cpp
@@ -46,7 +46,7 @@
         assert(A::n_copies == 0);
         assert(A::n_moves > 0);
     }
-    A::n_copies == 0;
+    A::n_copies = 0;
     A::n_copies = 0;
     {
         A a(5);
diff --git a/test/thread/futures/futures.tas/futures.task.members/ctor_func_alloc.pass.cpp b/test/thread/futures/futures.tas/futures.task.members/ctor_func_alloc.pass.cpp
index 63042e8..2e0cf5d 100644
--- a/test/thread/futures/futures.tas/futures.task.members/ctor_func_alloc.pass.cpp
+++ b/test/thread/futures/futures.tas/futures.task.members/ctor_func_alloc.pass.cpp
@@ -51,7 +51,7 @@
         assert(A::n_moves > 0);
     }
     assert(test_alloc_base::count == 0);
-    A::n_copies == 0;
+    A::n_copies = 0;
     A::n_copies = 0;
     {
         A a(5);
diff --git a/test/utilities/template.bitset/bitset.cons/char_ptr_ctor.pass.cpp b/test/utilities/template.bitset/bitset.cons/char_ptr_ctor.pass.cpp
index 247e15c..7fe78ba 100644
--- a/test/utilities/template.bitset/bitset.cons/char_ptr_ctor.pass.cpp
+++ b/test/utilities/template.bitset/bitset.cons/char_ptr_ctor.pass.cpp
@@ -15,6 +15,8 @@
 #include <bitset>
 #include <cassert>
 
+#pragma clang diagnostic ignored "-Wtautological-compare"
+
 template <std::size_t N>
 void test_char_pointer_ctor()
 {
diff --git a/test/utilities/template.bitset/bitset.cons/default.pass.cpp b/test/utilities/template.bitset/bitset.cons/default.pass.cpp
index 400bc3d..5d743c6 100644
--- a/test/utilities/template.bitset/bitset.cons/default.pass.cpp
+++ b/test/utilities/template.bitset/bitset.cons/default.pass.cpp
@@ -12,6 +12,8 @@
 #include <bitset>
 #include <cassert>
 
+#pragma clang diagnostic ignored "-Wtautological-compare"
+
 template <std::size_t N>
 void test_default_ctor()
 {
diff --git a/test/utilities/template.bitset/bitset.cons/string_ctor.pass.cpp b/test/utilities/template.bitset/bitset.cons/string_ctor.pass.cpp
index 9a7de39..bcee50c 100644
--- a/test/utilities/template.bitset/bitset.cons/string_ctor.pass.cpp
+++ b/test/utilities/template.bitset/bitset.cons/string_ctor.pass.cpp
@@ -12,6 +12,8 @@
 #include <bitset>
 #include <cassert>
 
+#pragma clang diagnostic ignored "-Wtautological-compare"
+
 template <std::size_t N>
 void test_string_ctor()
 {
diff --git a/test/utilities/template.bitset/bitset.cons/ull_ctor.pass.cpp b/test/utilities/template.bitset/bitset.cons/ull_ctor.pass.cpp
index 5f4a763..c849937 100644
--- a/test/utilities/template.bitset/bitset.cons/ull_ctor.pass.cpp
+++ b/test/utilities/template.bitset/bitset.cons/ull_ctor.pass.cpp
@@ -12,6 +12,8 @@
 #include <bitset>
 #include <cassert>
 
+#pragma clang diagnostic ignored "-Wtautological-compare"
+
 template <std::size_t N>
 void test_val_ctor()
 {
diff --git a/test/utilities/template.bitset/bitset.members/count.pass.cpp b/test/utilities/template.bitset/bitset.members/count.pass.cpp
index 1781e9b..fb9ce64 100644
--- a/test/utilities/template.bitset/bitset.members/count.pass.cpp
+++ b/test/utilities/template.bitset/bitset.members/count.pass.cpp
@@ -13,6 +13,8 @@
 #include <cstdlib>
 #include <cassert>
 
+#pragma clang diagnostic ignored "-Wtautological-compare"
+
 template <std::size_t N>
 std::bitset<N>
 make_bitset()
diff --git a/test/utilities/template.bitset/bitset.members/flip_all.pass.cpp b/test/utilities/template.bitset/bitset.members/flip_all.pass.cpp
index 950a06a..6c4f5c6 100644
--- a/test/utilities/template.bitset/bitset.members/flip_all.pass.cpp
+++ b/test/utilities/template.bitset/bitset.members/flip_all.pass.cpp
@@ -13,6 +13,8 @@
 #include <cstdlib>
 #include <cassert>
 
+#pragma clang diagnostic ignored "-Wtautological-compare"
+
 template <std::size_t N>
 std::bitset<N>
 make_bitset()
diff --git a/test/utilities/template.bitset/bitset.members/flip_one.pass.cpp b/test/utilities/template.bitset/bitset.members/flip_one.pass.cpp
index 7889dc7..3e09b20 100644
--- a/test/utilities/template.bitset/bitset.members/flip_one.pass.cpp
+++ b/test/utilities/template.bitset/bitset.members/flip_one.pass.cpp
@@ -13,6 +13,8 @@
 #include <cstdlib>
 #include <cassert>
 
+#pragma clang diagnostic ignored "-Wtautological-compare"
+
 template <std::size_t N>
 std::bitset<N>
 make_bitset()
diff --git a/test/utilities/template.bitset/bitset.members/index.pass.cpp b/test/utilities/template.bitset/bitset.members/index.pass.cpp
index cc0e0fd..b96aaa5 100644
--- a/test/utilities/template.bitset/bitset.members/index.pass.cpp
+++ b/test/utilities/template.bitset/bitset.members/index.pass.cpp
@@ -13,6 +13,8 @@
 #include <cstdlib>
 #include <cassert>
 
+#pragma clang diagnostic ignored "-Wtautological-compare"
+
 template <std::size_t N>
 std::bitset<N>
 make_bitset()
diff --git a/test/utilities/template.bitset/bitset.members/index_const.pass.cpp b/test/utilities/template.bitset/bitset.members/index_const.pass.cpp
index c0bb471..e3c28c6 100644
--- a/test/utilities/template.bitset/bitset.members/index_const.pass.cpp
+++ b/test/utilities/template.bitset/bitset.members/index_const.pass.cpp
@@ -13,6 +13,8 @@
 #include <cstdlib>
 #include <cassert>
 
+#pragma clang diagnostic ignored "-Wtautological-compare"
+
 template <std::size_t N>
 std::bitset<N>
 make_bitset()
diff --git a/test/utilities/template.bitset/bitset.members/left_shift.pass.cpp b/test/utilities/template.bitset/bitset.members/left_shift.pass.cpp
index 3562260..7fe9fa7 100644
--- a/test/utilities/template.bitset/bitset.members/left_shift.pass.cpp
+++ b/test/utilities/template.bitset/bitset.members/left_shift.pass.cpp
@@ -13,6 +13,8 @@
 #include <cstdlib>
 #include <cassert>
 
+#pragma clang diagnostic ignored "-Wtautological-compare"
+
 template <std::size_t N>
 std::bitset<N>
 make_bitset()
diff --git a/test/utilities/template.bitset/bitset.members/left_shift_eq.pass.cpp b/test/utilities/template.bitset/bitset.members/left_shift_eq.pass.cpp
index ddda8be..bed3e28 100644
--- a/test/utilities/template.bitset/bitset.members/left_shift_eq.pass.cpp
+++ b/test/utilities/template.bitset/bitset.members/left_shift_eq.pass.cpp
@@ -13,6 +13,8 @@
 #include <cstdlib>
 #include <cassert>
 
+#pragma clang diagnostic ignored "-Wtautological-compare"
+
 template <std::size_t N>
 std::bitset<N>
 make_bitset()
diff --git a/test/utilities/template.bitset/bitset.members/not_all.pass.cpp b/test/utilities/template.bitset/bitset.members/not_all.pass.cpp
index 026ed56..2f8f711 100644
--- a/test/utilities/template.bitset/bitset.members/not_all.pass.cpp
+++ b/test/utilities/template.bitset/bitset.members/not_all.pass.cpp
@@ -13,6 +13,8 @@
 #include <cstdlib>
 #include <cassert>
 
+#pragma clang diagnostic ignored "-Wtautological-compare"
+
 template <std::size_t N>
 std::bitset<N>
 make_bitset()
diff --git a/test/utilities/template.bitset/bitset.members/op_and_eq.pass.cpp b/test/utilities/template.bitset/bitset.members/op_and_eq.pass.cpp
index 6ef865b..b599ec3 100644
--- a/test/utilities/template.bitset/bitset.members/op_and_eq.pass.cpp
+++ b/test/utilities/template.bitset/bitset.members/op_and_eq.pass.cpp
@@ -13,6 +13,8 @@
 #include <cstdlib>
 #include <cassert>
 
+#pragma clang diagnostic ignored "-Wtautological-compare"
+
 template <std::size_t N>
 std::bitset<N>
 make_bitset()
diff --git a/test/utilities/template.bitset/bitset.members/op_eq_eq.pass.cpp b/test/utilities/template.bitset/bitset.members/op_eq_eq.pass.cpp
index c009da4..5f6cf3d 100644
--- a/test/utilities/template.bitset/bitset.members/op_eq_eq.pass.cpp
+++ b/test/utilities/template.bitset/bitset.members/op_eq_eq.pass.cpp
@@ -16,6 +16,8 @@
 #include <cstdlib>
 #include <cassert>
 
+#pragma clang diagnostic ignored "-Wtautological-compare"
+
 template <std::size_t N>
 std::bitset<N>
 make_bitset()
diff --git a/test/utilities/template.bitset/bitset.members/op_or_eq.pass.cpp b/test/utilities/template.bitset/bitset.members/op_or_eq.pass.cpp
index c5c946c..6e63879 100644
--- a/test/utilities/template.bitset/bitset.members/op_or_eq.pass.cpp
+++ b/test/utilities/template.bitset/bitset.members/op_or_eq.pass.cpp
@@ -13,6 +13,8 @@
 #include <cstdlib>
 #include <cassert>
 
+#pragma clang diagnostic ignored "-Wtautological-compare"
+
 template <std::size_t N>
 std::bitset<N>
 make_bitset()
diff --git a/test/utilities/template.bitset/bitset.members/op_xor_eq.pass.cpp b/test/utilities/template.bitset/bitset.members/op_xor_eq.pass.cpp
index d1b920a..e68a641 100644
--- a/test/utilities/template.bitset/bitset.members/op_xor_eq.pass.cpp
+++ b/test/utilities/template.bitset/bitset.members/op_xor_eq.pass.cpp
@@ -13,6 +13,8 @@
 #include <cstdlib>
 #include <cassert>
 
+#pragma clang diagnostic ignored "-Wtautological-compare"
+
 template <std::size_t N>
 std::bitset<N>
 make_bitset()
diff --git a/test/utilities/template.bitset/bitset.members/reset_all.pass.cpp b/test/utilities/template.bitset/bitset.members/reset_all.pass.cpp
index 611b111..ee44d92 100644
--- a/test/utilities/template.bitset/bitset.members/reset_all.pass.cpp
+++ b/test/utilities/template.bitset/bitset.members/reset_all.pass.cpp
@@ -12,6 +12,8 @@
 #include <bitset>
 #include <cassert>
 
+#pragma clang diagnostic ignored "-Wtautological-compare"
+
 template <std::size_t N>
 void test_reset_all()
 {
diff --git a/test/utilities/template.bitset/bitset.members/right_shift.pass.cpp b/test/utilities/template.bitset/bitset.members/right_shift.pass.cpp
index 315a7bf..87fcc28 100644
--- a/test/utilities/template.bitset/bitset.members/right_shift.pass.cpp
+++ b/test/utilities/template.bitset/bitset.members/right_shift.pass.cpp
@@ -13,6 +13,8 @@
 #include <cstdlib>
 #include <cassert>
 
+#pragma clang diagnostic ignored "-Wtautological-compare"
+
 template <std::size_t N>
 std::bitset<N>
 make_bitset()
diff --git a/test/utilities/template.bitset/bitset.members/right_shift_eq.pass.cpp b/test/utilities/template.bitset/bitset.members/right_shift_eq.pass.cpp
index c04b759..1dd89c1 100644
--- a/test/utilities/template.bitset/bitset.members/right_shift_eq.pass.cpp
+++ b/test/utilities/template.bitset/bitset.members/right_shift_eq.pass.cpp
@@ -13,6 +13,8 @@
 #include <cstdlib>
 #include <cassert>
 
+#pragma clang diagnostic ignored "-Wtautological-compare"
+
 template <std::size_t N>
 std::bitset<N>
 make_bitset()
diff --git a/test/utilities/template.bitset/bitset.members/set_all.pass.cpp b/test/utilities/template.bitset/bitset.members/set_all.pass.cpp
index 007c7c0..56454a8 100644
--- a/test/utilities/template.bitset/bitset.members/set_all.pass.cpp
+++ b/test/utilities/template.bitset/bitset.members/set_all.pass.cpp
@@ -12,6 +12,8 @@
 #include <bitset>
 #include <cassert>
 
+#pragma clang diagnostic ignored "-Wtautological-compare"
+
 template <std::size_t N>
 void test_set_all()
 {
diff --git a/test/utilities/template.bitset/bitset.members/test.pass.cpp b/test/utilities/template.bitset/bitset.members/test.pass.cpp
index 2620c2d..5102b46 100644
--- a/test/utilities/template.bitset/bitset.members/test.pass.cpp
+++ b/test/utilities/template.bitset/bitset.members/test.pass.cpp
@@ -13,6 +13,8 @@
 #include <cstdlib>
 #include <cassert>
 
+#pragma clang diagnostic ignored "-Wtautological-compare"
+
 template <std::size_t N>
 std::bitset<N>
 make_bitset()
diff --git a/test/utilities/template.bitset/bitset.members/to_string.pass.cpp b/test/utilities/template.bitset/bitset.members/to_string.pass.cpp
index a4fc38b..b657940 100644
--- a/test/utilities/template.bitset/bitset.members/to_string.pass.cpp
+++ b/test/utilities/template.bitset/bitset.members/to_string.pass.cpp
@@ -26,6 +26,8 @@
 #include <cstdlib>
 #include <cassert>
 
+#pragma clang diagnostic ignored "-Wtautological-compare"
+
 template <std::size_t N>
 std::bitset<N>
 make_bitset()
diff --git a/test/utilities/template.bitset/bitset.operators/op_and.pass.cpp b/test/utilities/template.bitset/bitset.operators/op_and.pass.cpp
index 73f0f2a..751cee6 100644
--- a/test/utilities/template.bitset/bitset.operators/op_and.pass.cpp
+++ b/test/utilities/template.bitset/bitset.operators/op_and.pass.cpp
@@ -13,6 +13,8 @@
 #include <cstdlib>
 #include <cassert>
 
+#pragma clang diagnostic ignored "-Wtautological-compare"
+
 template <std::size_t N>
 std::bitset<N>
 make_bitset()
diff --git a/test/utilities/template.bitset/bitset.operators/op_not.pass.cpp b/test/utilities/template.bitset/bitset.operators/op_not.pass.cpp
index 3e6133d..fda5e5c 100644
--- a/test/utilities/template.bitset/bitset.operators/op_not.pass.cpp
+++ b/test/utilities/template.bitset/bitset.operators/op_not.pass.cpp
@@ -13,6 +13,8 @@
 #include <cstdlib>
 #include <cassert>
 
+#pragma clang diagnostic ignored "-Wtautological-compare"
+
 template <std::size_t N>
 std::bitset<N>
 make_bitset()
diff --git a/test/utilities/template.bitset/bitset.operators/op_or.pass.cpp b/test/utilities/template.bitset/bitset.operators/op_or.pass.cpp
index 09d170c..067f868 100644
--- a/test/utilities/template.bitset/bitset.operators/op_or.pass.cpp
+++ b/test/utilities/template.bitset/bitset.operators/op_or.pass.cpp
@@ -13,6 +13,8 @@
 #include <cstdlib>
 #include <cassert>
 
+#pragma clang diagnostic ignored "-Wtautological-compare"
+
 template <std::size_t N>
 std::bitset<N>
 make_bitset()
diff --git a/test/utilities/utility/forward/move_only.pass.cpp b/test/utilities/utility/forward/move_only.pass.cpp
index 2eb023d..0588c11 100644
--- a/test/utilities/utility/forward/move_only.pass.cpp
+++ b/test/utilities/utility/forward/move_only.pass.cpp
@@ -26,7 +26,7 @@
 
 #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
     move_only(move_only&&) {}
-    move_only& operator=(move_only&&) {}
+    move_only& operator=(move_only&&) {return *this;}
 #else  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
     operator std::__rv<move_only> () {return std::__rv<move_only>(*this);}
     move_only(std::__rv<move_only>) {}