[libcxx] r287826 - [libcxx] [test] D27019: Fix MSVC warning C4245 "conversion from 'X' to 'Y', signed/unsigned mismatch", part 6/12.

Stephan T. Lavavej via cfe-commits cfe-commits at lists.llvm.org
Wed Nov 23 14:02:44 PST 2016


Author: stl_msft
Date: Wed Nov 23 16:02:44 2016
New Revision: 287826

URL: http://llvm.org/viewvc/llvm-project?rev=287826&view=rev
Log:
[libcxx] [test] D27019: Fix MSVC warning C4245 "conversion from 'X' to 'Y', signed/unsigned mismatch", part 6/12.

Add static_cast when initializing unsigned integers with negative numbers (in order to obtain big values).

Modified:
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/unsigned_long_long.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long_long.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_int.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_long.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_long_long.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_short.pass.cpp

Modified: libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/unsigned_long_long.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/unsigned_long_long.pass.cpp?rev=287826&r1=287825&r2=287826&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/unsigned_long_long.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/unsigned_long_long.pass.cpp Wed Nov 23 16:02:44 2016
@@ -76,7 +76,7 @@ int main()
         testbuf<char> sb;
         std::ostream os(&sb);
         hex(os);
-        unsigned long long n = -10;
+        unsigned long long n = static_cast<unsigned long long>(-10);
         os << n;
         assert(sb.str() == "fffffffffffffff6");
     }

Modified: libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long.pass.cpp?rev=287826&r1=287825&r2=287826&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long.pass.cpp Wed Nov 23 16:02:44 2016
@@ -61,7 +61,7 @@ int main()
     }
     {
         std::ios ios(0);
-        unsigned long v = -1;
+        unsigned long v = static_cast<unsigned long>(-1);
         char str[50];
         output_iterator<char*> iter = f.put(output_iterator<char*>(str), ios, '*', v);
         std::string ex(str, iter.base());
@@ -69,7 +69,7 @@ int main()
     }
     {
         std::ios ios(0);
-        unsigned long v = -1000;
+        unsigned long v = static_cast<unsigned long>(-1000);
         char str[50];
         output_iterator<char*> iter = f.put(output_iterator<char*>(str), ios, '*', v);
         std::string ex(str, iter.base());
@@ -307,7 +307,7 @@ int main()
     {
         std::ios ios(0);
         ios.imbue(std::locale(std::locale::classic(), new my_numpunct));
-        unsigned long v = -1000;
+        unsigned long v = static_cast<unsigned long>(-1000);
         right(ios);
         showpos(ios);
         ios.width(10);
@@ -321,7 +321,7 @@ int main()
     {
         std::ios ios(0);
         ios.imbue(std::locale(std::locale::classic(), new my_numpunct));
-        unsigned long v = -1000;
+        unsigned long v = static_cast<unsigned long>(-1000);
         left(ios);
         ios.width(10);
         char str[50];
@@ -334,7 +334,7 @@ int main()
     {
         std::ios ios(0);
         ios.imbue(std::locale(std::locale::classic(), new my_numpunct));
-        unsigned long v = -1000;
+        unsigned long v = static_cast<unsigned long>(-1000);
         internal(ios);
         ios.width(10);
         char str[50];

Modified: libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long_long.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long_long.pass.cpp?rev=287826&r1=287825&r2=287826&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long_long.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long_long.pass.cpp Wed Nov 23 16:02:44 2016
@@ -61,7 +61,7 @@ int main()
     }
     {
         std::ios ios(0);
-        unsigned long long v = -1;
+        unsigned long long v = static_cast<unsigned long long>(-1);
         char str[50];
         output_iterator<char*> iter = f.put(output_iterator<char*>(str), ios, '*', v);
         std::string ex(str, iter.base());
@@ -69,7 +69,7 @@ int main()
     }
     {
         std::ios ios(0);
-        unsigned long long v = -1000;
+        unsigned long long v = static_cast<unsigned long long>(-1000);
         char str[50];
         output_iterator<char*> iter = f.put(output_iterator<char*>(str), ios, '*', v);
         std::string ex(str, iter.base());
@@ -307,7 +307,7 @@ int main()
     {
         std::ios ios(0);
         ios.imbue(std::locale(std::locale::classic(), new my_numpunct));
-        unsigned long long v = -1000;
+        unsigned long long v = static_cast<unsigned long long>(-1000);
         right(ios);
         showpos(ios);
         ios.width(10);
@@ -320,7 +320,7 @@ int main()
     {
         std::ios ios(0);
         ios.imbue(std::locale(std::locale::classic(), new my_numpunct));
-        unsigned long long v = -1000;
+        unsigned long long v = static_cast<unsigned long long>(-1000);
         left(ios);
         ios.width(10);
         char str[50];
@@ -332,7 +332,7 @@ int main()
     {
         std::ios ios(0);
         ios.imbue(std::locale(std::locale::classic(), new my_numpunct));
-        unsigned long long v = -1000;
+        unsigned long long v = static_cast<unsigned long long>(-1000);
         internal(ios);
         ios.width(10);
         char str[50];

Modified: libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_int.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_int.pass.cpp?rev=287826&r1=287825&r2=287826&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_int.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_int.pass.cpp Wed Nov 23 16:02:44 2016
@@ -45,7 +45,7 @@ int main()
 {
     const my_facet f(1);
     std::ios ios(0);
-    unsigned int v = -1;
+    unsigned int v = static_cast<unsigned int>(-1);
     {
         const char str[] = "0";
         std::ios_base::iostate err = ios.goodbit;

Modified: libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_long.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_long.pass.cpp?rev=287826&r1=287825&r2=287826&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_long.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_long.pass.cpp Wed Nov 23 16:02:44 2016
@@ -45,7 +45,7 @@ int main()
 {
     const my_facet f(1);
     std::ios ios(0);
-    unsigned long v = -1;
+    unsigned long v = static_cast<unsigned long>(-1);
     {
         const char str[] = "0";
         std::ios_base::iostate err = ios.goodbit;

Modified: libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_long_long.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_long_long.pass.cpp?rev=287826&r1=287825&r2=287826&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_long_long.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_long_long.pass.cpp Wed Nov 23 16:02:44 2016
@@ -45,7 +45,7 @@ int main()
 {
     const my_facet f(1);
     std::ios ios(0);
-    unsigned long long v = -1;
+    unsigned long long v = static_cast<unsigned long long>(-1);
     {
         const char str[] = "0";
         std::ios_base::iostate err = ios.goodbit;

Modified: libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_short.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_short.pass.cpp?rev=287826&r1=287825&r2=287826&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_short.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_short.pass.cpp Wed Nov 23 16:02:44 2016
@@ -45,7 +45,7 @@ int main()
 {
     const my_facet f(1);
     std::ios ios(0);
-    unsigned short v = -1;
+    unsigned short v = static_cast<unsigned short>(-1);
     {
         const char str[] = "0";
         std::ios_base::iostate err = ios.goodbit;




More information about the cfe-commits mailing list