[libcxx] [test] Fix MSVC warning C4244 "conversion from 'X' to 'Y', possible loss...
authorStephan T. Lavavej <stl@exchange.microsoft.com>
Thu, 8 Dec 2016 21:38:14 +0000 (21:38 +0000)
committerStephan T. Lavavej <stl@exchange.microsoft.com>
Thu, 8 Dec 2016 21:38:14 +0000 (21:38 +0000)
Add static_cast<short> when constructing pair<Whatever, short> from (Something, int).

Fixes D27540.

llvm-svn: 289107

16 files changed:
libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/insert_hint_rvalue.pass.cpp
libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/insert_rvalue.pass.cpp
libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/insert_hint_rvalue.pass.cpp
libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/insert_rvalue.pass.cpp
libcxx/test/std/utilities/utility/pairs/pair.astuple/get_const.pass.cpp
libcxx/test/std/utilities/utility/pairs/pair.astuple/get_const_rv.pass.cpp
libcxx/test/std/utilities/utility/pairs/pair.astuple/get_non_const.pass.cpp
libcxx/test/std/utilities/utility/pairs/pair.astuple/get_rv.pass.cpp
libcxx/test/std/utilities/utility/pairs/pairs.pair/assign_const_pair_U_V.pass.cpp
libcxx/test/std/utilities/utility/pairs/pairs.pair/assign_rv_pair_U_V.pass.cpp
libcxx/test/std/utilities/utility/pairs/pairs.pair/const_pair_U_V_cxx03.pass.cpp
libcxx/test/std/utilities/utility/pairs/pairs.pair/copy_ctor.pass.cpp
libcxx/test/std/utilities/utility/pairs/pairs.pair/move_ctor.pass.cpp
libcxx/test/std/utilities/utility/pairs/pairs.pair/swap.pass.cpp
libcxx/test/std/utilities/utility/pairs/pairs.spec/comparison.pass.cpp
libcxx/test/std/utilities/utility/pairs/pairs.spec/non_member_swap.pass.cpp

index 04d01eb..471040a 100644 (file)
@@ -37,22 +37,22 @@ int main()
         typedef std::pair<double, short> P;
         C c;
         C::const_iterator e = c.end();
-        R r = c.insert(e, P(3.5, 3));
+        R r = c.insert(e, P(3.5, static_cast<short>(3)));
         assert(c.size() == 1);
         assert(r->first == 3.5);
         assert(r->second == 3);
 
-        r = c.insert(c.end(), P(3.5, 4));
+        r = c.insert(c.end(), P(3.5, static_cast<short>(4)));
         assert(c.size() == 1);
         assert(r->first == 3.5);
         assert(r->second == 3);
 
-        r = c.insert(c.end(), P(4.5, 4));
+        r = c.insert(c.end(), P(4.5, static_cast<short>(4)));
         assert(c.size() == 2);
         assert(r->first == 4.5);
         assert(r->second == 4);
 
-        r = c.insert(c.end(), P(5.5, 4));
+        r = c.insert(c.end(), P(5.5, static_cast<short>(4)));
         assert(c.size() == 3);
         assert(r->first == 5.5);
         assert(r->second == 4);
@@ -90,22 +90,22 @@ int main()
         typedef std::pair<double, short> P;
         C c;
         C::const_iterator e = c.end();
-        R r = c.insert(e, P(3.5, 3));
+        R r = c.insert(e, P(3.5, static_cast<short>(3)));
         assert(c.size() == 1);
         assert(r->first == 3.5);
         assert(r->second == 3);
 
-        r = c.insert(c.end(), P(3.5, 4));
+        r = c.insert(c.end(), P(3.5, static_cast<short>(4)));
         assert(c.size() == 1);
         assert(r->first == 3.5);
         assert(r->second == 3);
 
-        r = c.insert(c.end(), P(4.5, 4));
+        r = c.insert(c.end(), P(4.5, static_cast<short>(4)));
         assert(c.size() == 2);
         assert(r->first == 4.5);
         assert(r->second == 4);
 
-        r = c.insert(c.end(), P(5.5, 4));
+        r = c.insert(c.end(), P(5.5, static_cast<short>(4)));
         assert(c.size() == 3);
         assert(r->first == 5.5);
         assert(r->second == 4);
index faf5b04..8c8551e 100644 (file)
@@ -32,25 +32,25 @@ int main()
         typedef std::pair<C::iterator, bool> R;
         typedef std::pair<double, short> P;
         C c;
-        R r = c.insert(P(3.5, 3));
+        R r = c.insert(P(3.5, static_cast<short>(3)));
         assert(r.second);
         assert(c.size() == 1);
         assert(r.first->first == 3.5);
         assert(r.first->second == 3);
 
-        r = c.insert(P(3.5, 4));
+        r = c.insert(P(3.5, static_cast<short>(4)));
         assert(!r.second);
         assert(c.size() == 1);
         assert(r.first->first == 3.5);
         assert(r.first->second == 3);
 
-        r = c.insert(P(4.5, 4));
+        r = c.insert(P(4.5, static_cast<short>(4)));
         assert(r.second);
         assert(c.size() == 2);
         assert(r.first->first == 4.5);
         assert(r.first->second == 4);
 
-        r = c.insert(P(5.5, 4));
+        r = c.insert(P(5.5, static_cast<short>(4)));
         assert(r.second);
         assert(c.size() == 3);
         assert(r.first->first == 5.5);
@@ -91,25 +91,25 @@ int main()
         typedef std::pair<C::iterator, bool> R;
         typedef std::pair<double, short> P;
         C c;
-        R r = c.insert(P(3.5, 3));
+        R r = c.insert(P(3.5, static_cast<short>(3)));
         assert(r.second);
         assert(c.size() == 1);
         assert(r.first->first == 3.5);
         assert(r.first->second == 3);
 
-        r = c.insert(P(3.5, 4));
+        r = c.insert(P(3.5, static_cast<short>(4)));
         assert(!r.second);
         assert(c.size() == 1);
         assert(r.first->first == 3.5);
         assert(r.first->second == 3);
 
-        r = c.insert(P(4.5, 4));
+        r = c.insert(P(4.5, static_cast<short>(4)));
         assert(r.second);
         assert(c.size() == 2);
         assert(r.first->first == 4.5);
         assert(r.first->second == 4);
 
-        r = c.insert(P(5.5, 4));
+        r = c.insert(P(5.5, static_cast<short>(4)));
         assert(r.second);
         assert(c.size() == 3);
         assert(r.first->first == 5.5);
index d6c0dbd..94faa8f 100644 (file)
@@ -37,22 +37,22 @@ int main()
         typedef std::pair<double, short> P;
         C c;
         C::const_iterator e = c.end();
-        R r = c.insert(e, P(3.5, 3));
+        R r = c.insert(e, P(3.5, static_cast<short>(3)));
         assert(c.size() == 1);
         assert(r->first == 3.5);
         assert(r->second == 3);
 
-        r = c.insert(r, P(3.5, 4));
+        r = c.insert(r, P(3.5, static_cast<short>(4)));
         assert(c.size() == 2);
         assert(r->first == 3.5);
         assert(r->second == 4);
 
-        r = c.insert(c.end(), P(4.5, 4));
+        r = c.insert(c.end(), P(4.5, static_cast<short>(4)));
         assert(c.size() == 3);
         assert(r->first == 4.5);
         assert(r->second == 4);
 
-        r = c.insert(c.end(), P(5.5, 4));
+        r = c.insert(c.end(), P(5.5, static_cast<short>(4)));
         assert(c.size() == 4);
         assert(r->first == 5.5);
         assert(r->second == 4);
@@ -90,22 +90,22 @@ int main()
         typedef std::pair<double, short> P;
         C c;
         C::const_iterator e = c.end();
-        R r = c.insert(e, P(3.5, 3));
+        R r = c.insert(e, P(3.5, static_cast<short>(3)));
         assert(c.size() == 1);
         assert(r->first == 3.5);
         assert(r->second == 3);
 
-        r = c.insert(r, P(3.5, 4));
+        r = c.insert(r, P(3.5, static_cast<short>(4)));
         assert(c.size() == 2);
         assert(r->first == 3.5);
         assert(r->second == 4);
 
-        r = c.insert(c.end(), P(4.5, 4));
+        r = c.insert(c.end(), P(4.5, static_cast<short>(4)));
         assert(c.size() == 3);
         assert(r->first == 4.5);
         assert(r->second == 4);
 
-        r = c.insert(c.end(), P(5.5, 4));
+        r = c.insert(c.end(), P(5.5, static_cast<short>(4)));
         assert(c.size() == 4);
         assert(r->first == 5.5);
         assert(r->second == 4);
index 6735b8a..0c8ffeb 100644 (file)
@@ -32,22 +32,22 @@ int main()
         typedef C::iterator R;
         typedef std::pair<double, short> P;
         C c;
-        R r = c.insert(P(3.5, 3));
+        R r = c.insert(P(3.5, static_cast<short>(3)));
         assert(c.size() == 1);
         assert(r->first == 3.5);
         assert(r->second == 3);
 
-        r = c.insert(P(3.5, 4));
+        r = c.insert(P(3.5, static_cast<short>(4)));
         assert(c.size() == 2);
         assert(r->first == 3.5);
         assert(r->second == 4);
 
-        r = c.insert(P(4.5, 4));
+        r = c.insert(P(4.5, static_cast<short>(4)));
         assert(c.size() == 3);
         assert(r->first == 4.5);
         assert(r->second == 4);
 
-        r = c.insert(P(5.5, 4));
+        r = c.insert(P(5.5, static_cast<short>(4)));
         assert(c.size() == 4);
         assert(r->first == 5.5);
         assert(r->second == 4);
@@ -83,22 +83,22 @@ int main()
         typedef C::iterator R;
         typedef std::pair<double, short> P;
         C c;
-        R r = c.insert(P(3.5, 3));
+        R r = c.insert(P(3.5, static_cast<short>(3)));
         assert(c.size() == 1);
         assert(r->first == 3.5);
         assert(r->second == 3);
 
-        r = c.insert(P(3.5, 4));
+        r = c.insert(P(3.5, static_cast<short>(4)));
         assert(c.size() == 2);
         assert(r->first == 3.5);
         assert(r->second == 4);
 
-        r = c.insert(P(4.5, 4));
+        r = c.insert(P(4.5, static_cast<short>(4)));
         assert(c.size() == 3);
         assert(r->first == 4.5);
         assert(r->second == 4);
 
-        r = c.insert(P(5.5, 4));
+        r = c.insert(P(5.5, static_cast<short>(4)));
         assert(c.size() == 4);
         assert(r->first == 5.5);
         assert(r->second == 4);
index 9ef7bcf..c09c881 100644 (file)
@@ -24,7 +24,7 @@ int main()
 {
     {
         typedef std::pair<int, short> P;
-        const P p(3, 4);
+        const P p(3, static_cast<short>(4));
         assert(std::get<0>(p) == 3);
         assert(std::get<1>(p) == 4);
     }
@@ -32,7 +32,7 @@ int main()
 #if TEST_STD_VER > 11
     {
         typedef std::pair<int, short> P;
-        constexpr P p1(3, 4);
+        constexpr P p1(3, static_cast<short>(4));
         static_assert(std::get<0>(p1) == 3, "");
         static_assert(std::get<1>(p1) == 4, "");
     }
index edd2f3d..5c38318 100644 (file)
@@ -28,7 +28,7 @@ int main()
 {
     {
     typedef std::pair<std::unique_ptr<int>, short> P;
-    const P p(std::unique_ptr<int>(new int(3)), 4);
+    const P p(std::unique_ptr<int>(new int(3)), static_cast<short>(4));
     static_assert(std::is_same<const std::unique_ptr<int>&&, decltype(std::get<0>(std::move(p)))>::value, "");
     static_assert(noexcept(std::get<0>(std::move(p))), "");
     const std::unique_ptr<int>&& ptr = std::get<0>(std::move(p));
@@ -58,7 +58,7 @@ int main()
 #if TEST_STD_VER > 11
     {
     typedef std::pair<int, short> P;
-    constexpr const P p1(3, 4);
+    constexpr const P p1(3, static_cast<short>(4));
     static_assert(std::get<0>(std::move(p1)) == 3, "");
     static_assert(std::get<1>(std::move(p1)) == 4, "");
     }
index 47b4c06..2f8b6c1 100644 (file)
@@ -34,7 +34,7 @@ int main()
 {
     {
         typedef std::pair<int, short> P;
-        P p(3, 4);
+        P p(3, static_cast<short>(4));
         assert(std::get<0>(p) == 3);
         assert(std::get<1>(p) == 4);
         std::get<0>(p) = 5;
index 24868a6..0601e4e 100644 (file)
@@ -25,7 +25,7 @@ int main()
 {
     {
         typedef std::pair<std::unique_ptr<int>, short> P;
-        P p(std::unique_ptr<int>(new int(3)), 4);
+        P p(std::unique_ptr<int>(new int(3)), static_cast<short>(4));
         std::unique_ptr<int> ptr = std::get<0>(std::move(p));
         assert(*ptr == 3);
     }
index fdef596..132443f 100644 (file)
@@ -21,7 +21,7 @@ int main()
     {
         typedef std::pair<int, short> P1;
         typedef std::pair<double, long> P2;
-        P1 p1(3, 4);
+        P1 p1(3, static_cast<short>(4));
         P2 p2;
         p2 = p1;
         assert(p2.first == 3);
index 5f76aef..76dfc3f 100644 (file)
@@ -34,7 +34,7 @@ int main()
     {
         typedef std::pair<std::unique_ptr<Derived>, short> P1;
         typedef std::pair<std::unique_ptr<Base>, long> P2;
-        P1 p1(std::unique_ptr<Derived>(), 4);
+        P1 p1(std::unique_ptr<Derived>(), static_cast<short>(4));
         P2 p2;
         p2 = std::move(p1);
         assert(p2.first == nullptr);
index 73a843f..fbf461f 100644 (file)
@@ -21,7 +21,7 @@ int main()
     {
         typedef std::pair<int, short> P1;
         typedef std::pair<double, long> P2;
-        const P1 p1(3, 4);
+        const P1 p1(3, static_cast<short>(4));
         const P2 p2 = p1;
         assert(p2.first == 3);
         assert(p2.second == 4);
index 1117db3..1003f3c 100644 (file)
@@ -22,7 +22,7 @@ int main()
 {
     {
         typedef std::pair<int, short> P1;
-        P1 p1(3, 4);
+        P1 p1(3, static_cast<short>(4));
         P1 p2 = p1;
         assert(p2.first == 3);
         assert(p2.second == 4);
@@ -30,7 +30,7 @@ int main()
 #if TEST_STD_VER > 11
     {
         typedef std::pair<int, short> P1;
-        constexpr P1 p1(3, 4);
+        constexpr P1 p1(3, static_cast<short>(4));
         constexpr P1 p2 = p1;
         static_assert(p2.first == 3, "");
         static_assert(p2.second == 4, "");
index 06cb5e5..99e00b0 100644 (file)
@@ -31,7 +31,7 @@ int main()
     {
         typedef std::pair<int, short> P1;
         static_assert(std::is_move_constructible<P1>::value, "");
-        P1 p1(3, 4);
+        P1 p1(3, static_cast<short>(4));
         P1 p2 = std::move(p1);
         assert(p2.first == 3);
         assert(p2.second == 4);
index dfea61e..95b1f66 100644 (file)
@@ -29,8 +29,8 @@ int main()
 {
     {
         typedef std::pair<int, short> P1;
-        P1 p1(3, 4);
-        P1 p2(5, 6);
+        P1 p1(3, static_cast<short>(4));
+        P1 p2(5, static_cast<short>(6));
         p1.swap(p2);
         assert(p1.first == 5);
         assert(p1.second == 6);
index 0a82c29..3b994df 100644 (file)
@@ -27,8 +27,8 @@ int main()
 {
     {
         typedef std::pair<int, short> P;
-        P p1(3, 4);
-        P p2(3, 4);
+        P p1(3, static_cast<short>(4));
+        P p2(3, static_cast<short>(4));
         assert( (p1 == p2));
         assert(!(p1 != p2));
         assert(!(p1 <  p2));
@@ -38,8 +38,8 @@ int main()
     }
     {
         typedef std::pair<int, short> P;
-        P p1(2, 4);
-        P p2(3, 4);
+        P p1(2, static_cast<short>(4));
+        P p2(3, static_cast<short>(4));
         assert(!(p1 == p2));
         assert( (p1 != p2));
         assert( (p1 <  p2));
@@ -49,8 +49,8 @@ int main()
     }
     {
         typedef std::pair<int, short> P;
-        P p1(3, 2);
-        P p2(3, 4);
+        P p1(3, static_cast<short>(2));
+        P p2(3, static_cast<short>(4));
         assert(!(p1 == p2));
         assert( (p1 != p2));
         assert( (p1 <  p2));
@@ -60,8 +60,8 @@ int main()
     }
     {
         typedef std::pair<int, short> P;
-        P p1(3, 4);
-        P p2(2, 4);
+        P p1(3, static_cast<short>(4));
+        P p2(2, static_cast<short>(4));
         assert(!(p1 == p2));
         assert( (p1 != p2));
         assert(!(p1 <  p2));
@@ -71,8 +71,8 @@ int main()
     }
     {
         typedef std::pair<int, short> P;
-        P p1(3, 4);
-        P p2(3, 2);
+        P p1(3, static_cast<short>(4));
+        P p2(3, static_cast<short>(2));
         assert(!(p1 == p2));
         assert( (p1 != p2));
         assert(!(p1 <  p2));
@@ -84,8 +84,8 @@ int main()
 #if TEST_STD_VER > 11
     {
         typedef std::pair<int, short> P;
-        constexpr P p1(3, 4);
-        constexpr P p2(3, 2);
+        constexpr P p1(3, static_cast<short>(4));
+        constexpr P p2(3, static_cast<short>(2));
         static_assert(!(p1 == p2), "");
         static_assert( (p1 != p2), "");
         static_assert(!(p1 <  p2), "");
index d9d8f27..62fa942 100644 (file)
@@ -20,8 +20,8 @@ int main()
 {
     {
         typedef std::pair<int, short> P1;
-        P1 p1(3, 4);
-        P1 p2(5, 6);
+        P1 p1(3, static_cast<short>(4));
+        P1 p2(5, static_cast<short>(6));
         swap(p1, p2);
         assert(p1.first == 5);
         assert(p1.second == 6);